diff --git a/app-emulation/qemu/additional-files/qemu.iom b/app-emulation/qemu/additional-files/qemu.iom new file mode 100644 index 000000000..d1c619465 Binary files /dev/null and b/app-emulation/qemu/additional-files/qemu.iom differ diff --git a/app-emulation/qemu/additional-files/qemu.rdef.in b/app-emulation/qemu/additional-files/qemu.rdef.in new file mode 100644 index 000000000..a664aa183 --- /dev/null +++ b/app-emulation/qemu/additional-files/qemu.rdef.in @@ -0,0 +1,48 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "QEMU", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E63696604050003FF6500050002011602313AE2BFFFFA41E7B733274A43D52F" + $"4BB69B0001FFFF07060AFF020FBFB820C6BE20B8B22020BFA620B8A920C6A3BF" + $"B8CC4CB8B2CC4CC205CC4CC608CAA2C42BCBB2C608CAA2C6B1CC4CC73DCBCBCB" + $"D2C9D1C757C9D1C757CB75C535CC6FBFA6CC6FC28BCC6FB8A90204C7FABAA9C7" + $"FAB6A8C7FABEAABF8EC1E8C435C1E8BAE7C1E8B721BAA9B721BEAAB721B6A8BF" + $"8EB369BAE7B369C435B3690204C261B838C261B765C261B90BC0E2B9B7C1B6B9" + $"B7C00FB9B7BF64B838BF64B90BBF64B765C0E2B6B9C00FB6B9C1B6B6B90A043C" + $"B8EFC6A4BA28C667BB63BDEBBA290A04C5CDBA8CC74CBA8CC74CBB35C5CDBB35" + $"06313FFFFFFFFDFFFFDAFBFDBFFF03BC58B515BC58B515BC55B594BB6DB5B7BB" + $"77B525BA77B549BB68B678BB80B65EBB68B678BB66BB53B676BB53B676BB48B6" + $"72BB1DB65BBB36B66BBA71B6E4B9BBB89EBA6DB801B947B999B8D6BBAFB92BBA" + $"AAB8ACBCAAB8C6BE9FB887BDA4B8D8BF6CB957C110B89DC081BA6BC1F2BC37C4" + $"21BB50C311BDA2C5DFBFFEC9B2BEE3C7BEC011C936C092CAC3C03FCAAAC075CA" + $"09C03EC7FCC050C8E1BFE2C5A5BE4BC131BEBAC383BE48C118BE40C0E4BE44C0" + $"FEBE40C0E4C09ABE37C09ABE37C09ABE13BF74BEDBBD52BE05BE38BFB5BC76C2" + $"00BBA6C0F9BC3FC23ABB84C2B6BB54C277BB68C2B7BB54C2B8BB54C2B7BB54C3" + $"6EBB1CC4EDBB3CC430BB1EC4EFBB3DC4F6BB3EC4F3BB3EC507BB41C52BBB47C5" + $"19BB44C5B5BB54C6FDBB2AC6CBBB8AC63EBA88C443BA53C52BBA93C41EBA4DC3" + $"C4BA41C3F1BA45C3C4BA41C2E0BA0EC2A8B9FFBA01BF79B963BF79B963BF6CB9" + $"57BF51B942BF5EB94BBF51B942C26BB9A4C26BB9A1C26BB9A1C287B9A7C2BFB9" + $"AFC2A3B9ACC2BFB9AFB9B1C4F0BA19C4F0BA19C551BA3DC619BA5EC5B8BA58C6" + $"B9BA7554BB6FC784BB64C79FBA74C5D4B9BAC6A4BA04C4E1B944C34FB801C376" + $"B948C345B7EBC32EB7BEC33BB7D4C32EB7BEC2D0B740C2D3B73FC2D3B73FC252" + $"B6A6C0DBB60DC19CB637C01B27BE79B56EBF43B588BE34B639BD41B539BDE7B4" + $"CEBCB0B54ABC58B515BCC4B571BC58B5150205AD6FAD25AD18AD28ADA4AD24AE" + $"1CAD43ADE0AD2EAEBDAD7AAF07AE49AF26ADEFAEE8AEA2ADABAE85AE4CAEBDAD" + $"0AAE4DACC0AD80ACA2ADDAACD4AD49060A020100000A030101000A000103000A" + $"000104000A01020506000A000102023FECC33B1635B9B4953E5B12422C04C1AC" + $"E8" +}; diff --git a/app-emulation/qemu/patches/qemu-2.11.0~git.patchset b/app-emulation/qemu/patches/qemu-2.11.1.patchset similarity index 82% rename from app-emulation/qemu/patches/qemu-2.11.0~git.patchset rename to app-emulation/qemu/patches/qemu-2.11.1.patchset index 4e34516e2..2d925372b 100644 --- a/app-emulation/qemu/patches/qemu-2.11.0~git.patchset +++ b/app-emulation/qemu/patches/qemu-2.11.1.patchset @@ -1,14 +1,14 @@ -From d4fab36828f7718ded418088518346100c480a67 Mon Sep 17 00:00:00 2001 +From bb78cb1ea77e985cc2fcc8dd2158c707b1717255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= Date: Sun, 20 Nov 2016 14:04:51 +0100 Subject: Haiku patches diff --git a/os-posix.c b/os-posix.c -index 92e9d85..8047238 100644 +index b9c2343..74c8418 100644 --- a/os-posix.c +++ b/os-posix.c -@@ -42,6 +42,15 @@ +@@ -41,6 +41,15 @@ #include #endif @@ -24,7 +24,7 @@ index 92e9d85..8047238 100644 static struct passwd *user_pwd; static const char *chroot_dir; static int daemonize; -@@ -328,11 +337,12 @@ bool is_daemonized(void) +@@ -327,11 +336,12 @@ bool is_daemonized(void) int os_mlock(void) { int ret = 0; @@ -164,10 +164,10 @@ index 7aa1d13..de7b7f5 100644 void xtensa_sim_open_console(Chardev *chr) diff --git a/tests/Makefile.include b/tests/Makefile.include -index f08b741..8ad99cc 100644 +index c002352..a2f09be 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include -@@ -810,7 +810,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF) +@@ -820,7 +820,7 @@ tests/migration/initrd-stress.img: tests/migration/stress$(EXESUF) rmdir $(INITRD_WORK_DIR) ifeq ($(CONFIG_POSIX),y) @@ -191,10 +191,10 @@ index 980bd33..31e01d6 100644 struct sigfd_compat_info { diff --git a/util/main-loop.c b/util/main-loop.c -index 2f48f41..e0350f6 100644 +index 7558eb5..54832d9 100644 --- a/util/main-loop.c +++ b/util/main-loop.c -@@ -81,7 +81,9 @@ static int qemu_signal_init(void) +@@ -82,7 +82,9 @@ static int qemu_signal_init(void) */ sigemptyset(&set); sigaddset(&set, SIG_IPI); @@ -205,7 +205,7 @@ index 2f48f41..e0350f6 100644 sigaddset(&set, SIGBUS); /* SIGINT cannot be handled via signalfd, so that ^C can be used diff --git a/util/oslib-posix.c b/util/oslib-posix.c -index 80086c5..09c3903 100644 +index 77369c9..bc58448 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -36,7 +36,9 @@ @@ -234,5 +234,43 @@ index 2e8b43b..adcc732 100644 #elif defined CONFIG_BSD # include -- -2.13.1 +2.16.1 + + +From 8c3f5e7ef24596ff85377eeb54df3538ede6dc3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Fri, 9 Feb 2018 18:00:24 +0100 +Subject: Haiku build fix + + +diff --git a/configure b/configure +index 0c6e757..4d131f0 100755 +--- a/configure ++++ b/configure +@@ -776,8 +776,8 @@ SunOS) + ;; + Haiku) + haiku="yes" +- QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS $QEMU_CFLAGS" +- LIBS="-lposix_error_mapper -lnetwork $LIBS" ++ QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE $QEMU_CFLAGS" ++ LIBS="-lposix_error_mapper -lnetwork -lbsd $LIBS" + ;; + Linux) + audio_drv_list="oss" +diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h +index 09c78fd..71daedb 100644 +--- a/include/qemu/bswap.h ++++ b/include/qemu/bswap.h +@@ -8,6 +8,8 @@ + # include + #elif defined(__FreeBSD__) + # include ++#elif defined(__HAIKU__) ++# include + #elif defined(CONFIG_BYTESWAP_H) + # include + +-- +2.16.1 diff --git a/app-emulation/qemu/qemu-2.11.0~git.recipe b/app-emulation/qemu/qemu-2.11.0~git.recipe deleted file mode 100644 index 5e584e42e..000000000 --- a/app-emulation/qemu/qemu-2.11.0~git.recipe +++ /dev/null @@ -1,134 +0,0 @@ -SUMMARY="A generic and open source machine emulator and virtualizer" -DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer. - -QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \ -different machine (e.g. your own PC). By using dynamic translation, it \ -achieves very good performance." -HOMEPAGE="http://wiki.qemu.org/" -COPYRIGHT="2003-2017 Fabrice Bellard" -LICENSE="GNU GPL v2" -REVISION="2" -gitCommit="223cd0e13f2e46078d7b573f0b8402bfbee339be" -SOURCE_URI="https://github.com/qemu/qemu/archive/$gitCommit.tar.gz" -CHECKSUM_SHA256="0f78dd97a24b258692bba7e0234cadb6a77b0a0a122d8f6e7313fd635210168c" -SOURCE_DIR="qemu-$gitCommit" -PATCHES="qemu-$portVersion.patchset" - -ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" -SECONDARY_ARCHITECTURES="?x86" - -PROVIDES=" - qemu$secondaryArchSuffix = $portVersion - cmd:qemu$secondaryArchSuffix = $portVersion - cmd:qemu_img$secondaryArchSuffix = $portVersion - cmd:qemu_io$secondaryArchSuffix = $portVersion - cmd:qemu_system_aarch64$secondaryArchSuffix = $portVersion - cmd:qemu_system_alpha$secondaryArchSuffix = $portVersion - cmd:qemu_system_arm$secondaryArchSuffix = $portVersion - cmd:qemu_system_cris$secondaryArchSuffix = $portVersion - cmd:qemu_system_i386$secondaryArchSuffix = $portVersion - cmd:qemu_system_lm32$secondaryArchSuffix = $portVersion - cmd:qemu_system_m68k$secondaryArchSuffix = $portVersion - cmd:qemu_system_microblaze$secondaryArchSuffix = $portVersion - cmd:qemu_system_microblazeel$secondaryArchSuffix = $portVersion - cmd:qemu_system_mips$secondaryArchSuffix = $portVersion - cmd:qemu_system_mips64$secondaryArchSuffix = $portVersion - cmd:qemu_system_mips64el$secondaryArchSuffix = $portVersion - cmd:qemu_system_mipsel$secondaryArchSuffix = $portVersion - cmd:qemu_system_moxie$secondaryArchSuffix = $portVersion - cmd:qemu_system_or32$secondaryArchSuffix = $portVersion - cmd:qemu_system_ppc$secondaryArchSuffix = $portVersion - cmd:qemu_system_ppc64$secondaryArchSuffix = $portVersion - cmd:qemu_system_ppcemb$secondaryArchSuffix = $portVersion - cmd:qemu_system_s390x$secondaryArchSuffix = $portVersion - cmd:qemu_system_sh4$secondaryArchSuffix = $portVersion - cmd:qemu_system_sh4eb$secondaryArchSuffix = $portVersion - cmd:qemu_system_sparc$secondaryArchSuffix = $portVersion - cmd:qemu_system_sparc64$secondaryArchSuffix = $portVersion - cmd:qemu_system_unicore32$secondaryArchSuffix = $portVersion - cmd:qemu_system_x86_64$secondaryArchSuffix = $portVersion - cmd:qemu_system_xtensa$secondaryArchSuffix = $portVersion - cmd:qemu_system_xtensaeb$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libbz2$secondaryArchSuffix - lib:libcurl$secondaryArchSuffix - lib:libfdt$secondaryArchSuffix - #lib:libgcrypt$secondaryArchSuffix - lib:libGL$secondaryArchSuffix - lib:libglib_2.0$secondaryArchSuffix - lib:libgnutls$secondaryArchSuffix - lib:libintl$secondaryArchSuffix - lib:libjpeg$secondaryArchSuffix - lib:liblzo2$secondaryArchSuffix - lib:libncursesw$secondaryArchSuffix - lib:libnettle$secondaryArchSuffix - lib:libpixman_1$secondaryArchSuffix - lib:libpng16$secondaryArchSuffix - lib:libsdl2_2.0$secondaryArchSuffix - lib:libsnappy$secondaryArchSuffix - lib:libssh2$secondaryArchSuffix - lib:libtasn1$secondaryArchSuffix - lib:libusb_1.0$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -BUILD_REQUIRES=" - devel:libbz2$secondaryArchSuffix - devel:libcurl$secondaryArchSuffix - devel:libfdt$secondaryArchSuffix - #devel:libgcrypt$secondaryArchSuffix - devel:libGL$secondaryArchSuffix - devel:libglib_2.0$secondaryArchSuffix - devel:libgnutls$secondaryArchSuffix - devel:libintl$secondaryArchSuffix - devel:libjpeg$secondaryArchSuffix - devel:liblzo2$secondaryArchSuffix - devel:libncursesw$secondaryArchSuffix - devel:libnettle$secondaryArchSuffix - devel:libpixman_1$secondaryArchSuffix - devel:libpng16$secondaryArchSuffix - devel:libsdl2_2.0$secondaryArchSuffix - devel:libsnappy$secondaryArchSuffix - devel:libssh2$secondaryArchSuffix - devel:libtasn1$secondaryArchSuffix - devel:libusb_1.0$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - haiku${secondaryArchSuffix}_devel - cmd:awk - cmd:gcc$secondaryArchSuffix - cmd:gcov$secondaryArchSuffix - cmd:gprof$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:make - cmd:find - cmd:pkg_config$secondaryArchSuffix - cmd:pod2man - cmd:python - " - -BUILD() -{ - export CFLAGS="-lbsd -lnetwork" - runConfigure --omit-buildspec ./configure \ - --disable-stack-protector \ - --target-list=i386-softmmu,x86_64-softmmu - # remove the line above to get all the supported targets - # aarch64-softmmu broken with --disable-stack-protector - make $jobArgs -} - -INSTALL() -{ - make install $jobArgs - - # provide convenience symlink to just "qemu" - if [ $effectiveTargetArchitecture == x86_64 ]; then - ln -s qemu-system-x86_64 $binDir/qemu - else - ln -s qemu-system-i386 $binDir/qemu - fi -} diff --git a/app-emulation/qemu/qemu-2.11.1.recipe b/app-emulation/qemu/qemu-2.11.1.recipe new file mode 100644 index 000000000..78e8943c6 --- /dev/null +++ b/app-emulation/qemu/qemu-2.11.1.recipe @@ -0,0 +1,181 @@ +SUMMARY="A generic and open source machine emulator and virtualizer" +DESCRIPTION="QEMU is a generic and open source machine emulator and virtualizer. + +QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a \ +different machine (e.g. your own PC). By using dynamic translation, it \ +achieves very good performance." +HOMEPAGE="http://wiki.qemu.org/" +COPYRIGHT="2003-2017 Fabrice Bellard" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://download.qemu.org/qemu-$portVersion.tar.xz" +CHECKSUM_SHA256="8a5145d1f8bd2eadc6776f3e13c68cd28d01349e30639bdbcb26ac588d668686" +SOURCE_DIR="qemu-$portVersion" +PATCHES="qemu-$portVersion.patchset" +ADDITIONAL_FILES="qemu.rdef.in" + +ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64" +SECONDARY_ARCHITECTURES="?x86" + +# On x86_gcc2 we don't want to install the commands in bin//, but in bin/. +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +PROVIDES=" + qemu$secondaryArchSuffix = $portVersion + cmd:qemu$commandSuffix = $portVersion + cmd:qemu_img$commandSuffix = $portVersion + cmd:qemu_io$commandSuffix = $portVersion +# cmd:qemu_system_aarch64$commandSuffix = $portVersion +# cmd:qemu_system_alpha$commandSuffix = $portVersion +# cmd:qemu_system_arm$commandSuffix = $portVersion +# cmd:qemu_system_cris$commandSuffix = $portVersion + cmd:qemu_system_i386$commandSuffix = $portVersion +# cmd:qemu_system_lm32$commandSuffix = $portVersion +# cmd:qemu_system_m68k$commandSuffix = $portVersion +# cmd:qemu_system_microblaze$commandSuffix = $portVersion +# cmd:qemu_system_microblazeel$commandSuffix = $portVersion +# cmd:qemu_system_mips$commandSuffix = $portVersion +# cmd:qemu_system_mips64$commandSuffix = $portVersion +# cmd:qemu_system_mips64el$commandSuffix = $portVersion +# cmd:qemu_system_mipsel$commandSuffix = $portVersion +# cmd:qemu_system_moxie$commandSuffix = $portVersion +# cmd:qemu_system_or32$commandSuffix = $portVersion +# cmd:qemu_system_ppc$commandSuffix = $portVersion +# cmd:qemu_system_ppc64$commandSuffix = $portVersion +# cmd:qemu_system_ppcemb$commandSuffix = $portVersion +# cmd:qemu_system_s390x$commandSuffix = $portVersion +# cmd:qemu_system_sh4$commandSuffix = $portVersion +# cmd:qemu_system_sh4eb$commandSuffix = $portVersion +# cmd:qemu_system_sparc$commandSuffix = $portVersion +# cmd:qemu_system_sparc64$commandSuffix = $portVersion +# cmd:qemu_system_unicore32$commandSuffix = $portVersion + cmd:qemu_system_x86_64$commandSuffix = $portVersion +# cmd:qemu_system_xtensa$commandSuffix = $portVersion +# cmd:qemu_system_xtensaeb$commandSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + cmd:iasl$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + lib:libcapstone$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libfdt$secondaryArchSuffix + lib:libgcrypt$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libglib_2.0$secondaryArchSuffix + lib:libgnutls$secondaryArchSuffix + lib:libgpg_error$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:liblzo2$secondaryArchSuffix + lib:libncursesw$secondaryArchSuffix + lib:libnettle$secondaryArchSuffix + lib:libpixman_1$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libsdl2_2.0$secondaryArchSuffix + lib:libsnappy$secondaryArchSuffix + lib:libssh2$secondaryArchSuffix + lib:libssp$secondaryArchSuffix + lib:libtasn1$secondaryArchSuffix + lib:libusb_1.0$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + devel:libbz2$secondaryArchSuffix + devel:libcapstone$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libfdt$secondaryArchSuffix + devel:libgcrypt$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + devel:libglib_2.0$secondaryArchSuffix + devel:libgnutls$secondaryArchSuffix + devel:libgpg_error$secondaryArchSuffix + devel:libintl$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:liblzo2$secondaryArchSuffix + devel:libncursesw$secondaryArchSuffix + devel:libnettle$secondaryArchSuffix + devel:libpixman_1$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libsdl2_2.0$secondaryArchSuffix + devel:libsnappy$secondaryArchSuffix + devel:libssh2$secondaryArchSuffix + devel:libtasn1$secondaryArchSuffix + devel:libusb_1.0$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel + cmd:awk + cmd:cmp + cmd:gcc$secondaryArchSuffix + cmd:gcov$secondaryArchSuffix + cmd:gprof$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:find + cmd:iasl$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + cmd:pod2man + cmd:python + " + +defineDebugInfoPackage qemu$secondaryArchSuffix \ + "$commandBinDir"/qemu-img \ + "$commandBinDir"/qemu-io \ + "$commandBinDir"/qemu-system-i386 \ + "$commandBinDir"/qemu-system-x86_64 + +BUILD() +{ + export CFLAGS="-I`finddir B_SYSTEM_HEADERS_DIRECTORY`/capstone" + + runConfigure --omit-dirs "binDir sbinDir" \ + --omit-buildspec ./configure \ + --bindir="$commandBinDir" --sbindir="$commandBinDir" \ + --enable-capstone=system \ + --enable-gcrypt \ + --disable-tpm \ + --disable-strip \ + --target-list=i386-softmmu,x86_64-softmmu + # remove the line above to get all the supported targets + # aarch64-softmmu broken with --disable-stack-protector + + make $jobArgs +} + +INSTALL() +{ + make install $jobArgs + + local APP_SIGNATURE="application/x-vnd.qemu" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/qemu.rdef.in > qemu.rdef + + addResourcesToBinaries qemu.rdef $commandBinDir/qemu-system-i386 + if [ "$effectiveTargetArchitecture" = x86_64 ]; then + addResourcesToBinaries qemu.rdef $commandBinDir/qemu-system-x86_64 + fi + + # provide convenience symlink to just "qemu" + if [ "$effectiveTargetArchitecture" = x86_64 ]; then + ln -s qemu-system-x86_64 $commandBinDir/qemu + else + ln -s qemu-system-i386 $commandBinDir/qemu + fi +}