AQEMU: add recipe for version 0.9.2

* disabled as it can't find its resources and generally needs a bit of work
This commit is contained in:
Sergei Reznikov
2017-12-05 10:06:03 +03:00
parent 48adfbdd60
commit 4f83f6d600
3 changed files with 186 additions and 0 deletions

View File

@@ -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@";

View File

@@ -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
}

View File

@@ -0,0 +1,87 @@
From 0703306f350d2bcc6a3658d8868df86986df58dc Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
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<VM_USB> &list )
return true;
}
-#include <sys/sysinfo.h>
+//#include <sys/sysinfo.h>
#include <QDir>
#include <QFileInfoList>
@@ -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<QString, Available_Devices> Emulator_QEMU_2_0;
private:
- #ifdef Q_OS_LINUX
+ #if defined Q_OS_LINUX || defined Q_OS_HAIKU
static bool Scan_USB_Sys( QList<VM_USB> &list );
static bool Scan_USB_Proc( QList<VM_USB> &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