diff --git a/app-emulation/aqemu/additional-files/aqemu.rdef.in b/app-emulation/aqemu/additional-files/aqemu.rdef.in new file mode 100644 index 000000000..51624e91a --- /dev/null +++ b/app-emulation/aqemu/additional-files/aqemu.rdef.in @@ -0,0 +1,17 @@ + +resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "AQEMU", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + diff --git a/app-emulation/aqemu/aqemu-0.9.2.recipe b/app-emulation/aqemu/aqemu-0.9.2.recipe new file mode 100644 index 000000000..8d6a651a9 --- /dev/null +++ b/app-emulation/aqemu/aqemu-0.9.2.recipe @@ -0,0 +1,82 @@ +SUMMARY="A GUI for virtual machines using QEMU as the backend" +DESCRIPTION="AQEMU is a Qt5 graphical interface used to manage QEMU and KVM \ +virtual machines. It has a user-friendly interface and allows one to set up \ +the majority of QEMU and KVM options." +HOMEPAGE="https://github.com/tobimensch/aqemu/" +COPYRIGHT="2008-2017 Andrey Rijov" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://github.com/tobimensch/aqemu/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="e3d54de00ebdce3754f97f7e0e7cce8cebb588e8ce6bc249401cc909281b08de" +PATCHES="aqemu-$portVersion.patchset" +ADDITIONAL_FILES="aqemu.rdef.in" + +ARCHITECTURES="!x86_gcc2 ?x86_64" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + aqemu$secondaryArchSuffix = $portVersion + app:AQEMU$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + qemu$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Test$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libvncclient$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libvncserver$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Network$secondaryArchSuffix + devel:libQt5PrintSupport$secondaryArchSuffix + devel:libQt5Test$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:make + cmd:gcc$secondaryArchSuffix + " + +BUILD() +{ + mkdir -p build + cd build + cmake $cmakeDirArgs .. + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + mkdir -p $appsDir/AQEMU + mv $prefix/bin/aqemu $appsDir/AQEMU/AQEMU + mv $prefix/share/aqemu/* $appsDir/AQEMU + rm -rf $binDir $prefix/share + + # Add Haiku resources + local APP_SIGNATURE="application/x-vnd.qt5-aqemu" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + $portDir/additional-files/aqemu.rdef.in > aqemu.rdef + + addResourcesToBinaries aqemu.rdef $appsDir/AQEMU/AQEMU + addAppDeskbarSymlink $appsDir/AQEMU/AQEMU +} diff --git a/app-emulation/aqemu/patches/aqemu-0.9.2.patchset b/app-emulation/aqemu/patches/aqemu-0.9.2.patchset new file mode 100644 index 000000000..21110f17d --- /dev/null +++ b/app-emulation/aqemu/patches/aqemu-0.9.2.patchset @@ -0,0 +1,87 @@ +From 0703306f350d2bcc6a3658d8868df86986df58dc Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Tue, 5 Dec 2017 09:27:36 +0300 +Subject: Fix build on Haiku + + +diff --git a/src/Add_Port_Window.cpp b/src/Add_Port_Window.cpp +index 116122c..9839aa8 100644 +--- a/src/Add_Port_Window.cpp ++++ b/src/Add_Port_Window.cpp +@@ -32,6 +32,10 @@ Add_Port_Window::Add_Port_Window( QWidget *parent ) + #ifdef Q_OS_UNIX + ui.RB_stdio->setEnabled( true ); + #endif ++ ++ #ifdef Q_OS_HAIKU ++ ui.RB_stdio->setEnabled( true ); ++ #endif + + #ifdef Q_OS_LINUX + ui.RB_pty->setEnabled( true ); +diff --git a/src/System_Info.cpp b/src/System_Info.cpp +index fcbc984..5e368a5 100644 +--- a/src/System_Info.cpp ++++ b/src/System_Info.cpp +@@ -2098,7 +2098,7 @@ bool System_Info::Delete_From_Used_USB_List( const VM_USB &device ) + return Used_Host_USB.removeOne( device ); + } + +-#ifdef Q_OS_LINUX ++#if defined Q_OS_LINUX || defined Q_OS_HAIKU + + bool System_Info::Update_Host_USB() + { +@@ -2503,7 +2503,7 @@ bool System_Info::Scan_USB_Proc( QList &list ) + return true; + } + +-#include ++//#include + #include + #include + +@@ -2595,12 +2595,12 @@ void System_Info::Get_Free_Memory_Size( int &allRAM, int &freeRAM ) + } + + // If proc fs not exists +- struct sysinfo sysInfo; ++/* struct sysinfo sysInfo; + sysinfo( &sysInfo ); + + allRAM = (int)(unsigned long)(sysInfo.totalram * sysInfo.mem_unit) / 1024.0 / 1024.0; + freeRAM = (int)(unsigned long)((sysInfo.freeram + sysInfo.bufferram) * sysInfo.mem_unit) / 1024.0 / 1024.0; +-} ++*/} + + QStringList System_Info::Get_Host_FDD_List() + { +diff --git a/src/System_Info.h b/src/System_Info.h +index d0e2f35..fe325f7 100644 +--- a/src/System_Info.h ++++ b/src/System_Info.h +@@ -59,7 +59,7 @@ class System_Info + static QMap Emulator_QEMU_2_0; + + private: +- #ifdef Q_OS_LINUX ++ #if defined Q_OS_LINUX || defined Q_OS_HAIKU + static bool Scan_USB_Sys( QList &list ); + static bool Scan_USB_Proc( QList &list ); + static bool Read_SysFS_File( const QString &path, QString &data ); +diff --git a/src/main.cpp b/src/main.cpp +index 40a3c61..ace8799 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -240,7 +240,7 @@ int main( int argc, char *argv[] ) + // Find Data Folder + if( settings.value("AQEMU_Data_Folder", "").toString().isEmpty() ) + { +- #ifdef Q_OS_WIN32 ++ #if defined Q_OS_WIN32 || defined Q_OS_HAIKU + if( QDir(QDir::currentPath() + "\\os_icons").exists() && + QDir(QDir::currentPath() + "\\os_templates").exists() ) + { +-- +2.15.0 +