From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- app-emulation/Manifest.gz | Bin 20837 -> 20698 bytes app-emulation/buildah/Manifest | 8 +- app-emulation/buildah/buildah-1.14.10.ebuild | 47 ++ app-emulation/buildah/buildah-1.14.5.ebuild | 47 -- app-emulation/buildah/buildah-1.14.6.ebuild | 47 -- app-emulation/buildah/buildah-1.15.1.ebuild | 47 ++ app-emulation/cloud-init/Manifest | 2 +- app-emulation/cloud-init/cloud-init-20.1.ebuild | 2 +- app-emulation/conmon/Manifest | 4 + app-emulation/conmon/conmon-2.0.19.ebuild | 45 ++ app-emulation/conmon/conmon-2.0.20.ebuild | 45 ++ app-emulation/cri-o/Manifest | 16 +- app-emulation/cri-o/cri-o-1.10.6.ebuild | 105 --- app-emulation/cri-o/cri-o-1.13.9.ebuild | 112 --- app-emulation/cri-o/cri-o-1.15.1.ebuild | 107 --- app-emulation/cri-o/cri-o-1.15.2.ebuild | 107 --- app-emulation/cri-o/cri-o-1.16.3.ebuild | 97 --- app-emulation/cri-o/cri-o-1.17.0.ebuild | 95 --- app-emulation/cri-o/cri-o-1.18.3.ebuild | 95 +++ app-emulation/cri-o/metadata.xml | 3 - app-emulation/crossover-bin/Manifest | 47 -- .../crossover-bin/crossover-bin-12.5.0-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-12.5.1-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.0.0-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.0.1-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.1.0-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.1.2-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.1.3-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-13.2.0-r2.ebuild | 132 ---- .../crossover-bin/crossover-bin-14.0.3-r1.ebuild | 136 ---- .../crossover-bin/crossover-bin-14.1.4-r1.ebuild | 136 ---- .../crossover-bin/crossover-bin-15.0.0.ebuild | 145 ---- .../crossover-bin/crossover-bin-15.0.1.ebuild | 148 ---- .../crossover-bin/crossover-bin-15.1.0.ebuild | 148 ---- .../crossover-bin/crossover-bin-15.2.0.ebuild | 151 ---- .../crossover-bin/crossover-bin-15.3.0.ebuild | 150 ---- .../crossover-bin/crossover-bin-15.3.1.ebuild | 150 ---- .../crossover-bin/crossover-bin-16.0.0.ebuild | 150 ---- .../crossover-bin/crossover-bin-16.2.5.ebuild | 150 ---- .../crossover-bin/crossover-bin-17.5.0-r1.ebuild | 150 ---- .../crossover-bin/crossover-bin-17.5.0.ebuild | 149 ---- .../crossover-bin/crossover-bin-17.5.1.ebuild | 160 ---- .../crossover-bin/crossover-bin-18.0.0.ebuild | 174 ----- .../crossover-bin/crossover-bin-18.1.0.ebuild | 174 ----- .../crossover-bin/crossover-bin-18.5.0-r1.ebuild | 179 ----- app-emulation/crun/Manifest | 8 +- app-emulation/crun/crun-0.13.ebuild | 73 -- app-emulation/crun/crun-0.14.1.ebuild | 79 ++ ...ec-deduplicate-json_common-in-makefile-am.patch | 31 - app-emulation/crun/metadata.xml | 9 +- app-emulation/diskimage-builder/Manifest | 2 + .../diskimage-builder-3.2.1.ebuild | 39 + app-emulation/docker-compose/Manifest | 10 +- .../docker-compose/docker-compose-1.25.4-r1.ebuild | 68 -- .../docker-compose/docker-compose-1.25.4-r2.ebuild | 68 -- .../docker-compose/docker-compose-1.25.5.ebuild | 2 +- .../docker-compose-1.27.0_rc1.ebuild | 73 ++ .../docker-compose-1.27.0_rc2.ebuild | 73 ++ .../files/docker-compose-1.27.0_rc1-setup-py.patch | 67 ++ app-emulation/docker/Manifest | 4 +- app-emulation/docker/docker-19.03.12.ebuild | 314 ++++++++ app-emulation/docker/docker-19.03.8.ebuild | 314 -------- app-emulation/fuse-utils/Manifest | 3 +- .../fuse-utils/files/remove-local-prefix.patch | 22 + app-emulation/fuse-utils/fuse-utils-1.4.3.ebuild | 13 +- app-emulation/fuse/Manifest | 5 +- app-emulation/fuse/files/remove-local-prefix.patch | 18 + app-emulation/fuse/fuse-1.5.6.ebuild | 13 +- app-emulation/fuse/fuse-1.5.7.ebuild | 13 +- app-emulation/gallium-nine-standalone/Manifest | 8 +- .../gallium-nine-standalone/files/0.5-flags.patch | 28 - .../files/0.7-cross-files.patch | 34 + .../gallium-nine-standalone-0.5.ebuild | 109 --- .../gallium-nine-standalone-0.7.ebuild | 110 +++ .../gallium-nine-standalone-9999.ebuild | 5 +- app-emulation/ganeti/Manifest | 3 +- .../ganeti/files/ganeti-2.15-disable-docs.patch | 44 ++ app-emulation/ganeti/ganeti-2.15.2-r10.ebuild | 386 ---------- app-emulation/ganeti/ganeti-2.15.2-r11.ebuild | 389 ++++++++++ app-emulation/libpod/Manifest | 6 + app-emulation/libpod/libpod-2.0.2.ebuild | 154 ++++ app-emulation/libpod/libpod-2.0.3.ebuild | 154 ++++ app-emulation/libpod/libpod-2.0.4.ebuild | 154 ++++ app-emulation/libspectrum/Manifest | 3 +- .../libspectrum/files/remove-local-prefix.patch | 18 + app-emulation/libspectrum/libspectrum-1.4.4.ebuild | 11 + app-emulation/libvirt/Manifest | 20 +- ...irt-1.2.16-fix_paths_in_libvirt-guests_sh.patch | 19 - .../libvirt-5.2.0-fix-paths-for-apparmor.patch | 116 --- ...d-the-agent-job-in-qemuDomainSetTimeAgent.patch | 39 - .../files/libvirt-6.2.0-do-not-use-sysconfig.patch | 325 -------- .../files/libvirt-6.5.0-do-not-use-sysconfig.patch | 245 ++++++ app-emulation/libvirt/files/libvirtd.init-r18 | 33 - app-emulation/libvirt/files/virtlockd.init-r1 | 23 - app-emulation/libvirt/files/virtlogd.init-r1 | 23 - app-emulation/libvirt/libvirt-6.0.0-r3.ebuild | 360 --------- app-emulation/libvirt/libvirt-6.1.0-r1.ebuild | 358 --------- app-emulation/libvirt/libvirt-6.2.0-r2.ebuild | 2 +- app-emulation/libvirt/libvirt-6.5.0.ebuild | 355 +++++++++ app-emulation/libvirt/libvirt-9999.ebuild | 137 ++-- app-emulation/libvirt/metadata.xml | 3 - app-emulation/lxc/Manifest | 6 +- app-emulation/lxc/lxc-4.0.2-r2.ebuild | 160 ---- app-emulation/lxc/lxc-4.0.3.ebuild | 4 +- app-emulation/lxc/lxc-4.0.4.ebuild | 171 +++++ app-emulation/lxd/Manifest | 14 +- app-emulation/lxd/files/lxd-4.0.0.service | 20 + app-emulation/lxd/files/lxd-4.0.0.socket | 12 + app-emulation/lxd/files/lxd-4.0.0_apparmor.service | 21 + app-emulation/lxd/files/lxd-4.0.1-clang.patch | 76 -- .../lxd/files/lxd-containers-4.0.0.service | 16 + app-emulation/lxd/files/lxd.service | 10 - app-emulation/lxd/lxd-4.0.1.ebuild | 206 ----- app-emulation/lxd/lxd-4.0.2-r1.ebuild | 210 +++++ app-emulation/lxd/lxd-4.0.2.ebuild | 204 ----- app-emulation/lxd/lxd-4.0.3.ebuild | 208 +++++ app-emulation/lxd/metadata.xml | 37 +- app-emulation/pcem/Manifest | 4 +- app-emulation/pcem/metadata.xml | 2 +- app-emulation/pcem/pcem-16.ebuild | 4 +- app-emulation/playonlinux/Manifest | 10 - .../files/playonlinux-4.2.4-binary-plugin.patch | 17 - .../files/playonlinux-4.2.4-pol-bash.patch | 35 - .../playonlinux-4.2.6-stop-update-warning.patch | 17 - app-emulation/playonlinux/files/playonlinux-pkg.1 | 33 - app-emulation/playonlinux/files/playonlinux.1 | 33 - app-emulation/playonlinux/metadata.xml | 15 - .../playonlinux/playonlinux-4.2.12.ebuild | 118 --- .../playonlinux/playonlinux-4.3.4-r1.ebuild | 108 --- app-emulation/protontricks/Manifest | 2 +- .../protontricks/protontricks-1.4.1-r1.ebuild | 2 +- app-emulation/punes/Manifest | 6 +- app-emulation/punes/punes-0.104.ebuild | 52 -- app-emulation/punes/punes-0.105.ebuild | 57 -- app-emulation/punes/punes-0.106.ebuild | 58 ++ app-emulation/qemu-riscv64-bin/Manifest | 2 + .../qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild | 22 + app-emulation/qemu/Manifest | 16 +- app-emulation/qemu/files/qemu-2.5.0-cflags.patch | 13 - .../qemu/files/qemu-4.2.0-ati-vga-crash.patch | 94 --- .../qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch | 35 + .../qemu-5.1.0-pixman-for-vhost-user-gpu.patch | 62 ++ app-emulation/qemu/metadata.xml | 6 +- app-emulation/qemu/qemu-4.2.0-r6.ebuild | 834 -------------------- app-emulation/qemu/qemu-5.0.0-r1.ebuild | 841 ++++++++++++++++++++ app-emulation/qemu/qemu-5.0.0-r2.ebuild | 844 +++++++++++++++++++++ app-emulation/qemu/qemu-5.0.0.ebuild | 837 -------------------- app-emulation/qemu/qemu-5.1.0.ebuild | 843 ++++++++++++++++++++ app-emulation/qemu/qemu-9999.ebuild | 17 +- app-emulation/slirp4netns/Manifest | 4 + app-emulation/slirp4netns/slirp4netns-1.1.3.ebuild | 40 + app-emulation/slirp4netns/slirp4netns-1.1.4.ebuild | 40 + app-emulation/spice-protocol/Manifest | 2 +- .../spice-protocol/spice-protocol-0.14.1.ebuild | 2 +- app-emulation/spice/Manifest | 2 +- app-emulation/spice/spice-0.14.3.ebuild | 2 +- app-emulation/vagrant/Manifest | 2 +- app-emulation/vagrant/metadata.xml | 5 +- app-emulation/virt-manager/Manifest | 2 +- .../virt-manager/virt-manager-2.2.1-r3.ebuild | 2 +- app-emulation/virtio-win/Manifest | 2 + .../virtio-win/virtio-win-0.1.187.1.ebuild | 22 + app-emulation/virtualbox-additions/Manifest | 10 +- .../virtualbox-additions-5.2.44.ebuild | 33 + .../virtualbox-additions-6.0.20.ebuild | 34 - .../virtualbox-additions-6.0.24.ebuild | 34 + .../virtualbox-additions-6.1.12.ebuild | 34 + .../virtualbox-additions-6.1.6.ebuild | 34 - app-emulation/virtualbox-bin/Manifest | 21 +- .../virtualbox-bin-5.2.44.139111.ebuild | 287 +++++++ .../virtualbox-bin-6.0.20.137117.ebuild | 292 ------- .../virtualbox-bin-6.0.24.139119.ebuild | 292 +++++++ .../virtualbox-bin-6.1.12.139181.ebuild | 292 +++++++ .../virtualbox-bin-6.1.6.137129.ebuild | 292 ------- app-emulation/virtualbox-extpack-oracle/Manifest | 10 +- .../virtualbox-extpack-oracle-5.2.44.139111.ebuild | 42 + .../virtualbox-extpack-oracle-6.0.20.137117.ebuild | 43 -- .../virtualbox-extpack-oracle-6.0.24.139119.ebuild | 43 ++ .../virtualbox-extpack-oracle-6.1.12.139181.ebuild | 43 ++ .../virtualbox-extpack-oracle-6.1.6.137129.ebuild | 43 -- app-emulation/virtualbox-guest-additions/Manifest | 23 +- .../virtualbox-guest-additions-5.2.40-r1.ebuild | 229 ++++++ .../virtualbox-guest-additions-5.2.40.ebuild | 229 ------ .../virtualbox-guest-additions-5.2.42-r1.ebuild | 232 ++++++ .../virtualbox-guest-additions-5.2.42.ebuild | 232 ------ .../virtualbox-guest-additions-5.2.44-r1.ebuild | 232 ++++++ .../virtualbox-guest-additions-6.0.20.ebuild | 216 ------ .../virtualbox-guest-additions-6.0.22-r1.ebuild | 218 ++++++ .../virtualbox-guest-additions-6.0.22.ebuild | 219 ------ .../virtualbox-guest-additions-6.0.24-r1.ebuild | 219 ++++++ .../virtualbox-guest-additions-6.1.10-r1.ebuild | 218 ++++++ .../virtualbox-guest-additions-6.1.10.ebuild | 218 ------ .../virtualbox-guest-additions-6.1.12a-r1.ebuild | 221 ++++++ .../virtualbox-guest-additions-6.1.6.ebuild | 215 ------ app-emulation/virtualbox-modules/Manifest | 18 +- .../virtualbox-modules-5.2.40-r1.ebuild | 59 ++ .../virtualbox-modules-5.2.40.ebuild | 59 -- .../virtualbox-modules-5.2.42-r1.ebuild | 59 ++ .../virtualbox-modules-5.2.42.ebuild | 59 -- .../virtualbox-modules-5.2.44-r1.ebuild | 59 ++ .../virtualbox-modules-6.0.20.ebuild | 55 -- .../virtualbox-modules-6.0.22-r1.ebuild | 55 ++ .../virtualbox-modules-6.0.22.ebuild | 55 -- .../virtualbox-modules-6.0.24-r1.ebuild | 55 ++ .../virtualbox-modules-6.1.10-r1.ebuild | 55 ++ .../virtualbox-modules-6.1.10.ebuild | 55 -- .../virtualbox-modules-6.1.12-r1.ebuild | 55 ++ .../virtualbox-modules-6.1.6.ebuild | 55 -- app-emulation/virtualbox/Manifest | 17 +- .../files/virtualbox-6.0.20-qt-5.15.patch | 82 -- .../files/virtualbox-6.1.6-qt-5.15.patch | 10 - app-emulation/virtualbox/virtualbox-5.2.44.ebuild | 493 ++++++++++++ app-emulation/virtualbox/virtualbox-6.0.20.ebuild | 513 ------------- app-emulation/virtualbox/virtualbox-6.0.24.ebuild | 507 +++++++++++++ app-emulation/virtualbox/virtualbox-6.1.12a.ebuild | 509 +++++++++++++ app-emulation/virtualbox/virtualbox-6.1.6.ebuild | 510 ------------- app-emulation/vkd3d/Manifest | 2 + .../vkd3d/files/vkd3d-1.1-Fix-build.patch | 22 + app-emulation/vkd3d/vkd3d-1.1-r1.ebuild | 43 ++ app-emulation/wine-staging/Manifest | 25 +- .../wine-staging/wine-staging-5.10-r1.ebuild | 620 --------------- .../wine-staging/wine-staging-5.11.ebuild | 621 --------------- .../wine-staging/wine-staging-5.12.ebuild | 621 +++++++++++++++ .../wine-staging/wine-staging-5.13.ebuild | 621 +++++++++++++++ .../wine-staging/wine-staging-5.14.ebuild | 621 +++++++++++++++ .../wine-staging/wine-staging-5.15.ebuild | 621 +++++++++++++++ app-emulation/wine-staging/wine-staging-5.8.ebuild | 620 --------------- app-emulation/wine-staging/wine-staging-5.9.ebuild | 621 --------------- app-emulation/wine-vanilla/Manifest | 14 +- .../wine-vanilla/wine-vanilla-5.0.2.ebuild | 538 +++++++++++++ .../wine-vanilla/wine-vanilla-5.10.ebuild | 539 ------------- .../wine-vanilla/wine-vanilla-5.11.ebuild | 539 ------------- .../wine-vanilla/wine-vanilla-5.13.ebuild | 539 +++++++++++++ .../wine-vanilla/wine-vanilla-5.14.ebuild | 539 +++++++++++++ .../wine-vanilla/wine-vanilla-5.15.ebuild | 539 +++++++++++++ app-emulation/wine-vanilla/wine-vanilla-5.9.ebuild | 540 ------------- app-emulation/winetricks/Manifest | 6 +- app-emulation/winetricks/metadata.xml | 2 +- .../winetricks/winetricks-20200412.ebuild | 5 +- .../winetricks/winetricks-99999999.ebuild | 7 +- app-emulation/xen-pvgrub/Manifest | 6 +- app-emulation/xen-pvgrub/xen-pvgrub-4.12.2.ebuild | 150 ---- app-emulation/xen-pvgrub/xen-pvgrub-4.14.0.ebuild | 155 ++++ .../xen-pvgrub/xen-pvgrub-4.14.0_rc3.ebuild | 156 ---- app-emulation/xen-tools/Manifest | 18 +- app-emulation/xen-tools/files/gentoo-patches.conf | 12 +- app-emulation/xen-tools/xen-tools-4.12.2-r1.ebuild | 491 ------------ app-emulation/xen-tools/xen-tools-4.12.3-r1.ebuild | 500 ------------ app-emulation/xen-tools/xen-tools-4.12.3-r2.ebuild | 500 ++++++++++++ app-emulation/xen-tools/xen-tools-4.13.1-r1.ebuild | 505 ------------ app-emulation/xen-tools/xen-tools-4.13.1-r2.ebuild | 505 ++++++++++++ app-emulation/xen-tools/xen-tools-4.14.0.ebuild | 510 +++++++++++++ .../xen-tools/xen-tools-4.14.0_rc3.ebuild | 506 ------------ app-emulation/xen/Manifest | 12 +- app-emulation/xen/xen-4.12.3-r1.ebuild | 165 ---- app-emulation/xen/xen-4.12.3-r2.ebuild | 165 ++++ app-emulation/xen/xen-4.13.1-r1.ebuild | 165 ---- app-emulation/xen/xen-4.13.1-r2.ebuild | 165 ++++ app-emulation/xen/xen-4.14.0.ebuild | 165 ++++ app-emulation/xen/xen-4.14.0_rc3.ebuild | 166 ---- 260 files changed, 17894 insertions(+), 20302 deletions(-) create mode 100644 app-emulation/buildah/buildah-1.14.10.ebuild delete mode 100644 app-emulation/buildah/buildah-1.14.5.ebuild delete mode 100644 app-emulation/buildah/buildah-1.14.6.ebuild create mode 100644 app-emulation/buildah/buildah-1.15.1.ebuild create mode 100644 app-emulation/conmon/conmon-2.0.19.ebuild create mode 100644 app-emulation/conmon/conmon-2.0.20.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.10.6.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.13.9.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.15.1.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.15.2.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.16.3.ebuild delete mode 100644 app-emulation/cri-o/cri-o-1.17.0.ebuild create mode 100644 app-emulation/cri-o/cri-o-1.18.3.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.1.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.2.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.3.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-15.3.1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-16.0.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-16.2.5.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-17.5.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-18.0.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-18.1.0.ebuild delete mode 100644 app-emulation/crossover-bin/crossover-bin-18.5.0-r1.ebuild delete mode 100644 app-emulation/crun/crun-0.13.ebuild create mode 100644 app-emulation/crun/crun-0.14.1.ebuild delete mode 100644 app-emulation/crun/files/libocispec-deduplicate-json_common-in-makefile-am.patch create mode 100644 app-emulation/diskimage-builder/diskimage-builder-3.2.1.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.25.4-r1.ebuild delete mode 100644 app-emulation/docker-compose/docker-compose-1.25.4-r2.ebuild create mode 100644 app-emulation/docker-compose/docker-compose-1.27.0_rc1.ebuild create mode 100644 app-emulation/docker-compose/docker-compose-1.27.0_rc2.ebuild create mode 100644 app-emulation/docker-compose/files/docker-compose-1.27.0_rc1-setup-py.patch create mode 100644 app-emulation/docker/docker-19.03.12.ebuild delete mode 100644 app-emulation/docker/docker-19.03.8.ebuild create mode 100644 app-emulation/fuse-utils/files/remove-local-prefix.patch create mode 100644 app-emulation/fuse/files/remove-local-prefix.patch delete mode 100644 app-emulation/gallium-nine-standalone/files/0.5-flags.patch create mode 100644 app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch delete mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.5.ebuild create mode 100644 app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild create mode 100644 app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch delete mode 100644 app-emulation/ganeti/ganeti-2.15.2-r10.ebuild create mode 100644 app-emulation/ganeti/ganeti-2.15.2-r11.ebuild create mode 100644 app-emulation/libpod/libpod-2.0.2.ebuild create mode 100644 app-emulation/libpod/libpod-2.0.3.ebuild create mode 100644 app-emulation/libpod/libpod-2.0.4.ebuild create mode 100644 app-emulation/libspectrum/files/remove-local-prefix.patch delete mode 100644 app-emulation/libvirt/files/libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch delete mode 100644 app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch delete mode 100644 app-emulation/libvirt/files/libvirt-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch delete mode 100644 app-emulation/libvirt/files/libvirt-6.2.0-do-not-use-sysconfig.patch create mode 100644 app-emulation/libvirt/files/libvirt-6.5.0-do-not-use-sysconfig.patch delete mode 100644 app-emulation/libvirt/files/libvirtd.init-r18 delete mode 100644 app-emulation/libvirt/files/virtlockd.init-r1 delete mode 100644 app-emulation/libvirt/files/virtlogd.init-r1 delete mode 100644 app-emulation/libvirt/libvirt-6.0.0-r3.ebuild delete mode 100644 app-emulation/libvirt/libvirt-6.1.0-r1.ebuild create mode 100644 app-emulation/libvirt/libvirt-6.5.0.ebuild delete mode 100644 app-emulation/lxc/lxc-4.0.2-r2.ebuild create mode 100644 app-emulation/lxc/lxc-4.0.4.ebuild create mode 100644 app-emulation/lxd/files/lxd-4.0.0.service create mode 100644 app-emulation/lxd/files/lxd-4.0.0.socket create mode 100644 app-emulation/lxd/files/lxd-4.0.0_apparmor.service delete mode 100644 app-emulation/lxd/files/lxd-4.0.1-clang.patch create mode 100644 app-emulation/lxd/files/lxd-containers-4.0.0.service delete mode 100644 app-emulation/lxd/files/lxd.service delete mode 100644 app-emulation/lxd/lxd-4.0.1.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.2-r1.ebuild delete mode 100644 app-emulation/lxd/lxd-4.0.2.ebuild create mode 100644 app-emulation/lxd/lxd-4.0.3.ebuild delete mode 100644 app-emulation/playonlinux/Manifest delete mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch delete mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch delete mode 100644 app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch delete mode 100644 app-emulation/playonlinux/files/playonlinux-pkg.1 delete mode 100644 app-emulation/playonlinux/files/playonlinux.1 delete mode 100644 app-emulation/playonlinux/metadata.xml delete mode 100644 app-emulation/playonlinux/playonlinux-4.2.12.ebuild delete mode 100644 app-emulation/playonlinux/playonlinux-4.3.4-r1.ebuild delete mode 100644 app-emulation/punes/punes-0.104.ebuild delete mode 100644 app-emulation/punes/punes-0.105.ebuild create mode 100644 app-emulation/punes/punes-0.106.ebuild create mode 100644 app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild delete mode 100644 app-emulation/qemu/files/qemu-2.5.0-cflags.patch delete mode 100644 app-emulation/qemu/files/qemu-4.2.0-ati-vga-crash.patch create mode 100644 app-emulation/qemu/files/qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch create mode 100644 app-emulation/qemu/files/qemu-5.1.0-pixman-for-vhost-user-gpu.patch delete mode 100644 app-emulation/qemu/qemu-4.2.0-r6.ebuild create mode 100644 app-emulation/qemu/qemu-5.0.0-r1.ebuild create mode 100644 app-emulation/qemu/qemu-5.0.0-r2.ebuild delete mode 100644 app-emulation/qemu/qemu-5.0.0.ebuild create mode 100644 app-emulation/qemu/qemu-5.1.0.ebuild create mode 100644 app-emulation/slirp4netns/slirp4netns-1.1.3.ebuild create mode 100644 app-emulation/slirp4netns/slirp4netns-1.1.4.ebuild create mode 100644 app-emulation/virtio-win/virtio-win-0.1.187.1.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-5.2.44.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.0.20.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild delete mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.6.ebuild create mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-5.2.44.139111.ebuild delete mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-6.0.20.137117.ebuild create mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-6.0.24.139119.ebuild create mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-6.1.12.139181.ebuild delete mode 100644 app-emulation/virtualbox-bin/virtualbox-bin-6.1.6.137129.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.44.139111.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.20.137117.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild delete mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.6.137129.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.44-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.20.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.6.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.40-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.40.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.42-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.42.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-5.2.44-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.20.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.22-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.22.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.10-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.10.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild delete mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.6.ebuild delete mode 100644 app-emulation/virtualbox/files/virtualbox-6.0.20-qt-5.15.patch delete mode 100644 app-emulation/virtualbox/files/virtualbox-6.1.6-qt-5.15.patch create mode 100644 app-emulation/virtualbox/virtualbox-5.2.44.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.0.20.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-6.0.24.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-6.1.12a.ebuild delete mode 100644 app-emulation/virtualbox/virtualbox-6.1.6.ebuild create mode 100644 app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch create mode 100644 app-emulation/vkd3d/vkd3d-1.1-r1.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.10-r1.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.11.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.12.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.13.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.14.ebuild create mode 100644 app-emulation/wine-staging/wine-staging-5.15.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.8.ebuild delete mode 100644 app-emulation/wine-staging/wine-staging-5.9.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.0.2.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.10.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.11.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.13.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.15.ebuild delete mode 100644 app-emulation/wine-vanilla/wine-vanilla-5.9.ebuild delete mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.12.2.ebuild create mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.14.0.ebuild delete mode 100644 app-emulation/xen-pvgrub/xen-pvgrub-4.14.0_rc3.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.12.2-r1.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.12.3-r1.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.12.3-r2.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.13.1-r1.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.13.1-r2.ebuild create mode 100644 app-emulation/xen-tools/xen-tools-4.14.0.ebuild delete mode 100644 app-emulation/xen-tools/xen-tools-4.14.0_rc3.ebuild delete mode 100644 app-emulation/xen/xen-4.12.3-r1.ebuild create mode 100644 app-emulation/xen/xen-4.12.3-r2.ebuild delete mode 100644 app-emulation/xen/xen-4.13.1-r1.ebuild create mode 100644 app-emulation/xen/xen-4.13.1-r2.ebuild create mode 100644 app-emulation/xen/xen-4.14.0.ebuild delete mode 100644 app-emulation/xen/xen-4.14.0_rc3.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index f6d5db577802..ca8513d69c92 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/buildah/Manifest b/app-emulation/buildah/Manifest index 40fa6b5a2d7e..434dada768be 100644 --- a/app-emulation/buildah/Manifest +++ b/app-emulation/buildah/Manifest @@ -1,7 +1,7 @@ -DIST buildah-1.14.5.tar.gz 11023227 BLAKE2B ebd6cecfc6fa4635ae662dddc722a350fd0b9c87c3d4d67f8010d5ea070270da4f4cd5759612b84d55ecd27b90904950b96471d75057bc6b7d45989312ebec8e SHA512 759d2ba26af43d6ff7ee891f88114a0cde6307439f7837343bfa6edba2473805f0f2e584264e8be01b9f0af07b1fd323243af5feeb9535ada4475ce53a980ff6 -DIST buildah-1.14.6.tar.gz 11104320 BLAKE2B fa618e095523e853454170504aa2747d29e8bec16282eb4bdcf9d8ddeccceeb7ad706d0d127dc621ef0840136737b328c31d9b6b2f9bd1b734beb6d24a15bea3 SHA512 869addbd41c115ca92eab30133c76cd0d449184e95f3b64fa57ad84f50834e6f6189bd1a7e4871aba270b96bf69192ff00da7f0e086439c811c5093342ac14d2 +DIST buildah-1.14.10.tar.gz 10660400 BLAKE2B 5ee35cd90d652da8b30a01ae34aa73d68b2c531ac72017be87f6381717e1a59da6a9eccfcbab3b046a2a1a2b1c3e66e404ff6fab85a6d54a55320c6a6a405dca SHA512 5e9e1fd0f2c75b9846c1d457cfec3bf546b7e0683ea27607479c6ef5dacc8fd977ce57a885ef5ba14db0876ee47ffd8d3c54e349fe3375743a8bf70618c2c057 DIST buildah-1.14.8.tar.gz 10660799 BLAKE2B b32375900c3509b88ae37366f1d2e2b593d0705cabf74c305bf0838f8e22ef9805e37b6bbe1a054d9fc3e48fa5c086fd0524362d570742eec846fb4b079c74d5 SHA512 8cc64d8262ffe3727f4c32051f4f3456ab0b54f221ce6d144a301b732170eb487dc356f4e056c804ca9806172e60920239b62800a0aac2dc5de83cd656ea97f3 -EBUILD buildah-1.14.5.ebuild 1124 BLAKE2B 30c1cbfe0c90d0f93c2ec25cc49cea13503329a65dc92e17da10bc3ef3c926514f09c52c6a9297aa2315365de6c28d219d671ba47e276d12a4a9109348408dc2 SHA512 1eb7b89fe046fe1f02850b3451a9a125a34c4adfc20cbaa3f11053e3ee31c7504850e6519fcb912ced3ea9be9bcff7cc6b98fa2745f26e8720a57eae1b015c3c -EBUILD buildah-1.14.6.ebuild 1125 BLAKE2B 916ae6de2bdac9991a2b04489cc6f06afa422c12f006c5c460bab00433e4fa3ea346368c5f0a9ffa5db458f84f94ff084ecf3a7ace70e84de2abbd1ab5f97eb5 SHA512 3d85d286096c7e8ab3d123c63d97bff19b536b5a116842f5c57dfae1eef15e6beb42946dfc490012c6b96e909dd94dae602e3efe78babc81cfb40eab0c2cbd39 +DIST buildah-1.15.1.tar.gz 10344892 BLAKE2B e84f8d245536f8864f057f576d92c218420ac975fabfbdc8b6bf591c2ef43494d49fe9095320a07de450f2ea64d046aa4ad680f08be80210e0dce1ffa874a286 SHA512 61cbe91867dc664a9e76b367e0f99bf5c797c68dda7182ed43c6a6a5a72a0f0519e45db6b2746b26933d829834757cc93bdbd30c62ce6a947ee546dbc1f930be +EBUILD buildah-1.14.10.ebuild 1127 BLAKE2B b5e1e175571322ed8d5941165f323447e8ca0fbbec96279d28af82629cd1bc813073d67488c029a729eebd69f697f2160b831def2f94ee1c34c071fb10e1dd46 SHA512 1a66b6f0e7cd5f41d782b1e0b6a724bf79955ebe19322f2b7122b172f9909eec41ab74b109b281d1656efb259927d9c3dc5c0b63720eb32191704e314720a5a1 EBUILD buildah-1.14.8.ebuild 1127 BLAKE2B 741f08120fa2bbcc63bf3aa0c9bf0902fcee9793801e844e1b1dbed1a4455bf9a9557ac9691e0a1446bbcaaa2d0034f7d01ee23c05a9d3dc8e0d5690b1e3b7e0 SHA512 5fa88e3d2f46673d76ebacb9afc2db86129c6a8a0bce7f9e79d31cb68594802cab1389ee9559835a73d480dc693fbcd0cdafd27a8bf407063ba2a87746a78091 +EBUILD buildah-1.15.1.ebuild 1129 BLAKE2B 1aa6fb0deaa96dece4d116db4cbf7724edb4e138e3918d0c1d4a6a6771a1409f5bfce8ea4b09897e6c12e14dad3ea835aa2a2d78eb603232bfaab798655fcc84 SHA512 c75c60019d75cdc954ba4105ef905d165a5dc654c82aca8fe6b3b108a4262a3b342dd18aabeb9269aeb9089a8f2550b4eecc226af4535ebb9a5c6c2972c0b2d6 MISC metadata.xml 327 BLAKE2B cd14ee5c563ac21da34ce7728d2d12b797374bc43c50f4a9923d773ae4e010d4930793a0f0ecf610bb798fb3f1b7cd567944cf9895258e9244c3852969ac2406 SHA512 bed26d87edba20ed9385633b70b8bc23fc046ed95aa9b608400933ed4199594f6d0461854060a68b42d33a9b7be0d1b61f52e22e0d3b6d2c2248f58442094711 diff --git a/app-emulation/buildah/buildah-1.14.10.ebuild b/app-emulation/buildah/buildah-1.14.10.ebuild new file mode 100644 index 000000000000..7439b8eff82a --- /dev/null +++ b/app-emulation/buildah/buildah-1.14.10.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit bash-completion-r1 go-module + +KEYWORDS="~amd64" +DESCRIPTION="A tool that facilitates building OCI images" +HOMEPAGE="https://github.com/containers/buildah" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="selinux" +EGIT_COMMIT="v${PV}" +GIT_COMMIT=42ef63f0 +SRC_URI="https://github.com/containers/buildah/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +RDEPEND="app-crypt/gpgme:= + app-emulation/skopeo + dev-libs/libgpg-error:= + dev-libs/libassuan:= + sys-fs/lvm2:= + sys-libs/libseccomp:= + selinux? ( sys-libs/libselinux:= )" +DEPEND="${RDEPEND}" +RESTRICT+=" test" + +src_prepare() { + default + [[ -f selinux_tag.sh ]] || die + use selinux || { echo -e "#!/bin/sh\ntrue" > \ + selinux_tag.sh || die; } +} + +src_compile() { + emake GIT_COMMIT=${GIT_COMMIT} all +} + +src_install() { + dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md + doman docs/*.1 + dodoc -r docs/tutorials + dobin ${PN} imgtype + dobashcomp contrib/completions/bash/buildah +} + +src_test() { + emake test-unit +} diff --git a/app-emulation/buildah/buildah-1.14.5.ebuild b/app-emulation/buildah/buildah-1.14.5.ebuild deleted file mode 100644 index 079c23170d2a..000000000000 --- a/app-emulation/buildah/buildah-1.14.5.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module - -KEYWORDS="~amd64" -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="selinux" -EGIT_COMMIT="v${PV}" -GIT_COMMIT=5247a1f -SRC_URI="https://github.com/containers/buildah/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -RDEPEND="app-crypt/gpgme:= - app-emulation/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" -RESTRICT="test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin ${PN} imgtype - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-emulation/buildah/buildah-1.14.6.ebuild b/app-emulation/buildah/buildah-1.14.6.ebuild deleted file mode 100644 index fe2402a5756a..000000000000 --- a/app-emulation/buildah/buildah-1.14.6.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit bash-completion-r1 go-module - -KEYWORDS="~amd64" -DESCRIPTION="A tool that facilitates building OCI images" -HOMEPAGE="https://github.com/containers/buildah" -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -IUSE="selinux" -EGIT_COMMIT="v${PV}" -GIT_COMMIT=09cce629 -SRC_URI="https://github.com/containers/buildah/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" -RDEPEND="app-crypt/gpgme:= - app-emulation/skopeo - dev-libs/libgpg-error:= - dev-libs/libassuan:= - sys-fs/lvm2:= - sys-libs/libseccomp:= - selinux? ( sys-libs/libselinux:= )" -DEPEND="${RDEPEND}" -RESTRICT="test" - -src_prepare() { - default - [[ -f selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - selinux_tag.sh || die; } -} - -src_compile() { - emake GIT_COMMIT=${GIT_COMMIT} all -} - -src_install() { - dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md - doman docs/*.1 - dodoc -r docs/tutorials - dobin ${PN} imgtype - dobashcomp contrib/completions/bash/buildah -} - -src_test() { - emake test-unit -} diff --git a/app-emulation/buildah/buildah-1.15.1.ebuild b/app-emulation/buildah/buildah-1.15.1.ebuild new file mode 100644 index 000000000000..dc0c95b69733 --- /dev/null +++ b/app-emulation/buildah/buildah-1.15.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit bash-completion-r1 go-module + +KEYWORDS="~amd64" +DESCRIPTION="A tool that facilitates building OCI images" +HOMEPAGE="https://github.com/containers/buildah" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +IUSE="selinux" +EGIT_COMMIT="v${PV}" +GIT_COMMIT=c967e88ef6 +SRC_URI="https://github.com/containers/buildah/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +RDEPEND="app-crypt/gpgme:= + app-emulation/skopeo + dev-libs/libgpg-error:= + dev-libs/libassuan:= + sys-fs/lvm2:= + sys-libs/libseccomp:= + selinux? ( sys-libs/libselinux:= )" +DEPEND="${RDEPEND}" +RESTRICT+=" test" + +src_prepare() { + default + [[ -f selinux_tag.sh ]] || die + use selinux || { echo -e "#!/bin/sh\ntrue" > \ + selinux_tag.sh || die; } +} + +src_compile() { + emake GIT_COMMIT=${GIT_COMMIT} all +} + +src_install() { + dodoc CHANGELOG.md CONTRIBUTING.md README.md install.md troubleshooting.md + doman docs/*.1 + dodoc -r docs/tutorials + dobin ${PN} imgtype + dobashcomp contrib/completions/bash/buildah +} + +src_test() { + emake test-unit +} diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest index ec907f95cf89..17fc063c48d6 100644 --- a/app-emulation/cloud-init/Manifest +++ b/app-emulation/cloud-init/Manifest @@ -8,6 +8,6 @@ AUX cloud-init-20.1-gentoo-support-upstream-templates.patch 3505 BLAKE2B 6f4b754 DIST cloud-init-19.4.tar.gz 1091893 BLAKE2B 2ab8fef70b420c066d6d8f83871568eeac24f00879ecf3d58c3768dd809cff6a3b79c7e72d9a10204002101049ab86ab64f0c524362e00497a9222960ef380df SHA512 e69ea47eab41d69d64fa44102fbde59319da5f71a68f28a0f6ac65cd6866542b4fe58a71b84c903cfa9b1d2f26eb648cdf4de633b8df61e4f89c9fa4c2a2b1d3 DIST cloud-init-20.1.tar.gz 1088152 BLAKE2B 1c075676bcf7454965beafaaa38f3cdf08f321ddd0303b7f710c49d2a69e0fb2ec8a81870a632b7504c47af6436555c97ea9fa9c8416955de78f8f551b5509b7 SHA512 ad28e4a0290165308ef2cdb8a935778ad99039978a204bee1098460de006bc3f375a3b81d0d72971fc4f4195d5d2ade9c648fb19e6d6eba12decf750dc54b6eb EBUILD cloud-init-19.4.ebuild 2552 BLAKE2B a95aca51ab2d3c1562c9f9f0a8f92ae8ae56d08734d92cf516d18adc004fdf4a7726efbdd207d8c52458aeca69b1507b783397223d0c5cf5697118d736098fe4 SHA512 59b7100764eb6ed249e4a4376d291c020d6edb5c39fe7d58355c057372ecf11aaefbe477ec1e9bb4b052d688fba10100cd279bca1a22b6bbe2763fae76e299f5 -EBUILD cloud-init-20.1.ebuild 2721 BLAKE2B 48889920205267745f0121e26ae4708783c080d8c67bd2718a2f7d49d2c8dbd57b53d409b6ced1b41f282542f51abbb0561465566ec40509aa610d14999bc459 SHA512 2df1f9a6e82f962221b6304fd7efe8c1fb953266f8d7ddf99268966e0426cb0d729bf94e95d6a8c2bb4e869440f13a8442984ebe512190f7aa5a974c01a6f519 +EBUILD cloud-init-20.1.ebuild 2726 BLAKE2B af1467d6ce233f5420cc27bd8685c100aac086e8ddba6ee7b2fd5cf8f345694f4032a80a7d1cb53204d15a6dbe609e3368b68d8681ef629e486838dd100971f2 SHA512 b80a7c115557cde63fa22cda0435bbb00093bfb78a98be2244175d85d3fda2fc7c7973aa7310fefa2dadd2d1339db276833bb0835d131100ca3cca790a054796 EBUILD cloud-init-9999.ebuild 2721 BLAKE2B 48889920205267745f0121e26ae4708783c080d8c67bd2718a2f7d49d2c8dbd57b53d409b6ced1b41f282542f51abbb0561465566ec40509aa610d14999bc459 SHA512 2df1f9a6e82f962221b6304fd7efe8c1fb953266f8d7ddf99268966e0426cb0d729bf94e95d6a8c2bb4e869440f13a8442984ebe512190f7aa5a974c01a6f519 MISC metadata.xml 769 BLAKE2B 4a6e831e4cd77a81826f3d8a1f16603ece81cb75261a0dfb0b4ff2cea47a4458abf3f7fb5d61672a3bbe38d538b8ba827fd50a7c9c12ef69a69107216e923c29 SHA512 760c8e7a756438fc511eb6959b0ce50cf58e0df6e553e3634a233c2bd95ad0a04310be96ee6ce392eb97e12d2d8760399ab135c4c9eb97b0dd9cd62aeecd1859 diff --git a/app-emulation/cloud-init/cloud-init-20.1.ebuild b/app-emulation/cloud-init/cloud-init-20.1.ebuild index f1f5ed321e91..15cdfecdd9cf 100644 --- a/app-emulation/cloud-init/cloud-init-20.1.ebuild +++ b/app-emulation/cloud-init/cloud-init-20.1.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]];then EGIT_REPO_URI="https://git.launchpad.net/cloud-init" else SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~arm64 x86" fi DESCRIPTION="Cloud instance initialisation magic" diff --git a/app-emulation/conmon/Manifest b/app-emulation/conmon/Manifest index 5d5c43dba4e8..acda7211f361 100644 --- a/app-emulation/conmon/Manifest +++ b/app-emulation/conmon/Manifest @@ -1,7 +1,11 @@ DIST conmon-2.0.15.tar.gz 61983 BLAKE2B c29de3c9df41b9f27fc2a0f0ac64c1ce27e5dbb21c9a74b060516692a910be4370f7cc4b6225e0243b809fd36848515b28017cb1766cc032a48d7e14b9a72726 SHA512 8310236045d8678bdd07bfd5a56f7ad1e9a01019e27ed8d24dcb83b4489240adce9e118a4fccb6cb0c0f3c31a0272d75bdafba9c50130903d87b7cb68288b470 DIST conmon-2.0.16.tar.gz 62372 BLAKE2B 0f02689e6ca25ee2f8cdf649f60ed70ac25648dd35af765a5fd97573dd9c176d115b97cea0ea10521f055a92f0775430113f53724fc772d62630dc7daa05b4a7 SHA512 8f44b2426e3fdbb6ca0279b35262f5584c44898843daf6b64d54c3a87dcdfaf9a7283ad38973e6e0f7333ec37236ef7de1de03a3006f5f2593fdb8aff70e5e6c DIST conmon-2.0.18.tar.gz 63721 BLAKE2B 68b698687931bae0945d90f3c11025e1228e12d5dfba9dc9227e4d962234e50e9d775d1def0e5de1f55dbddf476449b131e4e17f83a9834fa472662a7d58ffac SHA512 1ab3e9675f16cd50e9f0fe83d473e8a91828485078add4eeb6bfb600cf3b8d0809f742a79f260aa793914e484f4f4d6c6ab287e0faa3a50f4d2a1da94a855248 +DIST conmon-2.0.19.tar.gz 64578 BLAKE2B 60ae41063525b7b64e6c501f61f4938093517974096e79fdc99648a52871b9ee8f635cda704ed32a1aa7a725812c8637ec7f424581fb68c26aaf2eddc11160a8 SHA512 7a68ebfaeee146282694db893d8981c60f29e5ba7d2e0569eda248eaa39ba628b4eb46ca93d9f608764f1af89e1294acf63c5ebc52a88ee07f8fe57a76ea9f1c +DIST conmon-2.0.20.tar.gz 64716 BLAKE2B d7eb464f5be0b117824571134f08077955f56e1637dd2cbc6b70413dc9a6f109a1b9b207f5523103f205659ac20cc65f5f2340475d771fdf4b852d6895887975 SHA512 b719e41e1ead0d38c0874a30901c5660dc8612dc7aa1c025068480846a1e458a744b55bb8d5d74d2c2ce38fdbbe03505fce216a2f2c0748740983e3272a82f0e EBUILD conmon-2.0.15.ebuild 984 BLAKE2B c2486e7ee6acf3fdc0c5736891c3ab711db0ac822e4d5c5cc1a0202c3bb4b35bc9679079e7e78d6905a7f51d84caee5ad2d4aafbf667078af0d3245f5a2a4610 SHA512 fc282cc1bf20553d6948825d42a22deee3f08b0b93e991883be3de5ee5ef4d0d19d9244cb20a9cf54b9f613dac3ab6a0cb4b708e110d5a660e83bdbba6f15cba EBUILD conmon-2.0.16.ebuild 984 BLAKE2B 81e155f05e044b404ea55ce798d815fc220e56850ecbc6a6180d3670f3afc7650054e50f98b15f17e27714944b99614ed0dd7f981d303fbd4793be6f4388f941 SHA512 dd7532e31641fa83aa0dd040bc8cedd543ee0c9c94d6f3daab67d8f16de153b907912063cf4c5a95f3dfab5096bf8ef3284e5ffc6100082a76b753af5cdc2f3f EBUILD conmon-2.0.18.ebuild 984 BLAKE2B 631662ad595109f56178d1bc54535087ea2bdf591dc5ad4f33b8d020bd7e6797e076f32ec4e9cb2591d0c75926c424f771959497d6f9094ac1f7fbdcb89cb3d8 SHA512 cc0a4bf81a5fbe1073eff025644ed2886fdfa974d276b8d0eb6f50277e23ffc4a200fdef03452b50ef93c80c1180fff7dad5f956e4895d2622866e16898c50a9 +EBUILD conmon-2.0.19.ebuild 984 BLAKE2B b335f2ff586fac1cc7aebfc8539a170f1fae3fe4c0e51577fc4e4228b59b99026a62ccf28f0fda6ee8ef0ee7c50a8874ea3126444e4c9a08c1d0c738d814793c SHA512 3984771d6f412337c94ad709781b6055b6d1f6d89d056dd18f4e7c9a2cc070948ad902d414d799459fb83eaa75c3ba4a3e16b14cad92be4697e1e27347d6b9e4 +EBUILD conmon-2.0.20.ebuild 984 BLAKE2B 99207147c55fae1524cde0044a889cf6d74011f73de920c75035abaa8b40a6edf03e944b720ba0f02ef72e383f163aa99cbe291e936e44a355b254953e961df0 SHA512 1a327d848cc6b227e50d7d1fed25e8b3b32764d6110a3c6d6e2eea40f740222f75bc7eaba1cf384e4789abf591ec544b26e0bf0ff99ca8ff1fe9e2faeb97f808 MISC metadata.xml 326 BLAKE2B 88e40bbfd92c360f7ed559dc1f3ebe8d35a4905c413de8208a72e255e531d32f61dea3ad710b3a2743df01b29f3f5426440beff3ffcd59139d6f5ce118c17557 SHA512 0709bf7dd7300225974bbf974a3c90c27a368ae6862e080c95f0fb30f314b94c0502258773649fe2cdeba22ad9f5c0d29d000f95e8f7d961e9cdfbea108b4775 diff --git a/app-emulation/conmon/conmon-2.0.19.ebuild b/app-emulation/conmon/conmon-2.0.19.ebuild new file mode 100644 index 000000000000..5a10a5b8cba6 --- /dev/null +++ b/app-emulation/conmon/conmon-2.0.19.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="25585dd8e8ebff68baa00f695115eff4191ca1f9" +DESCRIPTION="An OCI container runtime monitor" +HOMEPAGE="https://github.com/containers/conmon" +SRC_URI="https://github.com/containers/conmon/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="systemd" +RESTRICT="test" + +RDEPEND="dev-libs/glib:= + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${PN}-${EGIT_COMMIT}" + +src_prepare() { + default + + if ! use systemd; then + sed -e 's| $(PKG_CONFIG) --exists libsystemd-journal | false |' \ + -e 's| $(PKG_CONFIG) --exists libsystemd | false |' \ + -i Makefile || die + fi +} + +src_compile() { + emake GIT_COMMIT="${EGIT_COMMIT}" \ + all +} + +src_install() { + emake DESTDIR="${D}" \ + PREFIX="/usr" \ + install + dodir /usr/libexec/podman + ln "${ED}/usr/"{bin,libexec/podman}/conmon || die + dodoc README.md +} diff --git a/app-emulation/conmon/conmon-2.0.20.ebuild b/app-emulation/conmon/conmon-2.0.20.ebuild new file mode 100644 index 000000000000..6ffff8db482a --- /dev/null +++ b/app-emulation/conmon/conmon-2.0.20.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="13244db638cf987c415298a3c23393ae5abeb885" +DESCRIPTION="An OCI container runtime monitor" +HOMEPAGE="https://github.com/containers/conmon" +SRC_URI="https://github.com/containers/conmon/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="systemd" +RESTRICT="test" + +RDEPEND="dev-libs/glib:= + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${PN}-${EGIT_COMMIT}" + +src_prepare() { + default + + if ! use systemd; then + sed -e 's| $(PKG_CONFIG) --exists libsystemd-journal | false |' \ + -e 's| $(PKG_CONFIG) --exists libsystemd | false |' \ + -i Makefile || die + fi +} + +src_compile() { + emake GIT_COMMIT="${EGIT_COMMIT}" \ + all +} + +src_install() { + emake DESTDIR="${D}" \ + PREFIX="/usr" \ + install + dodir /usr/libexec/podman + ln "${ED}/usr/"{bin,libexec/podman}/conmon || die + dodoc README.md +} diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest index b777481ccb45..3494e66c6207 100644 --- a/app-emulation/cri-o/Manifest +++ b/app-emulation/cri-o/Manifest @@ -1,17 +1,7 @@ AUX cri-o.logrotated 81 BLAKE2B f17d96920c3e9bbfe68a38fcae49be999c0edcea085ebbc1f09585284c5b7930c185d5cd0ef6c2f7de5db2a6af80355518628a050c1cb0639ccf3b53c6c338da SHA512 1115228546a696eeebeb6d4b3e5c3152af0c99a2559097fc5829d8b416d979c457b4b1789e0120054babf57f585d3f63cbe49949d40417ae7aab613184bf4516 AUX crio.initd 846 BLAKE2B 844400d3cd706d4f78616edb3c8a50a9819ee21aecc7fc33f7d3d00871fde86b59e4b604ccc7cdb0058b10ccd28277f19dbdce34c83b2529c14e063126318617 SHA512 29561e95398975748236217bbd9df64997f6e3de6c0555d007306bd0535895a648368385a13079eb7d52c06249a91980523a73b6563e86d0575d9cd9c3fa4ee9 -DIST cri-o-1.10.6.tar.gz 5161858 BLAKE2B bbfaf60c92dee3a9f42e9d4fc9b5482057a7a0ff2de36d74d434e2e60b53f92f70980c83825c18089c4a48bfa01c164b77aa01506c68c763f00265796e07d367 SHA512 b6a412cf5859dab79095732c2528e2ba373b3c21740203441fd3646862e2458e78e71f1895a5def05207964ef96a354c04395356e426600994bb39d3adfd0894 -DIST cri-o-1.13.9.tar.gz 6685519 BLAKE2B 5d9e68c7a0ae532e2406e5e47562693cddbc34a8b3ddcab0a7a34509dff8383d1fc255cba634efb186193e5784cc6a7638387ca29e68288af7621b8b25f1a71a SHA512 1541368955c62c697dbd6b850cdf6762a13a7a308f699e3a50dbfe29fbf991f4f47cfcce75bc41745e0c27acb29457ec86d3312ef13341a5d94526865e60eb3e -DIST cri-o-1.15.1.tar.gz 11811389 BLAKE2B 2f6e223e2d3964f480e9739ee4808101ae2ca8c0a16eb589d2e3501d370c60694843309b602a4a4b8e16ed97094f97c81ff4f23b542a9536b38f9fe9a97bcd97 SHA512 2b9122692d84e8a6832d7172782c41d354185809cd3fa999951485f8df8fd1750dd15b2005fbb3bc422f5199daeb32a768e824402c9e95f25593e250bd7ecc07 -DIST cri-o-1.15.2.tar.gz 11861335 BLAKE2B 159bdf322540c3d49f44b1fc1106d1717706f7817e4621743078dfbb5d9088318d7dda5da54ff94ed43ea58204413d496ffda424ea94ed6fd0c6e090bbba37f0 SHA512 d30a27d98537cd73bf341267922b94434958bf5e5d3a26de3af2b7899fd9d860be12a194531f81fb704abed79eac1c5139271fab1e52b994b939dafab00f1cfd -DIST cri-o-1.16.3.tar.gz 12274620 BLAKE2B e297996184e765a89cc68adbb531eb249ad74804b05d233b4730fe56cb530e2d6d7f44ecf6939730a055acff43b0bdec13fd40583fcf003740e6dacc9770d868 SHA512 cf3d8748696e14a9fe7bb1f4e4ed5532a84367e1de42da89e1c85c33f249525a42000c74445b1f6859099a43d4076c4078efe5990a7e663795121d54d1ee1354 -DIST cri-o-1.17.0.tar.gz 10528650 BLAKE2B ba1240e602be576eb74bd9dd0c7b5d0ae3c78172902c74725ce3b85b90c739a79cf260b9ab441bc632eba85951ff1968a946824dd20849bb9ccae268b76e3fec SHA512 08b1ede35d44dd72f7a20ef02e3d27198d349d05b3fd41fc319bfba44dafdaf1843c1a6b04cd4d07ad80b5d2022376a8173b7459658a3c22011970561a1af308 DIST cri-o-1.17.1.tar.gz 10532728 BLAKE2B 12747b0161ca2fa7dc7e95fd4c000b9011402e65dac0885ed59a37a87b53907044d3b3c873d6fe82186313af6745e463ce84be259dae99793c6363794c76e16f SHA512 1548c4b20081e8f1af772b0b0fadd0f1b63af641283bef8b8cd8478bd626699c23b30b39fe460660776bc7e6509e85db73d1d7e0d030dd7bd3dbfe319c82e332 -EBUILD cri-o-1.10.6.ebuild 2889 BLAKE2B 1dfaa54c22db81ef2dd51604465b4f0e030a0fb13249d4a31483648b6ce09b694ba1032310e58afca7e38230a2d0ee024e0ce0f57bb465f26dbafc36512cf36d SHA512 80d938b1c63f2499eb7acc992bbbd668a70f596f82c492360acaf2148cf0ad26959623aed55648b19179dc3db407d42952572726a056ee335a366086790bd5fc -EBUILD cri-o-1.13.9.ebuild 3114 BLAKE2B 15fe25488ff4309d6fa4f1fe43e26380353d0f65fcce4a5cfb423af3d86cf6888da05f337ff799ad42256f9c40603f2a20dc4d2e3741bef64279a475c2ebe337 SHA512 6d8697a6e56795854582df64ae26eb116232e7e79e1217e154d02fcb0270bf2dcea111192270dab27ad8aa41ff11494a82a021cf5b0201251d0844562ad55a42 -EBUILD cri-o-1.15.1.ebuild 2914 BLAKE2B a7a7305cc116f348bbcbe68751f89aef1f75c28c960f0dd1c9503e21fa9a6edf3bd77edd69e9704c1f27116cc37d1254a26bdac6c404f5d15725cdf62be270fb SHA512 054721cef63a25757926bbc84ce8d04f3e452ac630ae61e96859bb636174c35fc29d8367b7d2a141883bbd5d912df74d334f4edb3b83a823d54e4df514653556 -EBUILD cri-o-1.15.2.ebuild 2914 BLAKE2B a7a7305cc116f348bbcbe68751f89aef1f75c28c960f0dd1c9503e21fa9a6edf3bd77edd69e9704c1f27116cc37d1254a26bdac6c404f5d15725cdf62be270fb SHA512 054721cef63a25757926bbc84ce8d04f3e452ac630ae61e96859bb636174c35fc29d8367b7d2a141883bbd5d912df74d334f4edb3b83a823d54e4df514653556 -EBUILD cri-o-1.16.3.ebuild 2576 BLAKE2B 95a9088bebd4a5f1848f5367152fc924116a9b8e1925c6757a825b64285abb23076521012dadf3490928cd1c716f68bed1a1f8fb4d4954b256a52afdb656acaa SHA512 e522a1135dcf8d119d06a85b938bd0eef9196ccbf6f24b0f8d05ca8b39797b9e6d94643f320e8383d8a2b286b0c02d6ccd3348959ae9576f400e903cb5f30f1b -EBUILD cri-o-1.17.0.ebuild 2547 BLAKE2B e80f2c540d5b5ada86a0ff5c90b28023bc4072b1228750a5d4bfd9bd36b35e1f829227f4f4992932e04a29133785930ac70b65370b00ab0b9164ee9e3beab5c9 SHA512 ee1ce8ddf14893e4a760164ed6119e9b7b0abcf1d3271cccb9b1a7ee3234220333881356859e5710e3236a2e7b82887e4100af470e1893037c6076aa8f9dcfae +DIST cri-o-1.18.3.tar.gz 11210469 BLAKE2B 16a9ed89c594c082e18d5a08ba1f87eaed600b95baed1e36c5b718e9dbaf52c7b482dbf6dba94a1cbc5e02f3dc58f0f21236b6b11c65fa60666d654e28c793fd SHA512 28798d0a46a9fe361fa2e57f350375abe2a66b955447d667a0a51b39034d73f98abf06371ccf5ea27dfcad38dc46907a2fe9583b94c9a0092ad18b2485b12640 EBUILD cri-o-1.17.1.ebuild 2547 BLAKE2B be9c8bd54a3cdfd9b9d8ba11aa58b23d26c7c58fbbb1430af0844a8356397e418972c08210f664c2c52c10529712e40f7a1a7e1dec12ae1f15c0750a6adf3d9c SHA512 02c7d53cc10c501849bf0bef5d523ab3a746f7e8c0888d732a5427dc7e5edcfacd076e93bbedb444bcb999017ed2bbbc1ad805dbbc6ae9c2458d649ef56e6668 -MISC metadata.xml 995 BLAKE2B 81f504df91c54970e7bc65cc4085db45f8f95f354b578cd7ddbae6c34036201335af3c3e07efb39583314c53bdb7cde341568e7d912fa926978b5f146e9e8d25 SHA512 00809a79f64c171d9df3eda85b079bf7c36e46afe8c31c0a0cddb3999d23b09ac2282cd17e4e876a132fed55e5311990a4a4461265d409e976b23ad8ee13e759 +EBUILD cri-o-1.18.3.ebuild 2547 BLAKE2B 75513daa455f362b303b7fdf50b71f59f72eb05a9c2d7a1774e58ca30c010fbb6c1758a8254128c68f14d04749196bc6b5d9a1bbe332bde39e0ea83a9a785d34 SHA512 ba7ca978e68ca9c6d6663e0ee59c24f7cf4677917cb6e675a0c47c056da59474f64c06e0106548b16741ca0adffdb84c0b0ed0c3ef547d181cb8e4b8cf680ed2 +MISC metadata.xml 907 BLAKE2B 60c92eb3aee1637dc4788228248ede35df42e6f2b82049c2a90c884c8cf676c18ed742c9935727b55c89c811e30f6eaee233cf65b6b0ebe61e86d7a3d6b842a8 SHA512 70fe7eb62159634ed9b6fe70f9c357e66979f5fca6eeb3103c0609fd6565709bf172b7d53d4ade9df89960e40538ce19434902449baa0ee6680e788dd2262b0a diff --git a/app-emulation/cri-o/cri-o-1.10.6.ebuild b/app-emulation/cri-o/cri-o-1.10.6.ebuild deleted file mode 100644 index a5292a57902f..000000000000 --- a/app-emulation/cri-o/cri-o-1.10.6.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -EGIT_COMMIT="56d7d9a0750d7deb06182361837b690683f13dfe" -EGO_PN="github.com/kubernetes-incubator/${PN}" - -inherit golang-vcs-snapshot systemd - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/kubernetes-incubator/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper ostree seccomp selinux" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - ostree? ( dev-util/ostree ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sys-libs/libselinux:= )" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" -S="${WORKDIR}/${P}/src/${EGO_PN}" - -src_prepare() { - default - - sed -e '/^GIT_.*/d' \ - -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ - -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ - -i Makefile || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/ostree_tag.sh ]] || die - use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \ - hack/ostree_tag.sh || die; } - - [[ -f hack/seccomp_tag.sh ]] || die - use seccomp || { echo -e "#!/bin/sh\ntrue" > \ - hack/seccomp_tag.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ - emake binaries docs -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install.bin install.man - - keepdir /etc/crio - insinto /etc/crio - use seccomp && doins seccomp.json - - "${ED}"/usr/bin/crio --config="" config --default > "${T}"/crio.conf.example || die - doins "${T}/crio.conf.example" - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf - - systemd_dounit contrib/systemd/* -} diff --git a/app-emulation/cri-o/cri-o-1.13.9.ebuild b/app-emulation/cri-o/cri-o-1.13.9.ebuild deleted file mode 100644 index 3331e9719be1..000000000000 --- a/app-emulation/cri-o/cri-o-1.13.9.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGIT_COMMIT="d70609afd5e933948284aebf15966bdc098d28b3" -EGO_PN="github.com/kubernetes-sigs/${PN}" - -inherit golang-vcs-snapshot systemd - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/kubernetes-sigs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper ostree seccomp selinux" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - ostree? ( dev-util/ostree ) - seccomp? ( sys-libs/libseccomp:= ) - selinux? ( sys-libs/libselinux:= )" -DEPEND=" - ${COMMON_DEPEND} - dev-go/go-md2man" -RDEPEND="${COMMON_DEPEND}" -S="${WORKDIR}/${P}/src/${EGO_PN}" - -src_prepare() { - default - - sed -e '/^GIT_.*/d' \ - -e '/ git diff --exit-code/d' \ - -e 's/$(GO) build -i/$(GO) build -v -work -x/' \ - -e 's/\${GIT_COMMIT}/'${EGIT_COMMIT}'/' \ - -i Makefile || die - - echo ".NOTPARALLEL: binaries docs" >> Makefile || die - - sed -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ - -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ - -i Makefile.inc || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/ostree_tag.sh ]] || die - use ostree || { echo -e "#!/bin/sh\necho containers_image_ostree_stub" > \ - hack/ostree_tag.sh || die; } - - [[ -f hack/seccomp_tag.sh ]] || die - use seccomp || { echo -e "#!/bin/sh\ntrue" > \ - hack/seccomp_tag.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ - emake binaries docs -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install.bin install.man - - keepdir /etc/crio - insinto /etc/crio - use seccomp && doins seccomp.json - - "${ED}"/usr/bin/crio --config="" config --default > "${T}"/crio.conf.example || die - doins "${T}/crio.conf.example" - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf - - systemd_dounit contrib/systemd/* -} diff --git a/app-emulation/cri-o/cri-o-1.15.1.ebuild b/app-emulation/cri-o/cri-o-1.15.1.ebuild deleted file mode 100644 index c439086a987c..000000000000 --- a/app-emulation/cri-o/cri-o-1.15.1.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGIT_COMMIT="f0827bb332854ffcff2f4d9f64d68b8139970b3d" -EGO_PN="github.com/cri-o/${PN}" - -inherit golang-vcs-snapshot - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper selinux systemd" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - sys-libs/libseccomp:= - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - selinux? ( sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= )" -DEPEND=" - ${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !> Makefile || die - - sed -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ - -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ - -i Makefile.inc || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die - - if ! use systemd; then - sed -e 's| pkg-config --exists libsystemd-journal | false |' \ - -e 's| pkg-config --exists libsystemd | false |' \ - -i conmon/Makefile || die - fi -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ - emake all -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install install.config install.systemd - - keepdir /etc/crio - mv "${ED}/etc/crio/crio.conf"{,.example} || die - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf -} diff --git a/app-emulation/cri-o/cri-o-1.15.2.ebuild b/app-emulation/cri-o/cri-o-1.15.2.ebuild deleted file mode 100644 index c439086a987c..000000000000 --- a/app-emulation/cri-o/cri-o-1.15.2.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGIT_COMMIT="f0827bb332854ffcff2f4d9f64d68b8139970b3d" -EGO_PN="github.com/cri-o/${PN}" - -inherit golang-vcs-snapshot - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper selinux systemd" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - sys-libs/libseccomp:= - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - selinux? ( sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= )" -DEPEND=" - ${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !> Makefile || die - - sed -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ - -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ - -i Makefile.inc || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die - - if ! use systemd; then - sed -e 's| pkg-config --exists libsystemd-journal | false |' \ - -e 's| pkg-config --exists libsystemd | false |' \ - -i conmon/Makefile || die - fi -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOPATH="${WORKDIR}/${P}" GOBIN="${WORKDIR}/${P}/bin" \ - emake all -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install install.config install.systemd - - keepdir /etc/crio - mv "${ED}/etc/crio/crio.conf"{,.example} || die - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf -} diff --git a/app-emulation/cri-o/cri-o-1.16.3.ebuild b/app-emulation/cri-o/cri-o-1.16.3.ebuild deleted file mode 100644 index f0c8df12dba2..000000000000 --- a/app-emulation/cri-o/cri-o-1.16.3.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGIT_COMMIT=dd73a465144f71031728f0de8439ddda08c98119 - -inherit go-module - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper selinux systemd" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/conmon - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - sys-libs/libseccomp:= - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - selinux? ( sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= )" -DEPEND=" - ${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !> Makefile || die - - sed -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \ - -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \ - -i Makefile.inc || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOBIN="${S}/bin" \ - emake all -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install install.config install.systemd - - keepdir /etc/crio - mv "${ED}/etc/crio/crio.conf"{,.example} || die - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf -} diff --git a/app-emulation/cri-o/cri-o-1.17.0.ebuild b/app-emulation/cri-o/cri-o-1.17.0.ebuild deleted file mode 100644 index e5cd2811c967..000000000000 --- a/app-emulation/cri-o/cri-o-1.17.0.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGIT_COMMIT=6d0ffae63b9b7d8f07e7f9cf50736a67fb31faf3 - -inherit go-module - -DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" -HOMEPAGE="https://cri-o.io/" -SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="btrfs +device-mapper selinux systemd" - -COMMON_DEPEND=" - app-crypt/gpgme:= - app-emulation/conmon - app-emulation/runc - dev-libs/glib:= - dev-libs/libassuan:= - dev-libs/libgpg-error:= - net-firewall/conntrack-tools - net-firewall/iptables - net-misc/cni-plugins - net-misc/socat - sys-apps/iproute2 - sys-libs/libseccomp:= - btrfs? ( sys-fs/btrfs-progs ) - device-mapper? ( sys-fs/lvm2:= ) - selinux? ( sys-libs/libselinux:= ) - systemd? ( sys-apps/systemd:= )" -DEPEND=" - ${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND} - !> Makefile || die - - sed -e 's:/usr/local/bin:/usr/bin:' \ - -i contrib/systemd/* || die -} - -src_compile() { - [[ -f hack/btrfs_installed_tag.sh ]] || die - use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ - hack/btrfs_installed_tag.sh || die; } - - [[ -f hack/libdm_installed.sh ]] || die - use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ - hack/libdm_installed.sh || die; } - - [[ -f hack/selinux_tag.sh ]] || die - use selinux || { echo -e "#!/bin/sh\ntrue" > \ - hack/selinux_tag.sh || die; } - - mkdir -p bin || die - GOBIN="${S}/bin" \ - emake all -} - -src_install() { - emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install install.config install.systemd - - keepdir /etc/crio - mv "${ED}/etc/crio/crio.conf"{,.example} || die - - newinitd "${FILESDIR}/crio.initd" crio - - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - - # Suppress crio log error messages triggered if these don't exist. - keepdir /etc/containers/oci/hooks.d - keepdir /usr/share/containers/oci/hooks.d - - # Suppress crio "Missing CNI default network" log message. - keepdir /etc/cni/net.d - insinto /etc/cni/net.d - doins contrib/cni/99-loopback.conf -} diff --git a/app-emulation/cri-o/cri-o-1.18.3.ebuild b/app-emulation/cri-o/cri-o-1.18.3.ebuild new file mode 100644 index 000000000000..f74c4b4386e2 --- /dev/null +++ b/app-emulation/cri-o/cri-o-1.18.3.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT=61de18161fb4ccda720768c001713592b5a04e46 + +inherit go-module + +DESCRIPTION="OCI-based implementation of Kubernetes Container Runtime Interface" +HOMEPAGE="https://cri-o.io/" +SRC_URI="https://github.com/cri-o/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="btrfs +device-mapper selinux systemd" + +COMMON_DEPEND=" + app-crypt/gpgme:= + app-emulation/conmon + app-emulation/runc + dev-libs/glib:= + dev-libs/libassuan:= + dev-libs/libgpg-error:= + net-firewall/conntrack-tools + net-firewall/iptables + net-misc/cni-plugins + net-misc/socat + sys-apps/iproute2 + sys-libs/libseccomp:= + btrfs? ( sys-fs/btrfs-progs ) + device-mapper? ( sys-fs/lvm2:= ) + selinux? ( sys-libs/libselinux:= ) + systemd? ( sys-apps/systemd:= )" +DEPEND=" + ${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !> Makefile || die + + sed -e 's:/usr/local/bin:/usr/bin:' \ + -i contrib/systemd/* || die +} + +src_compile() { + [[ -f hack/btrfs_installed_tag.sh ]] || die + use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die; } + + [[ -f hack/libdm_installed.sh ]] || die + use device-mapper || { echo -e "#!/bin/sh\necho exclude_graphdriver_devicemapper" > \ + hack/libdm_installed.sh || die; } + + [[ -f hack/selinux_tag.sh ]] || die + use selinux || { echo -e "#!/bin/sh\ntrue" > \ + hack/selinux_tag.sh || die; } + + mkdir -p bin || die + GOBIN="${S}/bin" \ + emake all +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${D}${EPREFIX}/usr" install install.config install.systemd + + keepdir /etc/crio + mv "${ED}/etc/crio/crio.conf"{,.example} || die + + newinitd "${FILESDIR}/crio.initd" crio + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + + # Suppress crio log error messages triggered if these don't exist. + keepdir /etc/containers/oci/hooks.d + keepdir /usr/share/containers/oci/hooks.d + + # Suppress crio "Missing CNI default network" log message. + keepdir /etc/cni/net.d + insinto /etc/cni/net.d + doins contrib/cni/99-loopback.conf +} diff --git a/app-emulation/cri-o/metadata.xml b/app-emulation/cri-o/metadata.xml index 0ebb508fdee4..ec23ec09fcc9 100644 --- a/app-emulation/cri-o/metadata.xml +++ b/app-emulation/cri-o/metadata.xml @@ -21,9 +21,6 @@ Enables dependencies for the "devicemapper" graph driver, including necessary kernel flags. - - Enables dependencies for handling of OSTree images. - cri-o/cri-o diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest index 38440d6a4a32..8fd4c881d835 100644 --- a/app-emulation/crossover-bin/Manifest +++ b/app-emulation/crossover-bin/Manifest @@ -1,50 +1,3 @@ -DIST install-crossover-12.5.0.bin 55089470 BLAKE2B 13c30717c5dcfb802f97df5c5a83a4ba00b769bcc361ba24f9834910392b5ba3ad9eb0c03bea9ac827f1526078e1142aef5d36b76c6576a35edaf1f6f96e092f SHA512 85dbf37b76dd63ba761f6f8efc8c294f38bdb2a443fbed7a7f7f37652b377046f7bd27588600fc456e7fa8040d06a1673475bfc6a7b7a110a16a678efcc5c764 -DIST install-crossover-12.5.1.bin 56658131 BLAKE2B 540678f4905d012c45aee4033d5b056b3415535a05f3d9c0f7aba875ab2fb88fd311fec9b64085b57b07bf06bfd9b0f90e8c3bb0cfafde3f8ccbe114ae51ac82 SHA512 0f71a06f3a028698c4b076b205d807e193282c10c7cfb8e62e4697e9b3bd7549947c02c15f82d959d6963630677e6c72a5f8468d35d66ccb3ff6814ed2173c72 -DIST install-crossover-13.0.0.bin 58807581 BLAKE2B d93a92db09777c3108342428bcd0d4de59921a8e7569b8e501f7b706c462a39b5320d98e69fb3d97c215d290e0c1950f42586fefa37b50c6df29014607f42a6b SHA512 fcf5dde6da1f2fb1eb402bd588baab5e951f8a0ad7959b06a4b7a42f250beb74f9c8d95f26f6fcd4ced9ce0bc4b484ad9a045a485f82028bf8ab7f2abf7ace33 -DIST install-crossover-13.0.1.bin 58567182 BLAKE2B 49e0f7201b2501036883ff9b9ef81f997aaff781b8c01f4992243dc728c2298a3c9cfb2932dd7e4da8e6750e837394184b14e2828f0b763e86fcb5abe6955878 SHA512 e43e3e92d4ac36546fafdf68d61b4fd5af412f83e301b232230589247ed052cb958f0d4eb7667fd616797b8f8c3b4f7acbfa7a9f1206204c5a98e456113a380b -DIST install-crossover-13.1.0.bin 58678679 BLAKE2B 910f7e7f630aee966d304d46755eb83e642a859b3feab7d08403f277fbd2d5458ec3e1150da8c5489e83b7a20992ebd7d51611a675baaf0944c3a637a8c2692f SHA512 1f2b5625c826bbf16231e1b3ea8694bcda24cf3a7a90347a29b9d97f654ce35df26aff2b8166e8c517e85785d4ea2b5fbdf1bcb82263fa0e8715846fd1668d15 -DIST install-crossover-13.1.2.bin 58730543 BLAKE2B dcd0eec9c0e2a8a4cd96dd8351c43402feac367eca731c5196d11f75ffc88606c199fb856d4df21aebd6d686831070df2cccaf5f3da4699cc8b8da9799218bd0 SHA512 5944db06162a67f68fa4a1ab14f7fbc41f114c63adebecf4c0c50967245f81bb42e58dbe66d33fbfaaeae232aacb2b534fc4367d592eaa6f1cc75e32ec0d23b3 -DIST install-crossover-13.1.3.bin 58768110 BLAKE2B 11406c1f1b53c5f97a566693c6bc588e72be71d9e20665723b44f3cc258416b0a27a4e51a9ea648da90e309656d5764f7d7bcca790f31eb52be8d9dbce8e08d3 SHA512 091a70e777f8311f818d227f26850f256d6acc7f50c93855f72857f2e21298524262d490fcc8a97342faea1a261ab042b0064d112aacb6c30e9ab5301f89eabe -DIST install-crossover-13.2.0.bin 64625581 BLAKE2B a8f732a2091576d83ca5cf47b239c8bc3737336bbb4c8fb1f48631db63ba00a4dcb23217b8464d412298d546b4b1e03e676fc1805df042bb9297a923c9d60f34 SHA512 1f582eeca8db02c15d98d519b2d24f65b8dcddd90ff270915a4e6dbd24e135b074c5a20dd824c3d8c8f35cef79610c02423b5558db205a6e80630f69191e051b -DIST install-crossover-14.0.3.bin 68080015 BLAKE2B 8fe46c3e61de02b03598320ba004ed11bde974d06d3cb97e61d63745ade919332acf321ae36e610f5fbfed9e963670a5fbf1912a5383eb08023b04f27a8ad587 SHA512 86855e112f5b5d7621e0d4c644abe570de0270e678dc9666482025c948733de02c66fcf67999079a8ba99537695b36d4fb61aee90a59c319edad5fb477a0f902 -DIST install-crossover-14.1.4.bin 68463678 BLAKE2B e5b718fb90a2812dded7aec0768175d1c78ba82ef84c6e5efc08fd79021c5899901bf2043a8d1643440cd52c3b071ef4059a5a106ec15ad98b158c7746381723 SHA512 2078d9e8fc10c526085aef0bfa0cedbcc1a96ec59ade934ea10e7f10062f1a58f5647e9aed59653d4a1253699a08e9ef6f01548010e960af24d0d3546549fb91 -DIST install-crossover-15.0.0.bin 80995834 BLAKE2B 63809a9f39e48cd51b9b0b97cdc1cebb8e99d992bdc8a9d3a0d5f48bab3c828d60b8aaf8e8829933a0d5fd1370d318395c01c708c3353597b74ce3ed6442a592 SHA512 597262b760c7cfc3c42cdb0b846802c6c47d4fcd5af06b53d0c63c80e4890e14af8ff0eaaac74a08f4f5d55e166a480d199b185efe685f7c42abca3d62fc2a0d -DIST install-crossover-15.0.1.bin 81027541 BLAKE2B 2cb838aad4363d910897a76cf1d03f031d2a14f494fef3f4db082c303c46f5964fac20096bd1d596285a4bef152af1ba7864b3205a3ee35efc6ff6d5ac7565c7 SHA512 a35188ccebeee8d456e73fdcbb8e8d4f0aff41bb89d92767d2e2e78e7cb25c8e48a150393c1c9abeb9760fbc873314e301c0a364ba27acfe08e0980bb5eedb03 -DIST install-crossover-15.1.0.bin 80623685 BLAKE2B 77125ce567c997ee718f546c3b68077a3d59e6a0f5711968bb5cb72cc0b2c7dd22182d7e8c8864c5eef0b6e833159a4534fc81db7234ea8bf757b5a465df1abc SHA512 177e70baff3d99e808834c8e6f626f09d9c262babd6d5a3b51ea79a5a68a157cdfd4fd60ad6939d110f2300670e4973d9fd43a3a132ff9a2367dedb782e5c05c -DIST install-crossover-15.2.0.bin 80734561 BLAKE2B e8b4ee0ab2c5a8463c2757a756a008886071a35114e5ee1b5590907ad42be3c6777bc024cb2c3c41f215e6e29b69d08d46c47dbea0629f542c098b957d124106 SHA512 9633e29b26f8fa99d1c34347b8e1f2e89b84370994a1ab3bba7061b75224f3a907d1c364207312dde1995e5a59180f8699558a96a4c99b157257ab9c21013b2e -DIST install-crossover-15.3.0.bin 80774063 BLAKE2B 2f0aa184f77120c241656d8d9990c5cfe177ab847061e023f0f08b52d804a1f832a18b1f2e82fddf9dde8313e717d3c92104ab46d95dc50c5935c57f878b6716 SHA512 8e5a6fa40a0af0976d794436ac69edf61f73d4f1f128503a6372c4ae804eb977438a98062bc064f25dbb93015fa0776b9e5d572a98e887980214d3ccb93fd4c7 -DIST install-crossover-15.3.1.bin 80774288 BLAKE2B 3d3fd83ee426a66ead3c88f4ca584408117e9a0f9a1af6d2cfe0623db398caaeb2dc1b285f8edbf9a700c3281bd5bdd81542df9ef0457be036727b756121d99d SHA512 3f4da41a7b255263012e70ed833a134425e464847acc69ba79f73989c0bfc5f98869cf5858c1e2d16422a8220296695157b942f275b861b3ee0dcc2d90f7da7d -DIST install-crossover-16.0.0.bin 197872657 BLAKE2B d500ed4f6a426154b376ead6c2b50eb21a403303561078dc51982a5147af23261dda9892717c16c6e2f3b2a30ffc84e73070cd330bea70ba89c79180c4933297 SHA512 184533679ddf3918ab5fc00b01452d868c694fbc7ccb5484c88822cc52da067fd1a0be0387e4050e40d9b367052158faec27dc06f6a371a044b5a1782950e780 -DIST install-crossover-16.2.5.bin 198336730 BLAKE2B a11252dab552846fe0a1527cd59cd62907142385062b744591cef6707213d03945879fc5da6bcfaaa315967c51ae15159ad14d8519407542b82f0eb53c5fd02e SHA512 17cb711e7257f094e9ccf939edc1ca6be362f18b86078fe307b7e1337850e182d02fde087789f13ea2bf96ca89736f941c1a7bd93ff1b37a78fe8f846a1d5e22 -DIST install-crossover-17.5.0.bin 198287744 BLAKE2B c594192927874e5a80626ad110f0089f2bf8b7385a16ff7755923d63ebb0559b1aa505ec4e8b6f85253ac13736b7f9af178c64ed042a515d31cd4565295db163 SHA512 8592d2c91c437d62d1fd5fecf6230eeabfe56c38f49ea795bf4d3b51d8ae4399f1b01801d60dcccb94caeb4dd662675c2739f730f39ef178db32dd4f72182197 -DIST install-crossover-17.5.1.bin 198278549 BLAKE2B e53504177eb4a4030a31ae73baf26144375dd559bcd58af3ef05364cfb7a00b8cd68d879e6ef31e92b165876e4c3f85ebcb823dd6585c3edcb8e4cafb76d8e59 SHA512 d1e41c5290c56bbb23a6317e91800d7c23d2b4389ebf08ef4416718103aa06b05b33c655d3ef413fe76773dd3599d8fe3d4ea64274fcc18518923990f980bf2a -DIST install-crossover-18.0.0.bin 206792916 BLAKE2B d1784ddd2dc568d2b6f1fe60b7fad149e6128e61d2315b2179f4d87b7d49bc0166851df3fb3e39b911bfbbba6366f8c98f63e47e18abb173a1129f11795454c7 SHA512 3ad7393714a43e7323ad6e81ea8f165df9253dfdfff20fc68f5091e77b288b86c3a3e11883732dc73ec5c89e500005b6451899b7e43fc4900c6bd40445739281 -DIST install-crossover-18.1.0.bin 206784995 BLAKE2B 4e8ae8330373b505b2ed361e314bcdaf3564a0b846484d2708e64e94d3fe856c35e1d235fa474d4a079a8c0e88dade02bb1e93f0608d1ec99dca2a3a74f7865c SHA512 a679f0a801a6c2045a724ae5935745457689ae73ea4246daa1fc89a387f42c55ba0431db8fcdf48ba7253f616613adb51ca0402fe19480c0254f614fcb6884d8 -DIST install-crossover-18.5.0.bin 224996342 BLAKE2B 300141bcf7c54ab1ce8229c6930df783454d450aee7b1be3cc3a193d1501320dee3e6fdfb3f37c56ae76e97f83f1b45838f1d5b7ed9793888a51df0203fe6dfe SHA512 ce44d7f79280adb36ecbcbdee3fa743dcca47b629fd1cb0ae2afbca56514df96e78e1103f09f5059aaf971a3a561f992158104ffa30bdd28925b14e58bd96855 DIST install-crossover-19.0.1.bin 227349999 BLAKE2B 3f43c9ad1bc6e2ca77404eb69894b34fab04002c41b33551a01272201e15b5523049d7e7abe87c741f5913f18a45714ff2b83fda6c375dff68c7648d5e7c26bb SHA512 aedf2d3a071facf15a4aec9280a10c99229825fd3e5412e3949a0e1d85c235625a04d4453e7b8e182659f7500c864bab168c225f51cb0a839b08a96ef36596dd -EBUILD crossover-bin-12.5.0-r2.ebuild 3874 BLAKE2B e8617f6fc4da436e9dfc5c4429210c0fc49879d1b50ce22325ad86259c859f3a4ef8bfe71fae6a73d3cc37a6981809d1fd0a98790f74aa1dc039c6f44b681485 SHA512 0fd826845aef6878a00be0733b778b18aaa4813125d6d652e4e508e8399bc2554c7d3ba2420e47b72aec3df8f0821c64260aed65d26923fc568441c2bfbe10ad -EBUILD crossover-bin-12.5.1-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.0.0-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.0.1-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.1.0-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.1.2-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.1.3-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-13.2.0-r2.ebuild 3875 BLAKE2B 5637ddbd6901928e3c70e247a527d7cb855f2ba890abfcf90d8f60a184e74ecae21a97b1b0a2759db25c56dd0c88edc5ebb73c03fa6dfa170ba4b6806b185178 SHA512 adc0fc54a645ae12f863b5b05b039730ee41d676a126089fca08e08f9eca7d1c6a832f17fdbfd0e22b14252606e76add5f5e125728b4c413447fc0a138f37e08 -EBUILD crossover-bin-14.0.3-r1.ebuild 4250 BLAKE2B 5ba671b023732d87d880744ec61735620553079c5e7c227ead81fd020b9826db8a8c65f4b702e2626845f9e2609e196a091fad0c6592539b7447feaa7f68a5c5 SHA512 3dd72bf59db3ba1ab8437c323c0a37c91250e7b728350961cce1e0c866120ecd7451b87e8d05c303946b2ee36e86a83ee99f4e4924d95ca671fe3e225a9178e1 -EBUILD crossover-bin-14.1.4-r1.ebuild 4251 BLAKE2B bc35e256c22a584b83bf7777c1638db8eb3dc80879a9ba02aee17241052f406ff89c81fe1c3e2b52a33ccc86d1c3ae205c3ae2a43fb88e11a1fd0afd143bd423 SHA512 26eaf71bacc1e102aa7fd6cac605dd1603c4479068d620394d1a9916f6a69b6b887d5e699a3e64316ed11565c46ceeab83af56079c6d560c285a3f99b046eeef -EBUILD crossover-bin-15.0.0.ebuild 4581 BLAKE2B abd895ab70c16ce31aa0772937556439b368a159fd9d7c919a7286b7cc2215619a3efc433147b3472156974c014299386083ff8c6169f58b2c3bc97b78e64bad SHA512 2a3c45a4c9110b591156b16bcaaecff36fab44868b5155174ee93c0d17e9e816d08030bf3581c20c4d7bd9e23f5080e825d88fdb166737192140844436634ae6 -EBUILD crossover-bin-15.0.1.ebuild 4753 BLAKE2B 33444ddd659cb923903c33f2189598a47f8d16a709bfcc0a74d9a0694f2057deff60a62480d6fb6dae5614a724edbffeb17f99c0e970082576d9ab71c422279f SHA512 2c3bd78577d9783451de7a171557b3ca3bd9c080f8b748f700259ef9c27860ba836c0ef5f97c2d1245f21f8a61757b6292580a9c485d5e6b1bced0303b7a822f -EBUILD crossover-bin-15.1.0.ebuild 4753 BLAKE2B 33444ddd659cb923903c33f2189598a47f8d16a709bfcc0a74d9a0694f2057deff60a62480d6fb6dae5614a724edbffeb17f99c0e970082576d9ab71c422279f SHA512 2c3bd78577d9783451de7a171557b3ca3bd9c080f8b748f700259ef9c27860ba836c0ef5f97c2d1245f21f8a61757b6292580a9c485d5e6b1bced0303b7a822f -EBUILD crossover-bin-15.2.0.ebuild 4928 BLAKE2B 51fe78f65173665f9e18d8bf25b7022fc3934191101b2fe72bf9f9ec5d4c4c89582bd9dd3a1b0726b0ce36eaf655ba28d406a8f4b5fdd3bb73c82503d9443140 SHA512 45abaea9496c4c76e61b19d3469546e68b0ee430278b294bf682227649dd1ba3b1d56a7bddbc6f28021fee68cad28255a2d77f10801165c0e54a57f9a4dfeb25 -EBUILD crossover-bin-15.3.0.ebuild 4925 BLAKE2B 2828ee2da88c8f709764048b45a8067a4a88ca8834f63c379c438364bfb20e28ea9550f9b49048a6794cd8e605f99b9078e498d385a85be8d57bdc97c895674f SHA512 6bbddd5d73717abd76ac6ecd9b53e39436e58f32041199ab1fe4de961c6b0ec8a5bee102bb912b033787b934403c3e1a8a8de016f8fc21e30dbcb16526c8c519 -EBUILD crossover-bin-15.3.1.ebuild 4925 BLAKE2B 2828ee2da88c8f709764048b45a8067a4a88ca8834f63c379c438364bfb20e28ea9550f9b49048a6794cd8e605f99b9078e498d385a85be8d57bdc97c895674f SHA512 6bbddd5d73717abd76ac6ecd9b53e39436e58f32041199ab1fe4de961c6b0ec8a5bee102bb912b033787b934403c3e1a8a8de016f8fc21e30dbcb16526c8c519 -EBUILD crossover-bin-16.0.0.ebuild 4925 BLAKE2B 2828ee2da88c8f709764048b45a8067a4a88ca8834f63c379c438364bfb20e28ea9550f9b49048a6794cd8e605f99b9078e498d385a85be8d57bdc97c895674f SHA512 6bbddd5d73717abd76ac6ecd9b53e39436e58f32041199ab1fe4de961c6b0ec8a5bee102bb912b033787b934403c3e1a8a8de016f8fc21e30dbcb16526c8c519 -EBUILD crossover-bin-16.2.5.ebuild 4925 BLAKE2B 2828ee2da88c8f709764048b45a8067a4a88ca8834f63c379c438364bfb20e28ea9550f9b49048a6794cd8e605f99b9078e498d385a85be8d57bdc97c895674f SHA512 6bbddd5d73717abd76ac6ecd9b53e39436e58f32041199ab1fe4de961c6b0ec8a5bee102bb912b033787b934403c3e1a8a8de016f8fc21e30dbcb16526c8c519 -EBUILD crossover-bin-17.5.0-r1.ebuild 4801 BLAKE2B 8269c5fea9dfaba93ab03a3da7470385afef34ac1a132da76b385365e3bdaa6f9bec56a97cc2ab4dcac9f0ada2061a397375064e45af7013e21ef7f7cee40150 SHA512 af3d6aec254edd49cd057a8e741e38856dc9af86681ef44d8100d4addf72337aab97169fe1d62167c41566830162706c1bce34fcdbb8301f65a7a026e1032e79 -EBUILD crossover-bin-17.5.0.ebuild 4767 BLAKE2B 371b22e6af826da7eb67f12949aa4fbce816033224eb0670c36bd0957ab9a265939ea37b1d047a6a84fb1290983068f54a8eb3cd4d4225b2e5aed180d6e36b19 SHA512 1a660015123602db39efc766189bcd502fad6d0ffe497032db27241c04a11d48a87c0d53939a87440f7c137827ad9ba779aabb68d0728c05aa61d38e4b9b60cd -EBUILD crossover-bin-17.5.1.ebuild 5315 BLAKE2B 55b93a199734ddc6ef85069d1889ac92202e39a8293bc4f018dd3ffe8c2ee94b5deb207fe81206f619c1fdc34be5a7be5d43b1759d7b351ae248bf3c61bd6851 SHA512 47e7090c299d605bf52c8ef2614e6ac7e6c50c667455e84ba74a904d160354d5d4017350bb6be717a3850d65319841e258e5b9a3c86927001f3996aaf7223ca9 -EBUILD crossover-bin-18.0.0.ebuild 5539 BLAKE2B 646d073e0c2b4cb0748ce536e74261ecb8fa6671935ddc91295c900f207883888e226017f1fed5c564d8591ba9769f8da5bbcb73074613de1402664a4470d856 SHA512 d091e40901b338ddda288a7780c00e0425717481115083f8e947d13a7badc8b5f178056defbc9b3c81a37cfde2f88bd07b5ec99bfd05261ce0dd44725fc2cbe9 -EBUILD crossover-bin-18.1.0.ebuild 5539 BLAKE2B 646d073e0c2b4cb0748ce536e74261ecb8fa6671935ddc91295c900f207883888e226017f1fed5c564d8591ba9769f8da5bbcb73074613de1402664a4470d856 SHA512 d091e40901b338ddda288a7780c00e0425717481115083f8e947d13a7badc8b5f178056defbc9b3c81a37cfde2f88bd07b5ec99bfd05261ce0dd44725fc2cbe9 -EBUILD crossover-bin-18.5.0-r1.ebuild 5800 BLAKE2B ff3272e3f8c8054b57c3c88a6ec94580d3e5d539d2035fbca88858f16db866b9eaaaf620cab2c7350e9be5c2996aff18035b018be40c5e4e29ad5c172cc42108 SHA512 daf4a588a52fe2ff28b3aa510aacc533f1b7be47ea22f489ba95be16b82e829ccb4356c38a3f0cc9f74a0bb79653929f34c15dd4b825b1f7d7acdb35b3c2d3cb EBUILD crossover-bin-19.0.1-r1.ebuild 7728 BLAKE2B aaf5ffbc0e41f9e4bdb6fc329223cd8c0f78abc012a1ba163fb09096a875c7634859fe563dcccd33f68315dc8c76d048854a0aa913a4ee42a114fb5dc4177075 SHA512 11fa2f78352abac1ddcc91952e73c91fa427fe2ccf72dd601a66afe1dd4e42e8766df3cbc0b64e36a0911f2be152663d3785df88e101fe18b15e13e7af1234ab MISC metadata.xml 570 BLAKE2B 3939d88434eae718567a9a63f3eeb936c601e75543c0e35231e3b7035e50c2a259338c115ac7fe905e9709903c2fe3332d0bf0cf8fd69da5b08a685ec8950cce SHA512 485431a76b4622cdfb7c7c61c02b2d71783ba9866e03d3c8a92c092c81dbd9b1f32bb27b2ff6a152bdafa51b2e32da0fa496a3d79f2a8d9a64ee5237fac9aa54 diff --git a/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild deleted file mode 100644 index 78d5be269b3e..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-12.5.0-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support" -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-12.5.1-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.0.0-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.0.1-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.1.0-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.1.2-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.1.3-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild b/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild deleted file mode 100644 index f9d540708656..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-13.2.0-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - sed -e 's:/usr/local/etc/xdg /etc/xdg::' -i "${WORKDIR}/bin/locate_gui.sh" \ - || die "Could not patch ${WORKDIR}/bin/locate_gui.sh" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install requisite directories for menus - dodir "/usr/share/applications" - dodir "/etc/xdg/menus/applications-merged" - - # Install menus - XDG_CONFIG_DIRS="${ED}etc/xdg" \ - XDG_DATA_DIRS="${ED}usr/share" \ - "${ED}opt/cxoffice/bin/cxmenu" --crossover --install \ - || die "Could not install menus" - - # Fix menus - sed -e "s:${ED}:/:" -i "${ED}usr/share/applications/"* \ - || die "Could not fix menus" -} diff --git a/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild deleted file mode 100644 index c96c8632eb57..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-14.0.3-r1.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i -e "s:\$link=\"\$xdgdir:\$link=\"${ED}\/\$xdgdir:" "${S}/lib/perl/CXMenu.pm" - sed -i \ - -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" - sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop - sed -i -e "s:${ED}/::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" -} diff --git a/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild deleted file mode 100644 index 7b3f30280c50..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-14.1.4-r1.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-2" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist fetch test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i -e "s:\$link=\"\$xdgdir:\$link=\"${ED}\/\$xdgdir:" "${S}/lib/perl/CXMenu.pm" - sed -i \ - -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" - sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop - sed -i -e "s:${ED}/::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild deleted file mode 100644 index f5a9ee2ded65..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.0.0.ebuild +++ /dev/null @@ -1,145 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:\"\$xdgdir/icons/hicolor/\$size/apps\":\"${ED}/\$xdgdir/icons/hicolor/\$size/apps\":" \ - "${S}/lib/perl/CXMenu.pm" - sed -i \ - -e "s:\"\(.*\)/applications:\"${ED}/\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}/\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - cp -r ./* "${ED}opt/cxoffice" \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" - sed -i -e "s:${ED}:/:" "${ED}usr/share/applications/"*.desktop - sed -i -e "s:${ED}/::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenu.pm" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild b/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild deleted file mode 100644 index 71dba5bd4ed3..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.0.1.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.1.0.ebuild b/app-emulation/crossover-bin/crossover-bin-15.1.0.ebuild deleted file mode 100644 index 71dba5bd4ed3..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.1.0.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.2.0.ebuild b/app-emulation/crossover-bin/crossover-bin-15.2.0.ebuild deleted file mode 100644 index 35a162c94cac..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.2.0.ebuild +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.3.0.ebuild b/app-emulation/crossover-bin/crossover-bin-15.3.0.ebuild deleted file mode 100644 index b70ac3a77fd0..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.3.0.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-15.3.1.ebuild b/app-emulation/crossover-bin/crossover-bin-15.3.1.ebuild deleted file mode 100644 index b70ac3a77fd0..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-15.3.1.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-16.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-16.0.0.ebuild deleted file mode 100644 index b70ac3a77fd0..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-16.0.0.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-16.2.5.ebuild b/app-emulation/crossover-bin/crossover-bin-16.2.5.ebuild deleted file mode 100644 index b70ac3a77fd0..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-16.2.5.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_DIRS="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - "${ED}opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/opt/cxoffice/support/desktopdata/cxoffice-0/cxmenu/Launchers/StartMenu/"*.desktop \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild deleted file mode 100644 index d3cb1e980327..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-17.5.0-r1.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-17.5.0.ebuild b/app-emulation/crossover-bin/crossover-bin-17.5.0.ebuild deleted file mode 100644 index 5096405e6199..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-17.5.0.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild b/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild deleted file mode 100644 index 96a7c42364fe..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-17.5.1.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED="opt/cxoffice/lib/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - " -S="${WORKDIR}" - -DEPEND="dev-lang/perl - app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="${DEPEND} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - >=media-libs/freetype-2.0.0[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)]" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Konqueror in its infinite wisdom decides to try opening things for - # writing, which are sandbox violations. This breaks the install process if - # it is installed, so we ninja edit it to false so it so doesn't run. - sed -i -e 's/cxwhich konqueror/false &/' "${ED}opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - # Revert ninja edit - sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - rm "${ED}usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-18.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-18.0.0.ebuild deleted file mode 100644 index 170b56d9e884..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-18.0.0.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED=" - opt/cxoffice/lib/.* - opt/cxoffice/lib64/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/wineserver32 - opt/cxoffice/bin/wineserver64 - opt/cxoffice/bin/wine64-preloader - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxdiag64 - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - opt/cxoffice/bin/wineloader64 -" - -S="${WORKDIR}" - -DEPEND="" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-arch/unzip -" - -RDEPEND="${DEPEND} - ${PYTHON_DEPS} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10:2[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg:0[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - media-libs/freetype:2[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)] -" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - default - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}/opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}/opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Konqueror in its infinite wisdom decides to try opening things for - # writing, which are sandbox violations. This breaks the install process if - # it is installed, so we ninja edit it to false so it so doesn't run. - sed -i -e 's/cxwhich konqueror/false &/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}/opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - # Revert ninja edit - sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - rm "${ED}/usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-18.1.0.ebuild b/app-emulation/crossover-bin/crossover-bin-18.1.0.ebuild deleted file mode 100644 index 170b56d9e884..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-18.1.0.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms +ldap +mp3 +nls +openal +opencl +opengl +png +scanner +ssl +v4l" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED=" - opt/cxoffice/lib/.* - opt/cxoffice/lib64/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/wineserver32 - opt/cxoffice/bin/wineserver64 - opt/cxoffice/bin/wine64-preloader - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxdiag64 - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - opt/cxoffice/bin/wineloader64 -" - -S="${WORKDIR}" - -DEPEND="" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-arch/unzip -" - -RDEPEND="${DEPEND} - ${PYTHON_DEPS} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10:2[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - dev-util/desktop-file-utils - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg:0[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( dev-libs/openssl:0[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - media-libs/alsa-lib[abi_x86_32(-)] - media-libs/freetype:2[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)] -" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - default - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}/opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}/opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - - # Konqueror in its infinite wisdom decides to try opening things for - # writing, which are sandbox violations. This breaks the install process if - # it is installed, so we ninja edit it to false so it so doesn't run. - sed -i -e 's/cxwhich konqueror/false &/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}/opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - # Revert ninja edit - sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - rm "${ED}/usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crossover-bin/crossover-bin-18.5.0-r1.ebuild b/app-emulation/crossover-bin/crossover-bin-18.5.0-r1.ebuild deleted file mode 100644 index ccf4360c42cf..000000000000 --- a/app-emulation/crossover-bin/crossover-bin-18.5.0-r1.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="threads" - -inherit python-single-r1 unpacker - -DESCRIPTION="Commercial version of app-emulation/wine with paid support." -HOMEPAGE="https://www.codeweavers.com/products/" -SRC_URI="https://media.codeweavers.com/pub/crossover/cxlinux/demo/install-crossover-${PV}.bin" - -LICENSE="CROSSOVER-3" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -IUSE="+capi +cups doc +gphoto2 +gsm +jpeg +lcms ldap +mp3 +nls +openal +opencl +opengl +pcap +png scanner +ssl +v4l +vulkan" -REQUIRED_USE=${PYTHON_REQUIRED_USE} -RESTRICT="bindist test" - -QA_FLAGS_IGNORED="opt/cxoffice/.*" -QA_PRESTRIPPED=" - opt/cxoffice/lib/.* - opt/cxoffice/lib64/.* - opt/cxoffice/bin/cxburner - opt/cxoffice/bin/cxntlm_auth - opt/cxoffice/bin/wineserver - opt/cxoffice/bin/wineserver32 - opt/cxoffice/bin/wineserver64 - opt/cxoffice/bin/wine64-preloader - opt/cxoffice/bin/unrar - opt/cxoffice/bin/wine-preloader - opt/cxoffice/bin/cxdiag - opt/cxoffice/bin/cxdiag64 - opt/cxoffice/bin/cxgettext - opt/cxoffice/bin/wineloader - opt/cxoffice/bin/wineloader64 -" - -S="${WORKDIR}" - -DEPEND="" -BDEPEND="${PYTHON_DEPS} - dev-lang/perl - app-arch/unzip -" - -RDEPEND="${DEPEND} - ${PYTHON_DEPS} - !prefix? ( sys-libs/glibc ) - $(python_gen_cond_dep ' - >=dev-python/pygtk-2.10:2[${PYTHON_MULTI_USEDEP}] - dev-python/dbus-python[${PYTHON_MULTI_USEDEP}] - ') - !app-emulation/crossover-office-pro-bin - !app-emulation/crossover-office-bin - capi? ( net-libs/libcapi[abi_x86_32(-)] ) - cups? ( net-print/cups[abi_x86_32(-)] ) - gsm? ( media-sound/gsm[abi_x86_32(-)] ) - jpeg? ( virtual/jpeg:0[abi_x86_32(-)] ) - lcms? ( media-libs/lcms:2 ) - ldap? ( net-nds/openldap[abi_x86_32(-)] ) - gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] ) - mp3? ( >=media-sound/mpg123-1.5.0[abi_x86_32(-)] ) - nls? ( sys-devel/gettext[abi_x86_32(-)] ) - openal? ( media-libs/openal[abi_x86_32(-)] ) - opencl? ( virtual/opencl[abi_x86_32(-)] ) - opengl? ( - virtual/glu[abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - ) - pcap? ( net-libs/libpcap[abi_x86_32(-)] ) - png? ( media-libs/libpng:0[abi_x86_32(-)] ) - scanner? ( media-gfx/sane-backends[abi_x86_32(-)] ) - ssl? ( net-libs/gnutls:0/30[abi_x86_32(-)] ) - v4l? ( media-libs/libv4l[abi_x86_32(-)] ) - vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] ) - dev-util/desktop-file-utils - media-libs/alsa-lib[abi_x86_32(-)] - media-libs/freetype:2[abi_x86_32(-)] - media-libs/mesa[abi_x86_32(-)] - media-libs/tiff:0[abi_x86_32(-)] - sys-auth/nss-mdns[abi_x86_32(-)] - sys-apps/util-linux[abi_x86_32(-)] - sys-libs/ncurses-compat:5[abi_x86_32(-)] - sys-libs/zlib[abi_x86_32(-)] - x11-libs/libICE[abi_x86_32(-)] - x11-libs/libSM[abi_x86_32(-)] - x11-libs/libX11[abi_x86_32(-)] - x11-libs/libXau[abi_x86_32(-)] - x11-libs/libXdmcp[abi_x86_32(-)] - x11-libs/libXext[abi_x86_32(-)] - x11-libs/libXi[abi_x86_32(-)] - x11-libs/libXrandr[abi_x86_32(-)] - x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libxcb[abi_x86_32(-)] -" - -pkg_nofetch() { - einfo "Please visit ${HOMEPAGE}" - einfo "and place ${A} into your DISTDIR directory" -} - -src_unpack() { - # self unpacking zip archive; unzip warns about the exe stuff - unpack_zip ${A} -} - -src_prepare() { - default - python_fix_shebang . - - sed -i \ - -e "s:xdg_install_icons(:&\"${ED}\".:" \ - -e "s:\"\(.*\)/applications:\"${ED}\1/applications:" \ - -e "s:\"\(.*\)/desktop-directories:\"${ED}\1/desktop-directories:" \ - "${S}/lib/perl/CXMenuXDG.pm" - - # Remove unnecessary files - rm -r license.txt guis/ || die "Could not remove files" - use doc || rm -r doc/ || die "Could not remove files" -} - -src_install() { - # Install crossover symlink, bug #476314 - dosym ../cxoffice/bin/crossover /opt/bin/crossover - - # Install documentation - dodoc README changelog.txt - rm README changelog.txt || die "Could not remove README and changelog.txt" - - # Install files - dodir /opt/cxoffice - #cp -r ./* "${ED}/opt/cxoffice" \ - find . | cpio -dumpl "${ED}/opt/cxoffice" 2>/dev/null \ - || die "Could not install into ${ED}/opt/cxoffice" - - # Install configuration file - insinto /opt/cxoffice/etc - doins share/crossover/data/cxoffice.conf - dodir /etc/env.d - echo "CONFIG_PROTECT=/opt/cxoffice/etc/cxoffice.conf" >> "${ED}"/etc/env.d/30crossover-bin || die - - # Konqueror in its infinite wisdom decides to try opening things for - # writing, which are sandbox violations. This breaks the install process if - # it is installed, so we ninja edit it to false so it so doesn't run. - sed -i -e 's/cxwhich konqueror/false &/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - # Install menus - # XXX: locate_gui.sh automatically detects *-application-merged directories - # This means what we install will vary depending on the contents of - # /etc/xdg, which is a QA violation. It is not clear how to resolve this. - XDG_DATA_HOME="/usr/share" XDG_CONFIG_HOME="/etc/xdg" \ - "${ED}/opt/cxoffice/bin/cxmenu" --destdir="${ED}" --crossover --install \ - || die "Could not install menus" - - # Revert ninja edit - sed -i -e 's/false \(cxwhich konqueror\)/\1/' "${ED}/opt/cxoffice/bin/locate_gui.sh" \ - || die "Could not apply workaround for konqueror" - - rm "${ED}/usr/share/applications/"*"Uninstall CrossOver Linux.desktop" \ - || die "Could not remove uninstall menus" - sed -i \ - -e "s:\"${ED}\".::" \ - -e "s:${ED}::" \ - "${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" \ - || die "Could not fix paths in ${ED}/opt/cxoffice/lib/perl/CXMenuXDG.pm" - sed -i -e "s:${ED}:/:" \ - "${ED}/usr/share/applications/"*"CrossOver.desktop" \ - || die "Could not fix paths of *.desktop files" -} - -pkg_postinst() { - einfo "${P} is open source software with the exception of the GUI." - einfo "Source code can be obtained from:" - einfo - einfo "https://media.codeweavers.com/pub/crossover/source/crossover-sources-${PV}.tar.gz" -} diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest index 0106984da6b2..745b675e1bdb 100644 --- a/app-emulation/crun/Manifest +++ b/app-emulation/crun/Manifest @@ -1,4 +1,4 @@ -AUX libocispec-deduplicate-json_common-in-makefile-am.patch 1038 BLAKE2B 38f49d55ad043a94ecbf977adec35e0ef3627b018c572e5190fc7dc08748cd7aff5035e43d5256b69d497eb39e9bf17501be5084f8e19b81594c14a3a449b0d9 SHA512 4044d46cd3f0de139536b54876f68da5e1d18ace6e052dde1fadb5158ebb1e615714e86ca145ae2b804b1956d804e6c2bfff0796cdffe8bdb5f730ee3710f9d2 -DIST crun-0.13.tar.gz 1305048 BLAKE2B fbffabf4cfc744522147b47c5e2bf2bc48e074866108ec4ec8ab94e7ebdc39451851696fabde268b5853e1c3fafb0ac93527e08fdb766acebdd7cf952a9e1a9e SHA512 314612eaf3097160e9369b3400ac8a83e173ef1a53295191c925e96212ba00d032883db1e4615b8ba42ddb08f1e31ca5e5088ea583a469835ac3c27087a88d6e -EBUILD crun-0.13.ebuild 1571 BLAKE2B 539926e2cbee09ab60f03e80f362cc77b3338877531521b7d1047efc5a61784e40e97ef506223ab35224f04672149141094b6f0959b3cb910289fb6bb407cf76 SHA512 19e336c04e4eb9d3299ecf9c9dc6c06a5cf967d11fdc156bb6a1d7c8d5ae88a559d5b5c069c8b7122754056f4a088b97da650a66e3a97f5f45fa5d0345f504f8 -MISC metadata.xml 1031 BLAKE2B e0351ab86fa999bd962aa4b793df9dedc431885033d759590dcd4f3abb47436b7f83832138fe78c413898a04af97326d806b96b5f41b25b1ef1da0e10f947a53 SHA512 34e3e9fd8819f5fcf698a0f80acd99465b6fefb2aa33ddef9a302ced25a0eee4e522768a65e09ec3c1f9f7042f98b603978d502ef3dcea24a39bde4ded42c7d3 +DIST crun-0.14.1.tar.gz 1341891 BLAKE2B c20d5001161e298050ddca859fa78487fe3f8577ef0b06eb5515056f19ba4f981debeb684148de49111a0370b9bafb7f6454d65f7ecf087862c697a162c9b377 SHA512 420f1713653cbd17df83b2a63d163aaa41baf78115b093877a2241305e10b2ceeaf08ea6700658eca894729ff8a20cbc66f868d18d27fba3fbedf1a9993b122e +DIST libcrun.lds 257 BLAKE2B 00e7cdf3162ea0b7231dbb9037b192bcf5ffa83316e1aa60268560bc9fe8302be351c405861f9dfc06620ea64561a9226f58b7133039c0af1299dc4088b98272 SHA512 0e9b836c79ee4ad7ff33c592eca8ff41f38aed588f2f5a2416bed82efa819cd4c61ad65a2dfd11a37838a19d950688b1d5adb3b75841963dbb589536e8a867f7 +EBUILD crun-0.14.1.ebuild 1698 BLAKE2B f8b3fe2950bb13c7c0e48c28fb8c96f2949931e23ae10f57d0068a05fdd9211c82d118e11b3c215315020be53cdb765607bd0296401e645496116c544cc4e62d SHA512 7d1afe84e4bbd213a02f33d00b307d97db495ddabfa438b22cac6e160e0ea27d83bc5ed95ebd8cab3a94b009b2b590c7ff0f3a651d00fa89ee44355fbfa1df1b +MISC metadata.xml 1251 BLAKE2B 5eb63702a134f4bd41c22ea2709f628ad5ba90c4b1c1d69527b73aa25a25b2afd155c08e06f4efc1f3cfd2bc84051d54ad320a8c9348bd1d82ffafaba67a999c SHA512 b7562b7b9c677be491ee1c281c9432ee3158b5e9b1149ebad510f5b07e53ce9c6ba225b57241c9476c918ab2fc539289af35db2df41e7b89c39be3fe3809b95d diff --git a/app-emulation/crun/crun-0.13.ebuild b/app-emulation/crun/crun-0.13.ebuild deleted file mode 100644 index 5b014ac1198d..000000000000 --- a/app-emulation/crun/crun-0.13.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -inherit autotools python-any-r1 - -DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" -HOMEPAGE="https://github.com/containers/crun" -SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz" - -LICENSE="GPL-2+ LGPL-2.1+" -SLOT="0" -KEYWORDS="~amd64" -IUSE="bpf +caps doc seccomp systemd static-libs" - -DEPEND=" - dev-libs/yajl - caps? ( sys-libs/libcap ) - seccomp? ( sys-libs/libseccomp ) - systemd? ( sys-apps/systemd:= ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - doc? ( dev-go/go-md2man ) -" - -# the crun test suite is comprehensive to the extent that tests will fail -# within a sandbox environment, due to the nature of the privileges -# required to create linux "containers". -RESTRICT="test" - -DOCS=( README.md ) - -PATCHES=( - # see https://709982.bugs.gentoo.org/attachment.cgi?id=614208 - "${FILESDIR}/libocispec-deduplicate-json_common-in-makefile-am.patch" -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - econf \ - --disable-criu \ - $(use_enable bpf) \ - $(use_enable caps) \ - $(use_enable seccomp) \ - $(use_enable systemd) \ - $(usex static-libs '--enabled-shared --enabled-static' '--enable-shared --disable-static' '' '') -} - -src_compile() { - emake -C libocispec - emake crun - if use doc ; then - emake generate-man - fi -} - -src_install() { - emake "DESTDIR=${D}" install-exec - if use doc ; then - emake "DESTDIR=${D}" install-man - fi - - einstalldocs -} diff --git a/app-emulation/crun/crun-0.14.1.ebuild b/app-emulation/crun/crun-0.14.1.ebuild new file mode 100644 index 000000000000..afa4cc5bdb2e --- /dev/null +++ b/app-emulation/crun/crun-0.14.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit autotools python-any-r1 + +DESCRIPTION="A fast and low-memory footprint OCI Container Runtime fully written in C" +HOMEPAGE="https://github.com/containers/crun" +SRC_URI="https://github.com/containers/${PN}/releases/download/${PV}/${P}.tar.gz + https://github.com/containers/${PN}/raw/${PV}/libcrun.lds" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="bpf +caps man seccomp systemd static-libs" + +DEPEND=" + dev-libs/yajl + caps? ( sys-libs/libcap ) + seccomp? ( sys-libs/libseccomp ) + systemd? ( sys-apps/systemd:= ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + man? ( dev-go/go-md2man ) +" + +# the crun test suite is comprehensive to the extent that tests will fail +# within a sandbox environment, due to the nature of the privileges +# required to create linux "containers". +RESTRICT="test" + +DOCS=( README.md ) + +src_unpack() { + # dont' try to unpack the .lds file + A=( ${A[@]/libcrun.lds} ) + unpack ${A} +} + +src_prepare() { + default + eautoreconf + cp -v ${DISTDIR}/libcrun.lds ${S}/ || die "libcrun.lds could not be copied" +} + +src_configure() { + local myeconfargs=( + --disable-criu \ + $(use_enable bpf) \ + $(use_enable caps) \ + $(use_enable seccomp) \ + $(use_enable systemd) \ + $(usex static-libs '--enabled-shared --enabled-static' '--enable-shared --disable-static' '' '') + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + emake -C libocispec + emake crun + if use man ; then + emake generate-man + fi +} + +src_install() { + emake "DESTDIR=${D}" install-exec + if use man ; then + emake "DESTDIR=${D}" install-man + fi + + einstalldocs +} diff --git a/app-emulation/crun/files/libocispec-deduplicate-json_common-in-makefile-am.patch b/app-emulation/crun/files/libocispec-deduplicate-json_common-in-makefile-am.patch deleted file mode 100644 index 234ac20ad8d2..000000000000 --- a/app-emulation/crun/files/libocispec-deduplicate-json_common-in-makefile-am.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9d58891c058efa55c7b95cb90597d4cadc5c66d8 Mon Sep 17 00:00:00 2001 -From: Bruce Guenter -Date: Mon, 17 Feb 2020 13:54:14 -0600 -Subject: [PATCH] De-duplicate json_common in Makefile.am - -The source file src/json_common.c is listed twice in Makefile.am, -leading libtool to produce an archive with duplicated symbols. This -change removes the duplicate source. - -This was introduced in commit 2e318803a2c49521ea448e3ae010b1564a7e95ed - -Signed-off-by: Bruce Guenter ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 65bed45..c7ede83 100644 ---- a/libocispec/Makefile.am -+++ b/libocispec/Makefile.am -@@ -7,7 +7,7 @@ GITIGNOREFILES = build-aux/ gtk-doc.make config.h.in aclocal.m4 - noinst_LTLIBRARIES = libocispec.la - noinst_LIBRARIES = libocispec.a - --SOURCE_FILES = src/json_common.c \ -+SOURCE_FILES = \ - src/image_spec_schema_config_schema.c \ - src/image_spec_schema_content_descriptor.c \ - src/image_spec_schema_defs.c \ --- -2.24.1 diff --git a/app-emulation/crun/metadata.xml b/app-emulation/crun/metadata.xml index 53609eb7d97b..75532b362a49 100644 --- a/app-emulation/crun/metadata.xml +++ b/app-emulation/crun/metadata.xml @@ -1,7 +1,13 @@ - + + robert@gnzler.io + + + proxy-maint@gentoo.org + Proxy Maintainers + While most of the tools used in the Linux containers ecosystem are written in Go, crun authors believe C is a better fit for a lower level tool like a @@ -20,5 +26,6 @@ Enable in Kernel, eBPF (enhanced Berkley Packet Filter) support for managing device controllers. + Build and install man pages diff --git a/app-emulation/diskimage-builder/Manifest b/app-emulation/diskimage-builder/Manifest index 9106b59f49e9..bffcf1992e41 100644 --- a/app-emulation/diskimage-builder/Manifest +++ b/app-emulation/diskimage-builder/Manifest @@ -1,4 +1,6 @@ DIST diskimage-builder-3.1.0.tar.gz 434813 BLAKE2B 7a9fa54353f9b7edc2f1f1dab965b8241cb8b046ef56f12ed3562c04a8c6e236a7be41fbe75c385b48c4f2b8b30e961d8b86499e79999c391dde9c2f294f1193 SHA512 0b8a0b6cee9c7fcee08d8e5d706add2e54dfe1b7726b169f357022a48a37e351b159a7426771a001b703ca4360905f318ff91d0e72cb2d92e3486607186d03c4 +DIST diskimage-builder-3.2.1.tar.gz 446827 BLAKE2B bec2f225681f333b9dfded90dd7717119805ea46cc6c48e48d1f63242fa271ca3653fd67be0c5bd3876cd6db9506e2579ad14b4f7e573ea56311c6b85277fdb5 SHA512 acdac97e510a68bd30b81ab7ebce729c4c4bbfdd86e56dfa41b50558ccac942caae76a66dc4442854fbab6fb7440a9ebf74b5872e9d35793b2e4243cb28cd5a7 EBUILD diskimage-builder-3.1.0.ebuild 1089 BLAKE2B 682f155597d8ae0544dd10123e75efc93e9c50e5cf11ba4678e9076473f4655c6bc7d3597aba55664ffc71f2190c97fc729dc8c4e4590f8de70f420a738bae5c SHA512 51e82abb2e0bb401d7a21f005be00f9c9ebb4d389a673b9aaf6bc1f87254253fb3bf865d91f2e9f15434b03cfb8a322bdd360d4f292d7b0c7832a1910603cd07 +EBUILD diskimage-builder-3.2.1.ebuild 1133 BLAKE2B 9afdb7d3d275712e8269bb56603671fbe5dab3a396efa1af3c1f72140ad7342753db7c0f78cb4d5a678c04b6ea0f457d25fe363d5fca611a56a31185a2c0db06 SHA512 75d15457af15c15acf162ea1b409f25944926c530832eac9ad5542d04696d0c11b26bc31eeb5167d0284b213c39b21efb37b5fdedb01bec0b8c1f9a73b4e4caf EBUILD diskimage-builder-9999.ebuild 1133 BLAKE2B 9afdb7d3d275712e8269bb56603671fbe5dab3a396efa1af3c1f72140ad7342753db7c0f78cb4d5a678c04b6ea0f457d25fe363d5fca611a56a31185a2c0db06 SHA512 75d15457af15c15acf162ea1b409f25944926c530832eac9ad5542d04696d0c11b26bc31eeb5167d0284b213c39b21efb37b5fdedb01bec0b8c1f9a73b4e4caf MISC metadata.xml 718 BLAKE2B 04a2c90bcae79f187feb346d0b73f1d6dd1c1581123ca26bfd3182d97239a37e81875d7a3a7b03c4aa08f2974bd25be5f3021e2e48195d5d09e18b606b5b4c87 SHA512 8e16e9d92a81049d414ae54eaf7a4467982cbd949230adcfab22b636ba2b91885d80e9b047788ccd07eab547ae2f85a56d989b971b64bd926e6ca70972398277 diff --git a/app-emulation/diskimage-builder/diskimage-builder-3.2.1.ebuild b/app-emulation/diskimage-builder/diskimage-builder-3.2.1.ebuild new file mode 100644 index 000000000000..720474e33c48 --- /dev/null +++ b/app-emulation/diskimage-builder/diskimage-builder-3.2.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit distutils-r1 + +DESCRIPTION="Golden Disk Image builder." +HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/" +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]" +DEPEND="${CDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/networkx-1.10[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}] + >=dev-python/six-1.10.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + app-emulation/qemu + sys-block/parted + sys-fs/multipath-tools + sys-fs/dosfstools + sys-apps/gptfdisk + !dev-python/dib-utils[${PYTHON_USEDEP}]" diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest index ca20b87b4e81..a05d47c15424 100644 --- a/app-emulation/docker-compose/Manifest +++ b/app-emulation/docker-compose/Manifest @@ -2,15 +2,17 @@ AUX docker-compose-1.25.2-setup-py.patch 2209 BLAKE2B 24cb97379440c94c4f18d99980 AUX docker-compose-1.26.0-setup-py.patch 2410 BLAKE2B c04145747e7a770646687008b6f8aa09e2bf836fce2bcc24b28bc598a0a7f89ffdae21af3f2707c6489d0553aa4697c64bcf5325f2f5b98b090c92a2f53c5a1f SHA512 b92f8401a40e22305c734a5751f4ae4a86e6f74a16cbc8626e223a0f88074a2bb938dad2a1f092755b301cf25ee44ca6899708d1883d4edd477aaec90d7b2847 AUX docker-compose-1.26.1-setup-py.patch 2460 BLAKE2B 502198ab7807ab6dc37e1dc671c72b980d5e1cffc7c6c3efe2281687ba47f0286027b19b781d340e7ba0f9b50bc27393542713301e17d6f4f10ed82b067a45b2 SHA512 2588fb55595e62a1d601f4e723ba2178fb4a9ad8d7ff6f0b1d1b62b0e3d273635665c3b6c257adf6c3ff64bdff7f4706e1bfe81e538723900740e17a3eb19fae AUX docker-compose-1.26.2-setup-py.patch 2411 BLAKE2B 76e6c2037148a08c46ac1758d58cdaf10785d4b06cd70afc850d30792b49ca7c1d38a305b2d5023eafe64f7271c6f4639aaf008a951b949ade555fc0b48974d1 SHA512 225dbbca638fead6fd0b87da6a185388e3045bee0643337c93686e19b2d3a92996033c5af4c989d60e98b79b68c45ef6aa683b5183ebf9de7468cd210d831c89 -DIST docker-compose-1.25.4.tar.gz 306513 BLAKE2B 86c779d794deca7ede0adc80041b17a96b21798d2807065e2c9ea804a95fcaf24a8b92fbcad6c7ce4d1b9d1fb3c9ad348b630e3f10bfd032202995a4c34ab019 SHA512 860153fb603d7efcc76535c9997446a2e6fe18f61769d4f05f51b531902a66072be11e3cff012ba80240b0a7802a032495a2a55e053a9784df92b82e5351b72e +AUX docker-compose-1.27.0_rc1-setup-py.patch 1841 BLAKE2B 148e3ba6b8d283113e719d82f96590d522c8476cb3d9ae1031009e2ddf6575831a30236898fce516a858d5e534f8034c2247cecfb5d691e74a1320ad4bad7cb0 SHA512 5d481418570702348adbb1e3de6eca073b42d7d3ba9c850e2cb2f4607de4243bb57dcb702aabd24938e62a2e04612099e65946db44a0b0675b990df23ad9e263 DIST docker-compose-1.25.5.tar.gz 308569 BLAKE2B 5d5d1fd60f9bcb87f7e9628dbe10b275996f9af38fb8488a547f4cb5427e6f7aaac09a98a421a0c35a7c2c863713e5de9a490ad21adf080f74a7c3bc4336559b SHA512 efe59bd5e82e12e63c82341ccf5ca11eaebd47c8154a50b40d39bc98ec48c37532919335172a5667f036bab4e884df950ebc4b4ccab8174200cc7ea6683bbbd7 DIST docker-compose-1.26.0.tar.gz 313311 BLAKE2B dc70b7557ce0c51beb177a842f11e16b0e1c4f5ab31f03159b1ffb6f712b884f41bce651e673db63bda4908fd9e7d2c497da3c7568bf038471bad81626e28f25 SHA512 b388f8041b921a0d53d15a8fffb9a1f4d79f40e3eaae073fc043ae74189256a5a24eee9a3c63641e3bfbf43d484da806c2a7d732aad38966ba9fb60d8990f512 DIST docker-compose-1.26.1.tar.gz 313459 BLAKE2B 8320842047700bf5d38f48c21efeafc294f76505ee33c76fbcc0aba78156699bc2d6ec9cb9e52f99125c3eea0f6c4226eaccf850345cfcdc84327c582408e82a SHA512 e655e4930991f0fa3dca07b6b314442dba11ad4203f0eb8ab7175cb25d6cb16aa846198a2e17d4efea5718e184f7d6b6558d5260a86f07855ff4f7791fe8a3b3 DIST docker-compose-1.26.2.tar.gz 313494 BLAKE2B 656bac181547a3484c45d0ede7111384007db8109aaf3673a06b848bb9b27059cfb8b2cd583e6bc7acd0ebbd90d40e485251d473eefe56a6493abe187132e520 SHA512 4cb8a2f5e25f17eb842e36dea96fae8862df099d706ec590e6fc0790c7a814bed3bb60ec00207e4afc15bf8ad4ca37075320fd28ee0bea5bbec1646f3aed681f -EBUILD docker-compose-1.25.4-r1.ebuild 1934 BLAKE2B a4e65f590d80a4e73fbe6f9a2b65d544169ba4d3a6224edf3d82bd4f39b4d59239a6aa574f853357f57e09c1cf3b168c41a7ca63404fc363f333a2825dff0688 SHA512 7a0a69eb6f572a3a09f4812473f4ba7719bc7930d29426cde5eded09d70ee36fe7f29f3a1435a5f87aa4773044b0b3b20e49007d9bd88cb3058b7f3a58abc068 -EBUILD docker-compose-1.25.4-r2.ebuild 1936 BLAKE2B 1e10965c9122e6e9a01e479b1cf58c929011c065e3994376c05f6f5a295d82579e83d717a1dd11b6b6ffef6846e137a299a77c89c2c8def0780c8c3dcf46786f SHA512 26059b485b70fe81b65588be4ae93d35bcc03ad19f48fb7ea9f362207f1901fa5e9c212243f0240ed476f69c1eb96230409ea56543ab08636d32077182478694 -EBUILD docker-compose-1.25.5.ebuild 1936 BLAKE2B 1e10965c9122e6e9a01e479b1cf58c929011c065e3994376c05f6f5a295d82579e83d717a1dd11b6b6ffef6846e137a299a77c89c2c8def0780c8c3dcf46786f SHA512 26059b485b70fe81b65588be4ae93d35bcc03ad19f48fb7ea9f362207f1901fa5e9c212243f0240ed476f69c1eb96230409ea56543ab08636d32077182478694 +DIST docker-compose-1.27.0_rc1.tar.gz 308050 BLAKE2B 347dc4b38feae1d045770ff981a289d9919d47cf7ecf3b46e0c7b996bb3ef6d50a7e36751ca5f996dbe8afbeb0d6fc0967945c3abda05b71024a15efae35fb6c SHA512 ae952deeee7c20f4f506c2f0126e504c2cff432056ac45547c40273d6113fe2c51d87c363f0943247989db3dcb20059c7a7839b2c5328d71a41a15cf12db6062 +DIST docker-compose-1.27.0_rc2.tar.gz 308129 BLAKE2B f057d9754040375f71810bbf09cd6a88c9ff05665b4629e0cf45c457b10ff9c4bde1b7a608addb160bcc183d8559a8cb2397f7a2215c1b14ae39577bdb67826b SHA512 556a3b10144ff37996c6e3cd1562ba3fdde2618757d305ead4f861c6614f27bad0cf539885535ca61abaf9e9739bbb1c2b41c489ba87ad75f947213d4cdace19 +EBUILD docker-compose-1.25.5.ebuild 1935 BLAKE2B 1290c12b6cad7e41f6450c68a5284f17acfa505fa3d0dbc1a7489a0d07d960fd1624c273f3fe57ded1c8098b1f69020d8eb3f1c2babff8f63f2b9ba008600579 SHA512 9ceb962c7acb6beaf2a2c5005380be0b2685c6a802cd00795f734034b5a8a43e9272ed665c7d11184ad5247f4d9d76a20f49fe724e901f4d735524c0f1938930 EBUILD docker-compose-1.26.0.ebuild 2075 BLAKE2B d0e7b3869529fc9ee471ecae8a3e3b74a49d119992771dd773b587047677a6e98f206e8f450798a5bba1fd84bd297c499cd9f98cbaf105e8291a1a1899378689 SHA512 ec30e3d9c6f43001dee3b75227b7d4d5d99877fe420d486a3c060f49329b0d10f51be1f49722984f84b81f0b66967b436ea1654e7a9bd7f8120ec7fac47dd633 EBUILD docker-compose-1.26.1.ebuild 2075 BLAKE2B 6fbfe7a1d33817e5de2f20b25d6268a6121733c744120591b971e9c392a9fe183ded1c1603e01da0e9c9eccec0fd8a3543bba6b3b7d9581b7042db4d36b84db8 SHA512 cc9827e7089b7a6fa26905d3b2f52f7b491ab0360093300418752c24820c3b733bcdb6c4e99392b87daefbf61f14d5117d55dbba6ccde641955db4627270887c EBUILD docker-compose-1.26.2.ebuild 2075 BLAKE2B c8e6bcdd6a79366828d9c4a0993398b56c95681ad61e5114d31065a222005ec53bb2d8afa00ccca215d9e1e46c3ac3e728719f2867dfd5c907913c68aa577a1d SHA512 56c3ef2e46b5b48d691989a424e91cb16d6ba2397254da61e358faa6173c1572bb72c83b2fae78c14c9a5e81672819f09b07551b32d39f59ef4cf06ea0c0a8be +EBUILD docker-compose-1.27.0_rc1.ebuild 2101 BLAKE2B 2decaaa0488e24e773dc3aedde2bfcc6fc528382517247e01fd24d8569df64e81495a0f228c2618df00077e20f02f2c82fcedacd4041779dbd9c21030d06cb7d SHA512 4e4e4c9b04ab2449bb00d185d9d4c3c3634ddcbda659f84833364a5bc72381571f7239e36fe684e60528f784b53c308b23efc920e85f7f7cfda0ee479669de48 +EBUILD docker-compose-1.27.0_rc2.ebuild 2101 BLAKE2B 23448e65a7048256ba744408fa044e96c6930e4c4fee859c647aae74fc7011aa78beb22632f28f5605380fc01be1100bb3fe6c81d56d1d78cd4eeeed2330db16 SHA512 8df3aa342a7e57c9b9baaabaec28bb8d5d459d1da835f482e5c952d475e18c140f78655a18d80fb541a2ccd4bdcd64a09a55892af8c6bda003500ec0c785838d MISC metadata.xml 326 BLAKE2B 264e99e7fdc551ca2a29d4295d21fb587cb1eeb0bf995b9df63e63015b01b22a51db9254b3a6cb3eb76b8a4eb9e8bf3a1a4c6a936212690fa996e7edf20167dd SHA512 0c50efc71462eb8b312b5bab5b5de85450478f3b7a548c7f3725a4be5514078fb125305f277d14b5fa082027c805171e640367b6094668c05660d426c65043fc diff --git a/app-emulation/docker-compose/docker-compose-1.25.4-r1.ebuild b/app-emulation/docker-compose/docker-compose-1.25.4-r1.ebuild deleted file mode 100644 index 5931b1c8e4a8..000000000000 --- a/app-emulation/docker-compose/docker-compose-1.25.4-r1.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2018-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit bash-completion-r1 distutils-r1 - -DESCRIPTION="Multi-container orchestration for Docker" -HOMEPAGE="https://github.com/docker/compose" -SRC_URI="https://github.com/docker/compose/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}] - >=dev-python/docker-py-3.7.0[${PYTHON_USEDEP}] - >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}] - >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-2.5.1[${PYTHON_USEDEP}] - dev-python/paramiko[${PYTHON_USEDEP}] - >=dev-python/PySocks-1.6.0[${PYTHON_USEDEP}] - >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] - >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] - >=dev-python/six-1.3.0[${PYTHON_USEDEP}] - >=dev-python/texttable-0.9.0[${PYTHON_USEDEP}] - >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]" - -DEPEND="${RDEPEND} - test? ( - +Date: Tue, 11 Aug 2020 21:58:25 +0200 +Subject: [PATCH] setup.py: Drop generic upper version boundaries + +--- + setup.py | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/setup.py b/setup.py +index 590e0eb..87501b1 100644 +--- a/setup.py ++++ b/setup.py +@@ -25,33 +25,33 @@ def find_version(*file_paths): + + + install_requires = [ +- 'cached-property >= 1.2.0, < 2', +- 'docopt >= 0.6.1, < 1', +- 'PyYAML >= 3.10, < 6', +- 'requests >= 2.20.0, < 3', +- 'texttable >= 0.9.0, < 2', +- 'websocket-client >= 0.32.0, < 1', +- 'distro >= 1.5.0, < 2', +- 'docker[ssh] >= 4.2.2, < 5', +- 'dockerpty >= 0.4.1, < 1', +- 'jsonschema >= 2.5.1, < 4', +- 'python-dotenv >= 0.13.0, < 1', ++ 'cached-property >= 1.2.0', ++ 'docopt >= 0.6.1', ++ 'PyYAML >= 3.10', ++ 'requests >= 2.20.0', ++ 'texttable >= 0.9.0', ++ 'websocket-client >= 0.32.0', ++ 'distro >= 1.5.0', ++ 'docker[ssh] >= 4.2.2', ++ 'dockerpty >= 0.4.1', ++ 'jsonschema >= 2.5.1', ++ 'python-dotenv >= 0.13.0', + ] + + + tests_require = [ +- 'ddt >= 1.2.2, < 2', +- 'pytest < 6', ++ 'ddt >= 1.2.2', ++ 'pytest', + ] + + + if sys.version_info[:2] < (3, 4): +- tests_require.append('mock >= 1.0.1, < 4') ++ tests_require.append('mock >= 1.0.1') + + extras_require = { +- ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5, < 4'], +- ':sys_platform == "win32"': ['colorama >= 0.4, < 1'], +- 'socks': ['PySocks >= 1.5.6, != 1.5.7, < 2'], ++ ':python_version < "3.5"': ['backports.ssl_match_hostname >= 3.5'], ++ ':sys_platform == "win32"': ['colorama >= 0.4'], ++ 'socks': ['PySocks >= 1.5.6, != 1.5.7'], + 'tests': tests_require, + } + +-- +2.27.0 + diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest index 78d7c0b025aa..6a8afafb41d2 100644 --- a/app-emulation/docker/Manifest +++ b/app-emulation/docker/Manifest @@ -1,3 +1,3 @@ -DIST docker-19.03.8.tar.gz 17477887 BLAKE2B f9c50fb376b37b19de79f52f10425432f5042bdc25a581e1f2cf7524d2e89dd6bd5ac8181f23a7ee00e36b07e3ce62b631aff28844963f8b05e21ce7671bfe6c SHA512 2e2266d4cc832c2c2afb7c0fba92ffd39b92cce988c9bedd40430eb87fa97c32dcf97d8e4c651ceda7c292c904f83c49a12e39861a9a69c9c9e6d54770f95d02 -EBUILD docker-19.03.8.ebuild 8403 BLAKE2B ee0a08a629842ea8d9bcd844c989d9948b0e59947db9721105c2f2f61270f3a38da9577430fbe8b9fc50afd9968896c58fa3167b3f48405992d8224ddd8b22f0 SHA512 46813a50212d66682a01ed360638df41b4ed9e9e48f296a5dc3ed88c5abd384432235544754fb075a06b7b88990ffe757558660d1724f2f37c4813257c0c202e +DIST docker-19.03.12.tar.gz 18218138 BLAKE2B a018a1677d36c01a9eb8d9c597e6b264304a742929bf7f8bb3c12b03c75748bc6f3313f8e7c293323bc3ae013b5555044f7cf1ad7a8750a5794418bee05e405a SHA512 6ede7e0c5494882d88dae5b4ae45049937dfc65b9d655988ae4c0d6f9759bcac8799251f37a3e4ce49cdfbb04e31f9a6a05d131fb5005b382d2306ca0d5fcfa3 +EBUILD docker-19.03.12.ebuild 8404 BLAKE2B 592424738f7faa2033904c135b9c2710208262414e677e94b0b45391ddbfb2430d46be641a703bc23645c0635d47685a5e3704460e971ad419467386fa460c9e SHA512 5121e71b234370ce920960e1e0c09fb21074d69518a3e87fd11d636e8f3aba0c2a47d420ccce580b0802d0eef0147c9c63d2fa51717cb1a95f7f572ab9eb7f3d MISC metadata.xml 1480 BLAKE2B d55259087f20646d81686efc1def000be31b841eb450b16b41de984955688282c541dbf127d3638cabc1219f22d2dad77c6c0431a374148329f73f0ab91f8ca7 SHA512 2ca140b93f15f63d3e07989f4ff1e702b61e4ef62d199564e1fd91f995750740c08f28aafe35f0a0945fa588bc6240e3f02aa84aa06c6be7944ad5f5d2764bfa diff --git a/app-emulation/docker/docker-19.03.12.ebuild b/app-emulation/docker/docker-19.03.12.ebuild new file mode 100644 index 000000000000..c0cea011dfbf --- /dev/null +++ b/app-emulation/docker/docker-19.03.12.ebuild @@ -0,0 +1,314 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGO_PN="github.com/docker/docker-ce" + +if [[ ${PV} = *9999* ]]; then + # Docker cannot be fetched via "go get", thanks to autogenerated code + EGIT_REPO_URI="https://${EGO_PN}.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" + inherit git-r3 +else + DOCKER_GITCOMMIT=48a66213fe + MY_PV=${PV/_/-} + SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~ppc64" + [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" + inherit golang-vcs-snapshot +fi +inherit bash-completion-r1 golang-base linux-info systemd udev + +DESCRIPTION="The core functions you need to create Docker images and run Docker containers" +HOMEPAGE="https://www.docker.com/" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay seccomp" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies +COMMON_DEPEND=" + acct-group/docker + >=dev-db/sqlite-3.7.9:3 + device-mapper? ( + >=sys-fs/lvm2-2.02.89[thin] + ) + seccomp? ( >=sys-libs/libseccomp-2.2.1 ) + apparmor? ( sys-libs/libapparmor ) +" + +DEPEND=" + ${COMMON_DEPEND} + + >=dev-lang/go-1.13.12 + dev-go/go-md2man + + btrfs? ( + >=sys-fs/btrfs-progs-3.16.1 + ) +" + +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies +# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies +RDEPEND=" + ${COMMON_DEPEND} + !sys-apps/systemd[-cgroup-hybrid(+)] + >=net-firewall/iptables-1.4 + sys-process/procps + >=dev-vcs/git-1.7 + >=app-arch/xz-utils-4.9 + dev-libs/libltdl + ~app-emulation/containerd-1.2.13 + ~app-emulation/runc-1.0.0_rc10[apparmor?,seccomp?] + ~app-emulation/docker-proxy-0.8.0_p20191011 + container-init? ( >=sys-process/tini-0.18.0[static] ) +" + +RESTRICT="installsources strip" + +S="${WORKDIR}/${P}/src/${EGO_PN}" + +# see "contrib/check-config.sh" from upstream's sources +CONFIG_CHECK=" + ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS + ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG + ~KEYS + ~VETH ~BRIDGE ~BRIDGE_NETFILTER + ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE + ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS + ~IP_NF_NAT ~NF_NAT + ~POSIX_MQUEUE + + ~USER_NS + ~SECCOMP + ~CGROUP_PIDS + ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED + + ~BLK_CGROUP ~BLK_DEV_THROTTLING + ~CGROUP_PERF + ~CGROUP_HUGETLB + ~NET_CLS_CGROUP + ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED + ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR + + ~VXLAN + ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER + ~IPVLAN + ~MACVLAN ~DUMMY +" + +ERROR_KEYS="CONFIG_KEYS: is mandatory" +ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" +ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" + +ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" +ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" +ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" +ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" +ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" +ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" + +pkg_setup() { + if kernel_is lt 3 10; then + ewarn "" + ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." + ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" + fi + + if kernel_is le 3 18; then + CONFIG_CHECK+=" + ~RESOURCE_COUNTERS + " + fi + + if kernel_is le 3 13; then + CONFIG_CHECK+=" + ~NETPRIO_CGROUP + " + else + CONFIG_CHECK+=" + ~CGROUP_NET_PRIO + " + fi + + if kernel_is lt 4 5; then + CONFIG_CHECK+=" + ~MEMCG_KMEM + " + ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" + fi + + if kernel_is lt 4 7; then + CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES + " + fi + + if kernel_is lt 5 1; then + CONFIG_CHECK+=" + ~NF_NAT_IPV4 + ~IOSCHED_CFQ + ~CFQ_GROUP_IOSCHED + " + fi + + if kernel_is lt 5 2; then + CONFIG_CHECK+=" + ~NF_NAT_NEEDED + " + fi + + if use aufs; then + CONFIG_CHECK+=" + ~AUFS_FS + ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" + fi + + if use btrfs; then + CONFIG_CHECK+=" + ~BTRFS_FS + ~BTRFS_FS_POSIX_ACL + " + fi + + if use device-mapper; then + CONFIG_CHECK+=" + ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY + " + fi + + if use overlay; then + CONFIG_CHECK+=" + ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL + " + fi + + linux-info_pkg_setup +} + +src_compile() { + export GOPATH="${WORKDIR}/${P}" + + # setup CFLAGS and LDFLAGS for separate build target + # see https://github.com/tianon/docker-overlay/pull/10 + export CGO_CFLAGS="-I${ROOT}/usr/include" + export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" + + # if we're building from a tarball, we need the GITCOMMIT value + [[ ${DOCKER_GITCOMMIT} ]] && export DOCKER_GITCOMMIT + + # fake golang layout + ln -s docker-ce/components/engine ../docker || die + ln -s docker-ce/components/cli ../cli || die + + # let's set up some optional features :) + export DOCKER_BUILDTAGS='' + for gd in aufs btrfs device-mapper overlay; do + if ! use $gd; then + DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" + fi + done + + for tag in apparmor seccomp; do + if use $tag; then + DOCKER_BUILDTAGS+=" $tag" + fi + done + + pushd components/engine || die + + if use hardened; then + sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die + grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' + sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ + -i hack/make/dynbinary-daemon || die + grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' + fi + + # build daemon + VERSION="$(cat ../../VERSION)" \ + ./hack/make.sh dynbinary || die 'dynbinary failed' + + popd || die # components/engine + + pushd components/cli || die + + # build cli + emake \ + LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ + VERSION="$(cat ../../VERSION)" \ + GITCOMMIT="${DOCKER_GITCOMMIT}" \ + DISABLE_WARN_OUTSIDE_CONTAINER=1 \ + dynbinary + + # build man pages + go build -o gen-manpages github.com/docker/cli/man || die + ./gen-manpages --root . --target ./man/man1 || die + ./man/md2man-all.sh -q || die + rm gen-manpages || die + # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) + + popd || die # components/cli +} + +src_install() { + dosym containerd /usr/bin/docker-containerd + dosym containerd-shim /usr/bin/docker-containerd-shim + dosym runc /usr/bin/docker-runc + use container-init && dosym tini /usr/bin/docker-init + + pushd components/engine || die + newbin bundles/dynbinary-daemon/dockerd-${PV} dockerd + + newinitd contrib/init/openrc/docker.initd docker + newconfd contrib/init/openrc/docker.confd docker + + systemd_dounit contrib/init/systemd/docker.{service,socket} + + udev_dorules contrib/udev/*.rules + + dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md + dodoc -r docs/* + + insinto /usr/share/vim/vimfiles + doins -r contrib/syntax/vim/ftdetect + doins -r contrib/syntax/vim/syntax + + # note: intentionally not using "doins" so that we preserve +x bits + dodir /usr/share/${PN}/contrib + cp -R contrib/* "${ED}/usr/share/${PN}/contrib" + popd || die # components/engine + + pushd components/cli || die + + newbin build/docker-* docker + + doman man/man*/* + + dobashcomp contrib/completion/bash/* + insinto /usr/share/fish/vendor_completions.d/ + doins contrib/completion/fish/docker.fish + insinto /usr/share/zsh/site-functions + doins contrib/completion/zsh/_* + popd || die # components/cli +} + +pkg_postinst() { + udev_reload + + elog + elog "To use Docker, the Docker daemon must be running as root. To automatically" + elog "start the Docker daemon at boot, add Docker to the default runlevel:" + elog " rc-update add docker default" + elog "Similarly for systemd:" + elog " systemctl enable docker.service" + elog + elog "To use Docker as a non-root user, add yourself to the 'docker' group:" + elog " usermod -aG docker youruser" + elog + + elog " Devicemapper storage driver has been deprecated" + elog " It will be removed in a future release" +} diff --git a/app-emulation/docker/docker-19.03.8.ebuild b/app-emulation/docker/docker-19.03.8.ebuild deleted file mode 100644 index d411d5ad2932..000000000000 --- a/app-emulation/docker/docker-19.03.8.ebuild +++ /dev/null @@ -1,314 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -EGO_PN="github.com/docker/docker-ce" - -if [[ ${PV} = *9999* ]]; then - # Docker cannot be fetched via "go get", thanks to autogenerated code - EGIT_REPO_URI="https://${EGO_PN}.git" - EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/${EGO_PN}" - inherit git-r3 -else - DOCKER_GITCOMMIT=afacb8b7f0 - MY_PV=${PV/_/-} - SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~ppc64" - [ "$DOCKER_GITCOMMIT" ] || die "DOCKER_GITCOMMIT must be added manually for each bump!" - inherit golang-vcs-snapshot -fi -inherit bash-completion-r1 golang-base linux-info systemd udev - -DESCRIPTION="The core functions you need to create Docker images and run Docker containers" -HOMEPAGE="https://dockerproject.org" -LICENSE="Apache-2.0" -SLOT="0" -IUSE="apparmor aufs btrfs +container-init device-mapper hardened +overlay seccomp" - -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies -COMMON_DEPEND=" - acct-group/docker - >=dev-db/sqlite-3.7.9:3 - device-mapper? ( - >=sys-fs/lvm2-2.02.89[thin] - ) - seccomp? ( >=sys-libs/libseccomp-2.2.1 ) - apparmor? ( sys-libs/libapparmor ) -" - -DEPEND=" - ${COMMON_DEPEND} - - >=dev-lang/go-1.12 - dev-go/go-md2man - - btrfs? ( - >=sys-fs/btrfs-progs-3.16.1 - ) -" - -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#runtime-dependencies -# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#optional-dependencies -RDEPEND=" - ${COMMON_DEPEND} - !sys-apps/systemd[-cgroup-hybrid(+)] - >=net-firewall/iptables-1.4 - sys-process/procps - >=dev-vcs/git-1.7 - >=app-arch/xz-utils-4.9 - dev-libs/libltdl - ~app-emulation/containerd-1.2.13 - ~app-emulation/runc-1.0.0_rc10[apparmor?,seccomp?] - ~app-emulation/docker-proxy-0.8.0_p20191011 - container-init? ( >=sys-process/tini-0.18.0[static] ) -" - -RESTRICT="installsources strip" - -S="${WORKDIR}/${P}/src/${EGO_PN}" - -# see "contrib/check-config.sh" from upstream's sources -CONFIG_CHECK=" - ~NAMESPACES ~NET_NS ~PID_NS ~IPC_NS ~UTS_NS - ~CGROUPS ~CGROUP_CPUACCT ~CGROUP_DEVICE ~CGROUP_FREEZER ~CGROUP_SCHED ~CPUSETS ~MEMCG - ~KEYS - ~VETH ~BRIDGE ~BRIDGE_NETFILTER - ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE - ~NETFILTER_XT_MATCH_ADDRTYPE ~NETFILTER_XT_MATCH_CONNTRACK ~NETFILTER_XT_MATCH_IPVS - ~IP_NF_NAT ~NF_NAT - ~POSIX_MQUEUE - - ~USER_NS - ~SECCOMP - ~CGROUP_PIDS - ~MEMCG_SWAP ~MEMCG_SWAP_ENABLED - - ~BLK_CGROUP ~BLK_DEV_THROTTLING - ~CGROUP_PERF - ~CGROUP_HUGETLB - ~NET_CLS_CGROUP - ~CFS_BANDWIDTH ~FAIR_GROUP_SCHED ~RT_GROUP_SCHED - ~IP_VS ~IP_VS_PROTO_TCP ~IP_VS_PROTO_UDP ~IP_VS_NFCT ~IP_VS_RR - - ~VXLAN - ~CRYPTO ~CRYPTO_AEAD ~CRYPTO_GCM ~CRYPTO_SEQIV ~CRYPTO_GHASH ~XFRM_ALGO ~XFRM_USER - ~IPVLAN - ~MACVLAN ~DUMMY -" - -ERROR_KEYS="CONFIG_KEYS: is mandatory" -ERROR_MEMCG_SWAP="CONFIG_MEMCG_SWAP: is required if you wish to limit swap usage of containers" -ERROR_RESOURCE_COUNTERS="CONFIG_RESOURCE_COUNTERS: is optional for container statistics gathering" - -ERROR_BLK_CGROUP="CONFIG_BLK_CGROUP: is optional for container statistics gathering" -ERROR_IOSCHED_CFQ="CONFIG_IOSCHED_CFQ: is optional for container statistics gathering" -ERROR_CGROUP_PERF="CONFIG_CGROUP_PERF: is optional for container statistics gathering" -ERROR_CFS_BANDWIDTH="CONFIG_CFS_BANDWIDTH: is optional for container statistics gathering" -ERROR_XFRM_ALGO="CONFIG_XFRM_ALGO: is optional for secure networks" -ERROR_XFRM_USER="CONFIG_XFRM_USER: is optional for secure networks" - -pkg_setup() { - if kernel_is lt 3 10; then - ewarn "" - ewarn "Using Docker with kernels older than 3.10 is unstable and unsupported." - ewarn " - http://docs.docker.com/engine/installation/binaries/#check-kernel-dependencies" - fi - - if kernel_is le 3 18; then - CONFIG_CHECK+=" - ~RESOURCE_COUNTERS - " - fi - - if kernel_is le 3 13; then - CONFIG_CHECK+=" - ~NETPRIO_CGROUP - " - else - CONFIG_CHECK+=" - ~CGROUP_NET_PRIO - " - fi - - if kernel_is lt 4 5; then - CONFIG_CHECK+=" - ~MEMCG_KMEM - " - ERROR_MEMCG_KMEM="CONFIG_MEMCG_KMEM: is optional" - fi - - if kernel_is lt 4 7; then - CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES - " - fi - - if kernel_is lt 5 1; then - CONFIG_CHECK+=" - ~NF_NAT_IPV4 - ~IOSCHED_CFQ - ~CFQ_GROUP_IOSCHED - " - fi - - if kernel_is lt 5 2; then - CONFIG_CHECK+=" - ~NF_NAT_NEEDED - " - fi - - if use aufs; then - CONFIG_CHECK+=" - ~AUFS_FS - ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY - " - ERROR_AUFS_FS="CONFIG_AUFS_FS: is required to be set if and only if aufs-sources are used instead of aufs4/aufs3" - fi - - if use btrfs; then - CONFIG_CHECK+=" - ~BTRFS_FS - ~BTRFS_FS_POSIX_ACL - " - fi - - if use device-mapper; then - CONFIG_CHECK+=" - ~BLK_DEV_DM ~DM_THIN_PROVISIONING ~EXT4_FS ~EXT4_FS_POSIX_ACL ~EXT4_FS_SECURITY - " - fi - - if use overlay; then - CONFIG_CHECK+=" - ~OVERLAY_FS ~EXT4_FS_SECURITY ~EXT4_FS_POSIX_ACL - " - fi - - linux-info_pkg_setup -} - -src_compile() { - export GOPATH="${WORKDIR}/${P}" - - # setup CFLAGS and LDFLAGS for separate build target - # see https://github.com/tianon/docker-overlay/pull/10 - export CGO_CFLAGS="-I${ROOT}/usr/include" - export CGO_LDFLAGS="-L${ROOT}/usr/$(get_libdir)" - - # if we're building from a tarball, we need the GITCOMMIT value - [[ ${DOCKER_GITCOMMIT} ]] && export DOCKER_GITCOMMIT - - # fake golang layout - ln -s docker-ce/components/engine ../docker || die - ln -s docker-ce/components/cli ../cli || die - - # let's set up some optional features :) - export DOCKER_BUILDTAGS='' - for gd in aufs btrfs device-mapper overlay; do - if ! use $gd; then - DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}" - fi - done - - for tag in apparmor seccomp; do - if use $tag; then - DOCKER_BUILDTAGS+=" $tag" - fi - done - - pushd components/engine || die - - if use hardened; then - sed -i "s/EXTLDFLAGS_STATIC='/&-fno-PIC /" hack/make.sh || die - grep -q -- '-fno-PIC' hack/make.sh || die 'hardened sed failed' - sed "s/LDFLAGS_STATIC_DOCKER='/&-extldflags -fno-PIC /" \ - -i hack/make/dynbinary-daemon || die - grep -q -- '-fno-PIC' hack/make/dynbinary-daemon || die 'hardened sed failed' - fi - - # build daemon - VERSION="$(cat ../../VERSION)" \ - ./hack/make.sh dynbinary || die 'dynbinary failed' - - popd || die # components/engine - - pushd components/cli || die - - # build cli - emake \ - LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \ - VERSION="$(cat ../../VERSION)" \ - GITCOMMIT="${DOCKER_GITCOMMIT}" \ - DISABLE_WARN_OUTSIDE_CONTAINER=1 \ - dynbinary - - # build man pages - go build -o gen-manpages github.com/docker/cli/man || die - ./gen-manpages --root . --target ./man/man1 || die - ./man/md2man-all.sh -q || die - rm gen-manpages || die - # see "components/cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man) - - popd || die # components/cli -} - -src_install() { - dosym containerd /usr/bin/docker-containerd - dosym containerd-shim /usr/bin/docker-containerd-shim - dosym runc /usr/bin/docker-runc - use container-init && dosym tini /usr/bin/docker-init - - pushd components/engine || die - newbin bundles/dynbinary-daemon/dockerd-${PV} dockerd - - newinitd contrib/init/openrc/docker.initd docker - newconfd contrib/init/openrc/docker.confd docker - - systemd_dounit contrib/init/systemd/docker.{service,socket} - - udev_dorules contrib/udev/*.rules - - dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md NOTICE README.md - dodoc -r docs/* - - insinto /usr/share/vim/vimfiles - doins -r contrib/syntax/vim/ftdetect - doins -r contrib/syntax/vim/syntax - - # note: intentionally not using "doins" so that we preserve +x bits - dodir /usr/share/${PN}/contrib - cp -R contrib/* "${ED}/usr/share/${PN}/contrib" - popd || die # components/engine - - pushd components/cli || die - - newbin build/docker-* docker - - doman man/man*/* - - dobashcomp contrib/completion/bash/* - insinto /usr/share/fish/vendor_completions.d/ - doins contrib/completion/fish/docker.fish - insinto /usr/share/zsh/site-functions - doins contrib/completion/zsh/_* - popd || die # components/cli -} - -pkg_postinst() { - udev_reload - - elog - elog "To use Docker, the Docker daemon must be running as root. To automatically" - elog "start the Docker daemon at boot, add Docker to the default runlevel:" - elog " rc-update add docker default" - elog "Similarly for systemd:" - elog " systemctl enable docker.service" - elog - elog "To use Docker as a non-root user, add yourself to the 'docker' group:" - elog " usermod -aG docker youruser" - elog - - elog " Devicemapper storage driver has been deprecated" - elog " It will be removed in a future release" -} diff --git a/app-emulation/fuse-utils/Manifest b/app-emulation/fuse-utils/Manifest index ea39ed8b1590..787d472fad5f 100644 --- a/app-emulation/fuse-utils/Manifest +++ b/app-emulation/fuse-utils/Manifest @@ -1,3 +1,4 @@ +AUX remove-local-prefix.patch 841 BLAKE2B c29e10ed335d431c0cbd88a26028c03599c32d9ded001fa1f61f805589bd1c52352b52ac8f99c147af315ee91d65681d1c0aa355567108f92767f36fa6f6dee1 SHA512 c15ac87af402e06296d76459a13b5817be7393839ca1566c6f0eefaa3055f7f3f0dc7589f762d9caa0e0bd356790bbb1aca5c3ee6166155577bf3520f25ed125 DIST fuse-utils-1.4.3.tar.gz 501006 BLAKE2B 0637fe05b71416e89eb61e3618ff45bd71250201924fb3741a4c5b9898d09b30acecba9957baeaa864c2c9cfe1bcb9cb38a2af83368bc5729221cec36a1eda47 SHA512 13404d1be81a2de9262cd79cce9dd8dc3f17238fdbb75da8a724b76b0976c03f34da9978af36b808103fedcf3f5d5da4bb10f251c5510127d59ca8de5607b99e -EBUILD fuse-utils-1.4.3.ebuild 795 BLAKE2B 13acba2469ffdad7e89436efd518aeb2767565506217971e2df1d5e12e06733e88d63c05f5aa4f3c64385787271a1e8e31cbc4b04ad04d71bd205d73cf3a3387 SHA512 b1392dcee95f6ad700c1acba03934eefde74e6aa9d005738468c9fd5b069c3c29ed1614fee54483d13231588456d43cce9854eb4e0eeec713eca08800a22999f +EBUILD fuse-utils-1.4.3.ebuild 906 BLAKE2B 5d0e2325e3256617e87a1a147626cfa74b3e77638dc0218a45952e469cdf046ca76e97f61667f41bd63965795fbdc69ec3adf0689f6f7464795608dca71415bd SHA512 0d64435c04cfeb91259f0969aeb99b2d84128861772f9c2baa344bb4956b18c9d14e0d8e7251c9491b7a0fabd6fb82d8e590ef210263c6e5050b2dd11724b347 MISC metadata.xml 602 BLAKE2B 434afcae9b53d97c7c5ed9f4c5dca410f6f5b39716b751a5a04458a9420652b8403dbbe1d24f73ebaebea34f45f7d6138ade181388772a5294419c86fd033d78 SHA512 42657b608b54739aa7d1cc56c7172bac79b00d327594334e13c471fa52c5d2e026aedff351758b5a292bc89b19d340ee04727ed5a551b9f6c944b096762dae17 diff --git a/app-emulation/fuse-utils/files/remove-local-prefix.patch b/app-emulation/fuse-utils/files/remove-local-prefix.patch new file mode 100644 index 000000000000..41daba71cdd9 --- /dev/null +++ b/app-emulation/fuse-utils/files/remove-local-prefix.patch @@ -0,0 +1,22 @@ +diff -Naur fuse-utils-1.4.3/configure.ac fuse-utils-1.4.3-patched/configure.ac +--- fuse-utils-1.4.3/configure.ac 2018-07-01 02:09:55.000000000 +0200 ++++ fuse-utils-1.4.3-patched/configure.ac 2020-07-28 17:02:05.287721692 +0200 +@@ -92,18 +92,6 @@ + ) + fi + +-dnl Allow the user to say that various libraries are in one place +-AC_ARG_WITH(local-prefix, +-[ --with-local-prefix=PFX local libraries installed in PFX (optional)], +-CPPFLAGS="$CPPFLAGS -I$withval/include"; +-CXXFLAGS="$CXXFLAGS -I$withval/include"; +-LDFLAGS="$LDFLAGS -L$withval/lib", +-if test "$prefix" != "NONE"; then +- CPPFLAGS="$CPPFLAGS -I$prefix/include"; +- CXXFLAGS="$CXXFLAGS -I$prefix/include"; +- LDFLAGS="$LDFLAGS -L$prefix/lib" +-fi) +- + dnl Check if libjpeg is available and supports jpeg_write_scanlines + AC_MSG_CHECKING(whether to use libjpeg) + AC_ARG_WITH(libjpeg, diff --git a/app-emulation/fuse-utils/fuse-utils-1.4.3.ebuild b/app-emulation/fuse-utils/fuse-utils-1.4.3.ebuild index fb8728c0836b..8e44998a4a6a 100644 --- a/app-emulation/fuse-utils/fuse-utils-1.4.3.ebuild +++ b/app-emulation/fuse-utils/fuse-utils-1.4.3.ebuild @@ -1,8 +1,10 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 +inherit autotools + DESCRIPTION="Utils for the Free Unix Spectrum Emulator by Philip Kendall" HOMEPAGE="http://fuse-emulator.sourceforge.net" SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" @@ -20,6 +22,15 @@ RDEPEND=">=app-emulation/libspectrum-1.4.4[gcrypt?,zlib?] DEPEND="${RDEPEND} virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/remove-local-prefix.patch +) + +src_prepare() { + default + eautoreconf +} + src_configure() { local myconf=( $(use_with audiofile) diff --git a/app-emulation/fuse/Manifest b/app-emulation/fuse/Manifest index 553124f659a9..19e75902d6f8 100644 --- a/app-emulation/fuse/Manifest +++ b/app-emulation/fuse/Manifest @@ -1,5 +1,6 @@ +AUX remove-local-prefix.patch 745 BLAKE2B 752dc9df4ad9b33a84493e4939d9c30687a730ecc628301a4bbc16f46410d73c8f7b64376788721f04c06404685ef300c2dc423c1843258748c377c6d61232a4 SHA512 25771be029e61654398bb1c36b1c31bc44f136e7e369c72faa3869f94807558c0d1b324ac803d79a898410fd14661d02a8286cda19dc25c79ebca6c387b817a3 DIST fuse-1.5.6.tar.gz 1634711 BLAKE2B a581c106c668f0342b4a3b4ebbc0e92e750806e59d067798e23da02284cbb9a17cf580c5b6369144863fbf64b12326ea2982e4d83e87354d62ff51926e3293de SHA512 84312e4f83883b36d06f2b96ded1bfc71675cba71a0848f4cbb5a233a1d1c06466013d2655d759397f32d6d67d6ba26b2b6a5041796cb9143cd0b354a88fd589 DIST fuse-1.5.7.tar.gz 1634568 BLAKE2B 9d2f3c310132dc57336995c31adeb37d727506719d1089b2009a2f44cbfa59fc9c4e9252aeff64cdd22b7326328518b5da33af51be687f321b891b9d1dd2b646 SHA512 ac11e03fc203f98433253fb72d7700cf6285ad8662147f318bb4ceda3888bc865b80d85473a3b2bda9e0971989b1579fc928f41ddabbf01d58358362066be13d -EBUILD fuse-1.5.6.ebuild 1709 BLAKE2B 4b993e540c8510a608912b733b8bd42311fe4e1afd392255fa1be316f424ef4efd375ef5dd16893d6298ca261ac6a816e04c338473619e211a147fbeed6091d2 SHA512 d2deeb6bed41cc69ca423d91261cdf84f2ce027d91d54fb9805cdf142674173766033a75616be58ab22c950dabbce215fcff786662da23862a4ba7cc42faaa1f -EBUILD fuse-1.5.7.ebuild 1709 BLAKE2B 4b993e540c8510a608912b733b8bd42311fe4e1afd392255fa1be316f424ef4efd375ef5dd16893d6298ca261ac6a816e04c338473619e211a147fbeed6091d2 SHA512 d2deeb6bed41cc69ca423d91261cdf84f2ce027d91d54fb9805cdf142674173766033a75616be58ab22c950dabbce215fcff786662da23862a4ba7cc42faaa1f +EBUILD fuse-1.5.6.ebuild 1823 BLAKE2B 9b00e74118e6e8070dd6893accd12cb68ed63c0abb7e7a1c263d28122f791926ed757222a7aba6cdd6904a931936ce27f44d524348cca6eb72efffb47f15cef7 SHA512 a49b5e820de1a3a67b05b1f9385a0e12a3cbd150f83f637adfc0b1555d7083210b17aaa08e7954053a4f241edf711efaa299982e52dc9075852341043a571c65 +EBUILD fuse-1.5.7.ebuild 1823 BLAKE2B 9b00e74118e6e8070dd6893accd12cb68ed63c0abb7e7a1c263d28122f791926ed757222a7aba6cdd6904a931936ce27f44d524348cca6eb72efffb47f15cef7 SHA512 a49b5e820de1a3a67b05b1f9385a0e12a3cbd150f83f637adfc0b1555d7083210b17aaa08e7954053a4f241edf711efaa299982e52dc9075852341043a571c65 MISC metadata.xml 801 BLAKE2B 0a1504d02b423a72ad2d087489f9a0808dd2fb60643dc5c4a90625ce888cb6e9469195c919a3f9827bc0731afdf3ba739c2649692070c9d468a391e77eb9117a SHA512 dcb8d6a43cea89804e932e07dedf7d0fa3cabaf31aaa697f062e6e22a24c3c49e12a918e0cfd353d814ce1973c643b08f27710f95e696736bba2f174fbda76d5 diff --git a/app-emulation/fuse/files/remove-local-prefix.patch b/app-emulation/fuse/files/remove-local-prefix.patch new file mode 100644 index 000000000000..61bf33a1adc7 --- /dev/null +++ b/app-emulation/fuse/files/remove-local-prefix.patch @@ -0,0 +1,18 @@ +diff -Naur fuse-1.5.7/configure.ac fuse-1.5.7-patched/configure.ac +--- fuse-1.5.7/configure.ac 2018-12-09 13:06:11.000000000 +0100 ++++ fuse-1.5.7-patched/configure.ac 2020-07-28 17:02:33.678546857 +0200 +@@ -110,14 +110,6 @@ + AX_STRINGS_STRCASECMP + fi + +-dnl Allow the user to say that various libraries are in one place +-AC_ARG_WITH(local-prefix, +-[ --with-local-prefix=PFX local libraries installed in PFX (optional)], +-CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", +-if test "$prefix" != "NONE"; then +- CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" +-fi) +- + dnl Check that libspectrum is available and that it is new enough + PKG_CHECK_MODULES([LIBSPECTRUM], [libspectrum >= 1.4.0]) + diff --git a/app-emulation/fuse/fuse-1.5.6.ebuild b/app-emulation/fuse/fuse-1.5.6.ebuild index 0e1754ea0792..ffc3cfaeb973 100644 --- a/app-emulation/fuse/fuse-1.5.6.ebuild +++ b/app-emulation/fuse/fuse-1.5.6.ebuild @@ -1,8 +1,10 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 +inherit autotools + DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall" HOMEPAGE="http://fuse-emulator.sourceforge.net" SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" @@ -35,6 +37,15 @@ DEPEND="${RDEPEND} DOCS=( AUTHORS ChangeLog README THANKS ) +PATCHES=( + "${FILESDIR}"/remove-local-prefix.patch +) + +src_prepare() { + default + eautoreconf +} + src_configure() { local myconf=( --without-win32 diff --git a/app-emulation/fuse/fuse-1.5.7.ebuild b/app-emulation/fuse/fuse-1.5.7.ebuild index 0e1754ea0792..ffc3cfaeb973 100644 --- a/app-emulation/fuse/fuse-1.5.7.ebuild +++ b/app-emulation/fuse/fuse-1.5.7.ebuild @@ -1,8 +1,10 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 +inherit autotools + DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall" HOMEPAGE="http://fuse-emulator.sourceforge.net" SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" @@ -35,6 +37,15 @@ DEPEND="${RDEPEND} DOCS=( AUTHORS ChangeLog README THANKS ) +PATCHES=( + "${FILESDIR}"/remove-local-prefix.patch +) + +src_prepare() { + default + eautoreconf +} + src_configure() { local myconf=( --without-win32 diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest index 7054e84f1449..11b3154f3c7b 100644 --- a/app-emulation/gallium-nine-standalone/Manifest +++ b/app-emulation/gallium-nine-standalone/Manifest @@ -1,6 +1,6 @@ AUX 0.3-nine-dll-path.patch 414 BLAKE2B a1747c90521f2fec6ba70ea77c2b7a2adafd705e04a46ea14fe983859f00c0aa33ec73dc24a03805579b84b57a2528857994943bb999e2f38c6f652404fd661e SHA512 423a7ebd8284c475d226109e0af9d867753b75ff1d1a9100d948c91e71dbc76bd8d8973e4ecf3fdb8fab5555da6339484459c623f028f7091e9d010395f24970 -AUX 0.5-flags.patch 852 BLAKE2B 22423ccfcfcc111a52a3daf2c46f4e7e39d08f63d59c8c85ba3f8be97d972b1e251d4328e8ea8c123cbf7b403d0a94f84b97b9c16df2b1d5d14e82a44b36f2a6 SHA512 696069c9b70017be64dea6607ea67d49fa53057508cc75124161a44f0b8dc52053698612a8ba63ae2060c1dcfa80a57eb7e1546e2bf35be988871ce4e794cb90 -DIST gallium-nine-standalone-0.5.tar.gz 69056 BLAKE2B 6acfd500a31e480e2e09e751097beaa2bc94c574edd2b313adb707dc65447be1868ed190bf13549cc38eae945d421242a5d3b2c068486ad35347903e27e0bf80 SHA512 6223a851536c67d32e3a834d7a3c7b93fb59c226b127e1ee1b5a72a7cc93172173f5004ca4944a842015650ef80e8427a684109ae5a4a9e9ef838961e0767c78 -EBUILD gallium-nine-standalone-0.5.ebuild 2771 BLAKE2B c9578cb82b0320c1c1a7c47a6d7e2e540c1ecb75ab407a6e816bc9ef15fcdb80e6d52508ae322fb7dd3d8402fda4f15400d9d81f9208b87f539ed9efe51d4bd3 SHA512 91d7ee72c8e9360a6f145ed0190ef459a84a904f42509a516bef6869cc888a60439caa96c27a0a87433ac9d553f331df5cfb147a69070a54716c1f89a189e882 -EBUILD gallium-nine-standalone-9999.ebuild 2771 BLAKE2B c9578cb82b0320c1c1a7c47a6d7e2e540c1ecb75ab407a6e816bc9ef15fcdb80e6d52508ae322fb7dd3d8402fda4f15400d9d81f9208b87f539ed9efe51d4bd3 SHA512 91d7ee72c8e9360a6f145ed0190ef459a84a904f42509a516bef6869cc888a60439caa96c27a0a87433ac9d553f331df5cfb147a69070a54716c1f89a189e882 +AUX 0.7-cross-files.patch 924 BLAKE2B f272fe2034d2b17db3ac19e93a5f121970dcc3a0a76bb9ceb0f38bf63632f379f83c86dff70677ece94965658c029d0761ad55133fe58fb576305fdcaee2f3b5 SHA512 94ad1b8806be083c1fae89f3601c2881f696538266c8c4159c4dfb3507737fd03c6cbac08d07bfd8a4d965011b28298e14dbdc5c51fba9ba6ba952d74171012c +DIST gallium-nine-standalone-0.7.tar.gz 67699 BLAKE2B 85520de46e0e821f63d89691e322c3001ae853a0058a5077b484da6a1596a7ed03d2e2b7dc2686661fd21d34b33e10f4549437ce5790f18e1e6cc77c894e9d1e SHA512 9007564347bb6677f3d4eff83f744d39487c09b543489f02dcf7606917ecd9b72decf8176d9daecb6039b8998e97f737d9f7a71a5052f4d5c73f2e99e92af43c +EBUILD gallium-nine-standalone-0.7.ebuild 2872 BLAKE2B 26287c4c3284ac76bc75052682796b9dde89e8d5628c1f28fe76eb4a31d02c1771cc33d92dbbd35c0316d36824fef79cb1ab5140349e6420d666f24caddcbfca SHA512 b6697499f1c807f378bbf16d8cfbfd576729e7aca85332cd9af448f547a898dab965ff5b21ae5e8db4a5a75d0f9013e1fd295ac342ee81ea83998afd0d855233 +EBUILD gallium-nine-standalone-9999.ebuild 2872 BLAKE2B 26287c4c3284ac76bc75052682796b9dde89e8d5628c1f28fe76eb4a31d02c1771cc33d92dbbd35c0316d36824fef79cb1ab5140349e6420d666f24caddcbfca SHA512 b6697499f1c807f378bbf16d8cfbfd576729e7aca85332cd9af448f547a898dab965ff5b21ae5e8db4a5a75d0f9013e1fd295ac342ee81ea83998afd0d855233 MISC metadata.xml 774 BLAKE2B 8b793ed6e079a800628ed7e59786bc82dd191c05367ef5e1600f903f3ebfd32c9ab0034a1dba1701ec104348cf1b9a8b437b63300e607a65ee92b1887be4800f SHA512 9453d7d767ba7f788291c6980a86388a0f952b893a474aa17e249c4f3b9b77b864108230fdc8f8b94e74eb45443f608a8d9ecde10cbc121234c9b91f59e7b752 diff --git a/app-emulation/gallium-nine-standalone/files/0.5-flags.patch b/app-emulation/gallium-nine-standalone/files/0.5-flags.patch deleted file mode 100644 index 7c0e883d697d..000000000000 --- a/app-emulation/gallium-nine-standalone/files/0.5-flags.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur a/tools/cross-wine32.in b/tools/cross-wine32.in ---- a/tools/cross-wine32.in 2019-09-25 13:25:24.000000000 +0100 -+++ b/tools/cross-wine32.in 2019-09-30 23:05:00.121344967 +0100 -@@ -5,8 +5,8 @@ - pkgconfig = '@PKG_CONFIG@' - - [properties] --c_args = ['-m32'] --c_link_args = ['-m32', '-mwindows'] -+c_args = @CFLAGS@ + ['-m32'] -+c_link_args = @LDFLAGS@ + ['-m32', '-mwindows'] - needs_exe_wrapper = true - - [host_machine] -diff -Naur a/tools/cross-wine64.in b/tools/cross-wine64.in ---- a/tools/cross-wine64.in 2019-09-25 13:25:24.000000000 +0100 -+++ b/tools/cross-wine64.in 2019-09-30 23:04:57.340283350 +0100 -@@ -5,8 +5,8 @@ - pkgconfig = '@PKG_CONFIG@' - - [properties] --c_args = ['-m64'] --c_link_args = ['-m64', '-mwindows'] -+c_args = @CFLAGS@ + ['-m64'] -+c_link_args = @LDFLAGS@ + ['-m64', '-mwindows'] - needs_exe_wrapper = true - - [host_machine] diff --git a/app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch b/app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch new file mode 100644 index 000000000000..fed5c0403688 --- /dev/null +++ b/app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch @@ -0,0 +1,34 @@ +diff --git a/tools/cross-wine32.in b/tools/cross-wine32.in +index bfbe410..0064cf8 100644 +--- a/tools/cross-wine32.in ++++ b/tools/cross-wine32.in +@@ -5,9 +5,10 @@ strip = 'strip' + pkgconfig = '@PKG_CONFIG@' + + [properties] +-c_args = ['-m32'] +-c_link_args = ['-m32', '-mwindows'] ++c_args = @CFLAGS@ + ['-m32'] ++c_link_args = @LDFLAGS@ + ['-m32', '-mwindows'] + needs_exe_wrapper = true ++pkg_config_libdir = '@PKG_CONFIG_LIBDIR@' + + [host_machine] + system = 'linux' +diff --git a/tools/cross-wine64.in b/tools/cross-wine64.in +index 5e19023..06b1f2a 100644 +--- a/tools/cross-wine64.in ++++ b/tools/cross-wine64.in +@@ -5,9 +5,10 @@ strip = 'strip' + pkgconfig = '@PKG_CONFIG@' + + [properties] +-c_args = ['-m64'] +-c_link_args = ['-m64', '-mwindows'] ++c_args = @CFLAGS@ + ['-m64'] ++c_link_args = @LDFLAGS@ + ['-m64', '-mwindows'] + needs_exe_wrapper = true ++pkg_config_libdir = '@PKG_CONFIG_LIBDIR@' + + [host_machine] + system = 'linux' diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.5.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.5.ebuild deleted file mode 100644 index 1cede2d14203..000000000000 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.5.ebuild +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit meson multilib-minimal toolchain-funcs - -MY_PN="wine-nine-standalone" -DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" -HOMEPAGE="https://github.com/iXit/wine-nine-standalone" - -if [[ $PV = 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" -else - SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${MY_PN}-${PV}" - KEYWORDS="-* ~amd64 ~x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" - -# We don't put Wine in RDEPEND because you can also use this with -# Steam's Proton. - -RDEPEND=" - media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}] - x11-libs/libX11[${MULTILIB_USEDEP}] - x11-libs/libxcb[${MULTILIB_USEDEP}] -" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - virtual/wine[${MULTILIB_USEDEP}] - >=dev-util/meson-0.50.1 -" - -PATCHES=( - "${FILESDIR}"/0.5-flags.patch - "${FILESDIR}"/0.3-nine-dll-path.patch -) - -bits() { - if [[ ${ABI} = amd64 ]]; then - echo 64 - else - echo 32 - fi -} - -src_prepare() { - default - - # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to - # create the Meson cross files. We improve on that here but also - # inject CFLAGS and LDFLAGS, partly to simply respect these, and - # partly to allow d3d9-nine.dll to be loaded from a location outside - # WINEPREFIX. This avoids the need for the nine-install.sh script, - # which doesn't play well with our multi-Wine environment. - bootstrap_nine() { - local file=tools/cross-wine$(bits) - local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" - - sed \ - -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ - -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ - -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ - ${file}.in > ${file} || die - } - - multilib_foreach_abi bootstrap_nine -} - -multilib_src_configure() { - # We override bindir because otherwise the 32-bit exe is overwritten - # by the 64-bit exe and we need both of them. - local emesonargs=( - --cross-file "${S}/tools/cross-wine$(bits)" - --bindir "$(get_libdir)" - -Ddistro-independent=false - -Ddri2=false - ) - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile -} - -multilib_src_install() { - meson_src_install -} - -pkg_postinst() { - local bits=$(bits) - - einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it." - einfo - einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:" - einfo " wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so" - - if use abi_x86_64 && use abi_x86_32; then - einfo - einfo "To set up the 32-bit library, launch your preferred Wine as follows:" - einfo " wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so" - fi -} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild new file mode 100644 index 000000000000..3e96326a2fc8 --- /dev/null +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit meson multilib-minimal toolchain-funcs + +MY_PN="wine-nine-standalone" +DESCRIPTION="A standalone version of the WINE parts of Gallium Nine" +HOMEPAGE="https://github.com/iXit/wine-nine-standalone" + +if [[ $PV = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/iXit/${MY_PN}.git" +else + SRC_URI="https://github.com/iXit/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${MY_PN}-${PV}" + KEYWORDS="-* ~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" + +# We don't put Wine in RDEPEND because you can also use this with +# Steam's Proton. + +RDEPEND=" + media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libxcb[${MULTILIB_USEDEP}] +" + +DEPEND=" + ${RDEPEND} + virtual/pkgconfig + virtual/wine[${MULTILIB_USEDEP}] + >=dev-util/meson-0.50.1 +" + +PATCHES=( + "${FILESDIR}"/0.7-cross-files.patch + "${FILESDIR}"/0.3-nine-dll-path.patch +) + +bits() { + if [[ ${ABI} = amd64 ]]; then + echo 64 + else + echo 32 + fi +} + +src_prepare() { + default + + # Upstream includes a bootstrap.sh script with hardcoded CHOSTs to + # create the Meson cross files. We improve on that here but also + # inject CFLAGS and LDFLAGS, partly to simply respect these, and + # partly to allow d3d9-nine.dll to be loaded from a location outside + # WINEPREFIX. This avoids the need for the nine-install.sh script, + # which doesn't play well with our multi-Wine environment. + bootstrap_nine() { + local file=tools/cross-wine$(bits) + local g9dll=\"Z:${EPREFIX}/usr/$(get_libdir)/d3d9-nine.dll.so\" + + sed \ + -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ + -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ + -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ + ${file}.in > ${file} || die + } + + multilib_foreach_abi bootstrap_nine +} + +multilib_src_configure() { + # We override bindir because otherwise the 32-bit exe is overwritten + # by the 64-bit exe and we need both of them. + local emesonargs=( + --cross-file "${S}/tools/cross-wine$(bits)" + --bindir "$(get_libdir)" + -Ddistro-independent=false + -Ddri2=false + ) + meson_src_configure +} + +multilib_src_compile() { + meson_src_compile +} + +multilib_src_install() { + meson_src_install +} + +pkg_postinst() { + local bits=$(bits) + + einfo "Don't remove the Z: drive from your WINEPREFIX as this relies on it." + einfo + einfo "To set up the ${bits}-bit library, launch your preferred Wine as follows:" + einfo " wine${bits/32} ${EPREFIX}/usr/$(get_libdir)/ninewinecfg.exe.so" + + if use abi_x86_64 && use abi_x86_32; then + einfo + einfo "To set up the 32-bit library, launch your preferred Wine as follows:" + einfo " wine ${EPREFIX}/usr/$(ABI=x86 get_libdir)/ninewinecfg.exe.so" + fi +} diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild index 1cede2d14203..3e96326a2fc8 100644 --- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild +++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -38,7 +38,7 @@ DEPEND=" " PATCHES=( - "${FILESDIR}"/0.5-flags.patch + "${FILESDIR}"/0.7-cross-files.patch "${FILESDIR}"/0.3-nine-dll-path.patch ) @@ -67,6 +67,7 @@ src_prepare() { -e "s!@PKG_CONFIG@!$(tc-getPKG_CONFIG)!" \ -e "s!@CFLAGS@!$(_meson_env_array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \ -e "s!@LDFLAGS@!$(_meson_env_array "${LDFLAGS}")!" \ + -e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \ ${file}.in > ${file} || die } diff --git a/app-emulation/ganeti/Manifest b/app-emulation/ganeti/Manifest index fa168ffe880d..8c76d3191f7c 100644 --- a/app-emulation/ganeti/Manifest +++ b/app-emulation/ganeti/Manifest @@ -11,6 +11,7 @@ AUX ganeti-2.12-qemu-enable-kvm.patch 569 BLAKE2B be0e80b3cbadee22a4f1d19161d19e AUX ganeti-2.12-start-stop-daemon-args.patch 1310 BLAKE2B 086e10664e461dbab1476a956027787c10161f19b65784ee8bacb1c2a8e128cd8604597441027d3bb34ed4bc925ddef1f2742c2ec2a3178157fb7f9ba1482894 SHA512 dad3fdbecc1efcb01cd22ba277122f07c7193eb11ad5e45d5e6c82ccace5cf13f1d666241412a484ffbf5581d652329b8fd267ab0fdca4ae79966f3c40cd579e AUX ganeti-2.13-process_unittest.patch 1027 BLAKE2B ad736721ab1d2d465b1071144cc741589b716acededd79d724e8b9f3f12bd2c747e132884dbecbbfaf897501fd75850870ec09edd93d8a137381a578f99b6797 SHA512 305b7fc43e8b0e9ce3d830be68d6f309b4b7cea54505b1bc615f83255a52d75cc6010ceafc1a44b5e4ce359936f8294bdfeb8fe7f616a81f15a1174851f69f34 AUX ganeti-2.15-daemon-util.patch 1449 BLAKE2B e2c17a6c57025b91bf48f130f7ba0bfbbad7396188aa5da79ebcca97d8664a1b0605b4624b7aeaa60f21816a371396162b4b35a019a7733969d3a9478d0ab309 SHA512 026d7e5c0b3278f005ceea0d338ea023dd1f07ce109bcf2953defb14394cf83234ec08730eed454d4eac3880adb6b1d68f28b2f04f755c961ca6b67a4a66ad5a +AUX ganeti-2.15-disable-docs.patch 1872 BLAKE2B 59df4281aaef54bdfed07cf031f12e958a176a94232652c0c5109518afbf689d0639e1dcf9fc983a0550b2146727f20f495cb70a906776cb46874eeda75e915f SHA512 dfbca93cc367789da33b78a9e780d976abb29dbf4138e9a30556cb4e3985d88023ea572f4f718c32c8b40f0ad5237b5dcabd663c336fdab0e39dd9f1fbc000ec AUX ganeti-2.15-dont-invert-return-values-for-man-warnings.patch 413 BLAKE2B 6b37e766fc014c4b19812e729c07fa991c6a259e6d848fafc1e67b3491985d7ffb64523c411918d0ad088f2f6618e199c300f79fdc9950e4e600ba04fe9caa7e SHA512 639e76c841542459a105a6406b58f89a90a96e5a2b16eaf116f548a39e511c4fd4d4dc495fdc466e821a2ee2c1026d67922d9478255ff907bb1a9219dace973a AUX ganeti-2.15-kvmd-run-as-daemon-user.patch 1267 BLAKE2B ec993c7eefca32eea45151de9ccc03e4a3b19c7e9279be8c142243c7ee544132e8d4c4edf4e269b492b9c27e254655e636c10863bdcbf092d5481e9c7e80293a SHA512 f4b8e76698f92ab0e90e8c809fed575a07edae8f8af62e492cdde34cdd60c0f0a0b0ad74e63ab968f38ac7fb24b5f786a14184bfad2e0519805de09a095764fd AUX ganeti-2.15-noded-must-run-as-root.patch 1652 BLAKE2B ed019d793ede24eef2edf3e525bd1c859edfd71cb814b75b84565547e63df64bd21999f4c9a181209b98539b5c6c3aaad92a93b8ad10ace103480795a95758db SHA512 6c055cd56088762e143fdcc1903943f2bcd565b46d9669b8905128b9885db27819f65d0c80dfd2ff05776bb8e38f23fc055597343e5a7eeb41821653e08a0f3a @@ -38,7 +39,7 @@ DIST ganeti-2.15_2.15.2-11.debian.tar.xz 67652 BLAKE2B d10f83a59a1c2d05fa6704dfd DIST ganeti-2.16.0~rc1.tar.gz 4794934 BLAKE2B 867d7d48e98d4490db8279b83b44006e0afc1a421592d523db2d04b4b04636090686773ef890c89df41f0311cbf3c4d5a2c314c39c4429f50b07a7a6d1a9616f SHA512 a4bed40e48ecd8ee1f3f8137faf28aea38ffb8955f48bbd233be17660035679fa27d0ef6f8fe20507d34ca9e1dd594e564c9c53412364b6cc05dc8ed2f5602be DIST ganeti-2.17.0~beta1.tar.gz 4880091 BLAKE2B bd094ac421b8b49abcd7643641aa4c2d62aa2f8a4ab55289711cef8c47cc32634bf06b99adbf9383de3945766112a1838d2191dfb51013dc4fba81676e264e64 SHA512 d836444ea5696c9689ee0fae56192720ef79b2a4a8962c031abacc7ef02ebbb9e9cdadd15aa5d315c2d3da6cbe5043b6c22b9ed94fd13883b5dfa23e08a2867e DIST ganeti_2.16.0~rc1-1.debian.tar.xz 41892 BLAKE2B 3220b9a071259cee3a86771b6f4d312c23392f428e1e0452f17f48140b6df5193447dd0fa1b5185d6866cfe48c8eb3dd6d22f01f930499471eab7044ca9b7268 SHA512 4501bc058b65adee6285c3d0dcf76ee8bfc4759af6bb11b0414503c6990c7d09942f3cc8e08d270e76bcf13211cc113f44304393dadd2bb8588d9b15230538af -EBUILD ganeti-2.15.2-r10.ebuild 12375 BLAKE2B a08ec6e74df047d59339b56920ca84ac6bc018d20420482a11fad142d4b7383798a78bd07aceae4a5793d49cab01c7fced528323e48ca87fb71002d3ca09e19e SHA512 5e24ab704ce3a12e9d4d7ade712251d843c79b2bd8a8ebb7dc9788d885745cb034195caec920698e62d17995dda6670114d059bb5d3cd80c21f1a5e008e9490a +EBUILD ganeti-2.15.2-r11.ebuild 12432 BLAKE2B 32c9eebcfa58ea6da37414e009b21e3b4d268824ab8ed43e2cf3600609e3475907ce494e5be0c86eff43e92bc364d1af875efc67d81abb73b5058c40f4570324 SHA512 5a572a56512fb8d47fa5b411168e0ac2b299ec1da6efd8445c342738dabf19209d9a6408a0a8fba901aac84ef00b29e2fed37106fd5d04326ac3fda6d6432c46 EBUILD ganeti-2.16.0_rc1.ebuild 10619 BLAKE2B 6f3a4aca5ac36c41671ce34a489e79fd6382055683722e34aee736c2baf9fa3ec4cb60e90eab9c2d9a7fed57391c84a793bfdd855a664238876a58931166e141 SHA512 a11bf679646bcd6081efb028fc1333e3e98c6551cefeff4d9336f585990050533ef57ba2ca5cb7ef3aa0f966afa0c9e532b999c169df30b453cedb03bd638801 EBUILD ganeti-2.17.0_beta1.ebuild 10646 BLAKE2B 75c7e1d72d0a778dbaa0c5703c7a41ea7df3f3b1b20f4744d62e130be022d030953c1b3636f3f8d9e58a71d4c6ac4863f2cc4ed493db0e66eab95b5cb529e5a0 SHA512 77da930bdf819620f06c3e722b02a0afa4bfb4beed918a88f9f330d11605c9b8fdbb413f8af9f791a6c7e1c1071720f89966d52b958fe790209efe4582cf773f MISC metadata.xml 1961 BLAKE2B 1c7cc03a3dd655f75b8f9249c3b0b70a738af06a9a0529afb7c73abf6344b112e5daf610f6f6780acf0c3b14e916590c20c6f8837bb333e7da0cad6df7ba8520 SHA512 547dcaaf4392b13c5629e5555d17ba2d4e504b6ce0e043fdf440fce3d857477009aeab0af52cb92cc494ecb3e6e1a7e026fabbe6e24b9323fe47c2fc15175896 diff --git a/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch b/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch new file mode 100644 index 000000000000..adc2813d6a30 --- /dev/null +++ b/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch @@ -0,0 +1,44 @@ +--- a/Makefile.am 2020-08-04 18:21:12.395282115 +0000 ++++ b/Makefile.am 2020-08-04 18:21:48.636729501 +0000 +@@ -1160,41 +1160,6 @@ + # has to exist in order for the sphinx module to be loaded + # successfully, but we certainly don't want the docs to be rebuilt if + # it changes +-doc/html/index.html doc/man-html/index.html: $(docinput) doc/conf.py \ +- configure.ac $(RUN_IN_TEMPDIR) lib/build/sphinx_ext.py \ +- lib/build/shell_example_lexer.py lib/ht.py \ +- doc/css/style.css lib/rapi/connector.py lib/rapi/rlib2.py \ +- autotools/sphinx-wrapper | $(built_python_sources) +- @test -n "$(SPHINX)" || \ +- { echo 'sphinx-build' not found during configure; exit 1; } +-if !MANPAGES_IN_DOC +- if test -n '$(ENABLE_MANPAGES)'; then \ +- echo 'Man pages in documentation were disabled at configure time' >&2; \ +- exit 1; \ +- fi +-endif +-## Sphinx provides little control over what content should be included. Some +-## mechanisms exist, but they all have drawbacks or actual issues. Since we +-## build two different versions of the documentation--once without man pages and +-## once, if enabled, with them--some control is necessary. xmpp-wrapper provides +-## us with this, but requires running in a temporary directory. It moves the +-## correct files into place depending on environment variables. +- dir=$(dir $@) && \ +- @mkdir_p@ $$dir && \ +- PYTHONPATH=. ENABLE_MANPAGES=$(ENABLE_MANPAGES) COPY_DOC=1 \ +- HTML_THEME=$(SPHINX_HTML_THEME) \ +- $(RUN_IN_TEMPDIR) autotools/sphinx-wrapper $(SPHINX) -q -W -b html \ +- -d . \ +- -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \ +- -D release="$(PACKAGE_VERSION)" \ +- -D graphviz_dot="$(DOT)" \ +- doc $(CURDIR)/$$dir && \ +- rm -f $$dir/.buildinfo $$dir/objects.inv +- touch $@ +- +-doc/html: doc/html/index.html +- +-doc/man-html: doc/man-html/index.html + + doc/install-quick.rst: INSTALL + doc/news.rst: NEWS diff --git a/app-emulation/ganeti/ganeti-2.15.2-r10.ebuild b/app-emulation/ganeti/ganeti-2.15.2-r10.ebuild deleted file mode 100644 index 4427da82567e..000000000000 --- a/app-emulation/ganeti/ganeti-2.15.2-r10.ebuild +++ /dev/null @@ -1,386 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=(python2_7) -PYTHON_REQ_USE="ipv6(+)?" - -inherit user autotools bash-completion-r1 python-single-r1 - -MY_PV="${PV/_rc/~rc}" -MY_PV="${MY_PV/_beta/~beta}" -MY_P="${PN}-${MY_PV}" -SERIES="$(ver_cut 1-2)" - -DEBIAN_PATCH=11 -SRC_URI=" - http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz - mirror://debian/pool/main/g/ganeti-${SERIES}/ganeti-${SERIES}_${PV}-${DEBIAN_PATCH}.debian.tar.xz -" -KEYWORDS="~amd64 ~x86" -PATCHES=( - "${FILESDIR}"/ganeti-2.15-use-balloon-device.patch - "${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch - "${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8 - "${WORKDIR}"/debian/patches/relax-deps - "${WORKDIR}"/debian/patches/zlib-0.6-compatibility - "${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5 - "${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4 - "${WORKDIR}"/debian/patches/use-proper-cabal-dev.patch - "${WORKDIR}"/debian/patches/0001-Drop-dependency-on-MonadCatchIO-transformers.patch - "${WORKDIR}"/debian/patches/0001-GHC-8-support.patch - "${WORKDIR}"/debian/patches/ghc8-fixes - "${WORKDIR}"/debian/patches/snap-server-1.0-compat - "${WORKDIR}"/debian/patches/non-DSA-SSH-key-support.patch - "${WORKDIR}"/debian/patches/fix-ssh-key-renewal-on-single-node-clusters.patch - "${WORKDIR}"/debian/patches/set-defaults-for-ssh-type-bits.patch - "${WORKDIR}"/debian/patches/use-hv-class-to-check-for-migration.patch - "${WORKDIR}"/debian/patches/do-not-specify-socat-ssl-method.patch - "${WORKDIR}"/debian/patches/fix-ftbfs-with-sphinx-1.5.patch - "${WORKDIR}"/debian/patches/fix-failover-from-dead-node.patch - "${WORKDIR}"/debian/patches/fix-cpu-affinity.patch - "${WORKDIR}"/debian/patches/fix-fcntl-i386.patch - "${WORKDIR}"/debian/patches/fix-ovf-test-path.patch - "${WORKDIR}"/debian/patches/fix-qa-ssconf-race.patch - "${WORKDIR}"/debian/patches/relax-sphinx-version-check.patch - #"${WORKDIR}"/debian/patches/THH-2.12.patch - "${WORKDIR}"/debian/patches/sphinx-1.7.patch - "${WORKDIR}"/debian/patches/ca-use-sha256-md.patch - "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch - "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat-2.patch -) - -DESCRIPTION="Ganeti is a virtual server management software tool" -HOMEPAGE="http://www.ganeti.org/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands" -RESTRICT="!test? ( test )" - -REQUIRED_USE="|| ( kvm xen lxc ) - test? ( ipv6 ) - kvm? ( || ( amd64 x86 ) ) - ${PYTHON_REQUIRED_USE}" - -USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" -GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" - -DEPEND=" - dev-libs/openssl:0 - $(python_gen_cond_dep ' - dev-python/paramiko[${PYTHON_MULTI_USEDEP}] - dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}] - dev-python/simplejson[${PYTHON_MULTI_USEDEP}] - dev-python/pyparsing[${PYTHON_MULTI_USEDEP}] - dev-python/pyinotify[${PYTHON_MULTI_USEDEP}] - dev-python/pycurl[${PYTHON_MULTI_USEDEP}] - dev-python/ipaddr[${PYTHON_MULTI_USEDEP}] - dev-python/bitarray[${PYTHON_MULTI_USEDEP}] - dev-python/docutils[${PYTHON_MULTI_USEDEP}] - dev-python/fdsend[${PYTHON_MULTI_USEDEP}] - ') - || ( - net-misc/iputils[arping] - net-analyzer/arping - ) - net-analyzer/fping - net-misc/bridge-utils - net-misc/curl[ssl] - net-misc/openssh - net-misc/socat - sys-apps/iproute2 - >=sys-fs/lvm2-2.02.181 - >=sys-apps/baselayout-2.0 - >=dev-lang/ghc-8.0:0= - =dev-haskell/mtl-2.1.1:0= - >=dev-haskell/old-time-1.1.0.0:0= - >=dev-haskell/random-1.0.1.1:0= - haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= ) - >=dev-haskell/transformers-0.3.0.0:0= - - >=dev-haskell/attoparsec-0.10.1.1:0= - =dev-haskell/base64-bytestring-1.0.0.1:0= - =dev-haskell/crypto-4.2.4:0= - =dev-haskell/curl-1.3.7:0= - =dev-haskell/hinotify-0.3.2:0= - =dev-haskell/hslogger-1.1.4:0= - =dev-haskell/json-0.5:0= - >=dev-haskell/lens-3.10:0= - >=dev-haskell/lifted-base-0.2.0.3:0= - =dev-haskell/monad-control-1.0.1.0:0= - =dev-haskell/network-2.3.0.13:0= - =dev-haskell/parallel-3.2.0.2:3= - =dev-haskell/temporary-1.1.2.3:0= - =dev-haskell/regex-pcre-0.94.2:0= - =dev-haskell/transformers-base-0.4:0= - =dev-haskell/utf8-string-0.3.7:0= - >=dev-haskell/zlib-0.5.3.3:0= - =dev-haskell/psqueue-1.1:0= - =dev-haskell/snap-core-1.0.1:0= - =dev-haskell/snap-server-1.0.1:0= - =dev-haskell/case-insensitive-0.4.0.1 - - dev-haskell/vector:0= - xen? ( >=app-emulation/xen-3.0 ) - kvm? ( - dev-python/psutil - app-emulation/qemu - ) - lxc? ( app-emulation/lxc ) - drbd? ( sys-cluster/drbd-utils ) - rbd? ( sys-cluster/ceph ) - ipv6? ( net-misc/ndisc6 ) - ${PYTHON_DEPS}" -RDEPEND="${DEPEND} - !app-emulation/ganeti-htools" -DEPEND+=" - sys-devel/m4 - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_MULTI_USEDEP}] - ') - media-fonts/urw-fonts - media-gfx/graphviz - >=dev-haskell/test-framework-0.6:0= - =dev-haskell/test-framework-hunit-0.2.7:0= - =dev-haskell/test-framework-quickcheck2-0.2.12.1:0= - =dev-haskell/hunit-1.2.4.2:0= - =dev-haskell/quickcheck-2.4.2:2= - =net-misc/socat-1.7 - dev-util/shelltestrunner - )" - -PATCHES+=( - "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" - "${FILESDIR}/${PN}-2.11-add-pgrep.patch" - "${FILESDIR}/${PN}-2.15-daemon-util.patch" - "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" - "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" - "${FILESDIR}/${PN}-2.10-rundir.patch" - "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" - "${FILESDIR}/${PN}-2.11-tests.patch" - "${FILESDIR}/${PN}-lockdir.patch" - "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" - "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" - "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" - "${FILESDIR}/${PN}-2.13-process_unittest.patch" - "${FILESDIR}/${PN}-2.15-python-mock.patch" - "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch" - "${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch" - "${FILESDIR}/${PN}-2.15-kvmd-run-as-daemon-user.patch" - "${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch" - "${FILESDIR}/${PN}-2.15-respect-HFLAGS.patch" - "${FILESDIR}/ganeti-2.15.2-bdev_py.patch" - "${FILESDIR}/ganeti-2.15.2-check-man-warnings.patch" - "${FILESDIR}/ganeti-2.15.2-ftbfs-sphinx-warning.patch" - "${FILESDIR}/ganeti-2.15.2-pyopenssl.patch" -) - -S="${WORKDIR}/${MY_P}" - -QA_WX_LOAD=" - usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d - usr/lib*/${PN}/${SERIES}/usr/bin/htools -" -# haskell... -QA_FLAGS_IGNORED=" - /usr/lib64/ganeti/2.15/usr/sbin/ganeti-metad - /usr/lib64/ganeti/2.15/usr/sbin/ganeti-wconfd - /usr/lib64/ganeti/2.15/usr/sbin/ganeti-confd - /usr/lib64/ganeti/2.15/usr/sbin/ganeti-luxid - /usr/lib64/ganeti/2.15/usr/sbin/ganeti-kvmd - /usr/lib64/ganeti/2.15/usr/bin/htools -" - -pkg_setup() { - local user - python-single-r1_pkg_setup - - if use multiple-users; then - for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do - enewgroup ${user} - enewuser ${user} -1 -1 -1 ${user} - done - fi -} - -src_prepare() { - local testfile - if has_version '>=dev-lang/ghc-7.10'; then - # Breaks the build on 7.8 - PATCHES+=( - "${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch - ) - fi - if use experimental; then - ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!" - PATCHES+=( - # QEMU Agent accepted upstream for 2.16, not yet in a tagged release - # backport available for 2.15, but refused upstream due to RPC breakage. - "${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch - ) - fi - eapply "${PATCHES[@]}" - # Upstream commits: - # 4c3c2ca2a97a69c0287a3d23e064bc17978105eb - # 24618882737fd7c189adf99f4acc767d48f572c3 - sed -i \ - -e '/QuickCheck/s,< 2.8,< 2.8.3,g' \ - cabal/ganeti.template.cabal - # Neuter -Werror - sed -i \ - -e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \ - Makefile.am - - # not sure why these tests are failing - # should remove this on next version bump if possible - for testfile in test/py/import-export_unittest.bash; do - printf '#!/bin/bash\ntrue\n' > "${testfile}" - done - - # take the sledgehammer approach to bug #526270 - grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' - - sed "s:%LIBDIR%:$(get_libdir):g" "${FILESDIR}/ganeti.initd-r4" \ - > "${T}/ganeti.initd" - - eapply_user - - [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh - rm autotools/missing - eautoreconf -} - -src_configure() { - # this is kind of a hack to work around the removal of the qemu-kvm wrapper - local kvm_arch - - if use amd64; then - kvm_arch=x86_64 - elif use x86; then - kvm_arch=i386 - elif use kvm; then - die "Could not determine qemu system to use for kvm" - fi - - econf --localstatedir=/var \ - --sharedstatedir=/var \ - --disable-symlinks \ - --with-ssh-initscript=/etc/init.d/sshd \ - --with-export-dir=/var/lib/ganeti-storage/export \ - --with-os-search-path=/usr/share/${PN}/os \ - $(use_enable restricted-commands) \ - $(use_enable test haskell-tests) \ - $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ - $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ - $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ - $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ - $(use_enable syslog) \ - $(use_enable monitoring) \ - $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ - $(usex haskell-daemons "--enable-confd=haskell" '' '' '') \ - --with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \ - --enable-socat-escape \ - --enable-socat-compress -} - -src_install() { - emake V=1 DESTDIR="${D}" install - - newinitd "${T}"/ganeti.initd ${PN} - newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} - - if use kvm; then - newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff - newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff - fi - - # ganeti installs it's own docs in a generic location - rm -rf "${D}"/{usr/share/doc/${PN},run} - - sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion - newbashcomp doc/examples/bash_completion gnt-instance - bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ - h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ - gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} - - use monitoring && bashcomp_alias gnt-instance mon-collector - - dodoc INSTALL UPGRADE NEWS README doc/*.rst - - docinto html - dodoc -r doc/html/* doc/css/*.css - - docinto examples - dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf - - docinto examples/hooks - dodoc doc/examples/hooks/{ipsec,ethers} - - insinto /etc/cron.d - newins doc/examples/ganeti.cron ${PN} - - insinto /etc/logrotate.d - newins doc/examples/ganeti.logrotate ${PN} - - # need to dodir rather than keepdir here (bug #552482) - dodir /var/lib/${PN} - - keepdir /var/log/${PN}/ - keepdir /usr/share/${PN}/${SERIES}/os/ - keepdir /var/lib/ganeti-storage/{export,file,shared}/ - - dosym ${SERIES} "/usr/share/${PN}/default" - dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" - - python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} -} - -pkg_postinst() { - if use multiple-users; then - elog "You have enable multiple user support, the users for this must" - elog "be created. You can use the provided tool for this, which is" - elog "located at:" - elog " /usr/$(get_libdir)/${PN}/tools/users-setup" - fi -} - -src_test() { - PATH="${S}/scripts:${S}/src:${PATH}" \ - TMPDIR="/tmp" \ - GANETI_MASTER="$(hostname -f)" \ - emake check -} diff --git a/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild b/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild new file mode 100644 index 000000000000..0bd0b47f753a --- /dev/null +++ b/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=(python2_7) +PYTHON_REQ_USE="ipv6(+)?" + +inherit user autotools bash-completion-r1 python-single-r1 + +MY_PV="${PV/_rc/~rc}" +MY_PV="${MY_PV/_beta/~beta}" +MY_P="${PN}-${MY_PV}" +SERIES="$(ver_cut 1-2)" + +DEBIAN_PATCH=11 +SRC_URI=" + http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz + mirror://debian/pool/main/g/ganeti-${SERIES}/ganeti-${SERIES}_${PV}-${DEBIAN_PATCH}.debian.tar.xz +" +KEYWORDS="~amd64 ~x86" +PATCHES=( + "${FILESDIR}"/ganeti-2.15-use-balloon-device.patch + "${FILESDIR}"/ganeti-2.15-disable-docs.patch + "${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch + "${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8 + "${WORKDIR}"/debian/patches/relax-deps + "${WORKDIR}"/debian/patches/zlib-0.6-compatibility + "${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5 + "${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4 + "${WORKDIR}"/debian/patches/use-proper-cabal-dev.patch + "${WORKDIR}"/debian/patches/0001-Drop-dependency-on-MonadCatchIO-transformers.patch + "${WORKDIR}"/debian/patches/0001-GHC-8-support.patch + "${WORKDIR}"/debian/patches/ghc8-fixes + "${WORKDIR}"/debian/patches/snap-server-1.0-compat + "${WORKDIR}"/debian/patches/non-DSA-SSH-key-support.patch + "${WORKDIR}"/debian/patches/fix-ssh-key-renewal-on-single-node-clusters.patch + "${WORKDIR}"/debian/patches/set-defaults-for-ssh-type-bits.patch + "${WORKDIR}"/debian/patches/use-hv-class-to-check-for-migration.patch + "${WORKDIR}"/debian/patches/do-not-specify-socat-ssl-method.patch + "${WORKDIR}"/debian/patches/fix-ftbfs-with-sphinx-1.5.patch + "${WORKDIR}"/debian/patches/fix-failover-from-dead-node.patch + "${WORKDIR}"/debian/patches/fix-cpu-affinity.patch + "${WORKDIR}"/debian/patches/fix-fcntl-i386.patch + "${WORKDIR}"/debian/patches/fix-ovf-test-path.patch + "${WORKDIR}"/debian/patches/fix-qa-ssconf-race.patch + "${WORKDIR}"/debian/patches/relax-sphinx-version-check.patch + #"${WORKDIR}"/debian/patches/THH-2.12.patch + "${WORKDIR}"/debian/patches/sphinx-1.7.patch + "${WORKDIR}"/debian/patches/ca-use-sha256-md.patch + "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch + "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat-2.patch +) + +DESCRIPTION="Ganeti is a virtual server management software tool" +HOMEPAGE="http://www.ganeti.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands" +RESTRICT="!test? ( test )" + +REQUIRED_USE="|| ( kvm xen lxc ) + test? ( ipv6 ) + kvm? ( || ( amd64 x86 ) ) + ${PYTHON_REQUIRED_USE}" + +USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}" +GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}" + +DEPEND=" + dev-libs/openssl:0 + $(python_gen_cond_dep ' + dev-python/paramiko[${PYTHON_MULTI_USEDEP}] + dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}] + dev-python/simplejson[${PYTHON_MULTI_USEDEP}] + dev-python/pyparsing[${PYTHON_MULTI_USEDEP}] + dev-python/pyinotify[${PYTHON_MULTI_USEDEP}] + dev-python/pycurl[${PYTHON_MULTI_USEDEP}] + dev-python/ipaddr[${PYTHON_MULTI_USEDEP}] + dev-python/bitarray[${PYTHON_MULTI_USEDEP}] + dev-python/fdsend[${PYTHON_MULTI_USEDEP}] + ') + || ( + net-misc/iputils[arping] + net-analyzer/arping + ) + net-analyzer/fping + net-misc/bridge-utils + net-misc/curl[ssl] + net-misc/openssh + net-misc/socat + sys-apps/iproute2 + >=sys-fs/lvm2-2.02.181 + >=sys-apps/baselayout-2.0 + >=dev-lang/ghc-8.0:0= + =dev-haskell/mtl-2.1.1:0= + >=dev-haskell/old-time-1.1.0.0:0= + >=dev-haskell/random-1.0.1.1:0= + haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= ) + >=dev-haskell/transformers-0.3.0.0:0= + + >=dev-haskell/attoparsec-0.10.1.1:0= + =dev-haskell/base64-bytestring-1.0.0.1:0= + =dev-haskell/crypto-4.2.4:0= + =dev-haskell/curl-1.3.7:0= + =dev-haskell/hinotify-0.3.2:0= + =dev-haskell/hslogger-1.1.4:0= + =dev-haskell/json-0.5:0= + >=dev-haskell/lens-3.10:0= + >=dev-haskell/lifted-base-0.2.0.3:0= + =dev-haskell/monad-control-1.0.1.0:0= + =dev-haskell/network-2.3.0.13:0= + =dev-haskell/parallel-3.2.0.2:3= + =dev-haskell/temporary-1.1.2.3:0= + =dev-haskell/regex-pcre-0.94.2:0= + =dev-haskell/transformers-base-0.4:0= + =dev-haskell/utf8-string-0.3.7:0= + >=dev-haskell/zlib-0.5.3.3:0= + =dev-haskell/psqueue-1.1:0= + =dev-haskell/snap-core-1.0.1:0= + =dev-haskell/snap-server-1.0.1:0= + =dev-haskell/case-insensitive-0.4.0.1 + + dev-haskell/vector:0= + xen? ( >=app-emulation/xen-3.0 ) + kvm? ( + dev-python/psutil + app-emulation/qemu + ) + lxc? ( app-emulation/lxc ) + drbd? ( sys-cluster/drbd-utils ) + rbd? ( sys-cluster/ceph ) + ipv6? ( net-misc/ndisc6 ) + ${PYTHON_DEPS}" +RDEPEND="${DEPEND} + !app-emulation/ganeti-htools" +DEPEND+=" + sys-devel/m4 + media-fonts/urw-fonts + media-gfx/graphviz + >=dev-haskell/test-framework-0.6:0= + =dev-haskell/test-framework-hunit-0.2.7:0= + =dev-haskell/test-framework-quickcheck2-0.2.12.1:0= + =dev-haskell/hunit-1.2.4.2:0= + =dev-haskell/quickcheck-2.4.2:2= + =net-misc/socat-1.7 + dev-util/shelltestrunner + )" + +PATCHES+=( + "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch" + "${FILESDIR}/${PN}-2.11-add-pgrep.patch" + "${FILESDIR}/${PN}-2.15-daemon-util.patch" + "${FILESDIR}/${PN}-2.9-disable-root-tests.patch" + "${FILESDIR}/${PN}-2.9-skip-cli-test.patch" + "${FILESDIR}/${PN}-2.10-rundir.patch" + "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch" + "${FILESDIR}/${PN}-2.11-tests.patch" + "${FILESDIR}/${PN}-lockdir.patch" + "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch" + "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch" + "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch" + "${FILESDIR}/${PN}-2.13-process_unittest.patch" + "${FILESDIR}/${PN}-2.15-python-mock.patch" + "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch" + "${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch" + "${FILESDIR}/${PN}-2.15-kvmd-run-as-daemon-user.patch" + "${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch" + "${FILESDIR}/${PN}-2.15-respect-HFLAGS.patch" + "${FILESDIR}/ganeti-2.15.2-bdev_py.patch" + "${FILESDIR}/ganeti-2.15.2-check-man-warnings.patch" + "${FILESDIR}/ganeti-2.15.2-ftbfs-sphinx-warning.patch" + "${FILESDIR}/ganeti-2.15.2-pyopenssl.patch" +) + +S="${WORKDIR}/${MY_P}" + +QA_WX_LOAD=" + usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d + usr/lib*/${PN}/${SERIES}/usr/bin/htools +" +# haskell... +QA_FLAGS_IGNORED=" + /usr/lib64/ganeti/2.15/usr/sbin/ganeti-metad + /usr/lib64/ganeti/2.15/usr/sbin/ganeti-wconfd + /usr/lib64/ganeti/2.15/usr/sbin/ganeti-confd + /usr/lib64/ganeti/2.15/usr/sbin/ganeti-luxid + /usr/lib64/ganeti/2.15/usr/sbin/ganeti-kvmd + /usr/lib64/ganeti/2.15/usr/bin/htools +" + +pkg_setup() { + local user + python-single-r1_pkg_setup + + if use multiple-users; then + for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do + enewgroup ${user} + enewuser ${user} -1 -1 -1 ${user} + done + fi +} + +src_prepare() { + local testfile + if has_version '>=dev-lang/ghc-7.10'; then + # Breaks the build on 7.8 + PATCHES+=( + "${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch + ) + fi + if use experimental; then + ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!" + PATCHES+=( + # QEMU Agent accepted upstream for 2.16, not yet in a tagged release + # backport available for 2.15, but refused upstream due to RPC breakage. + "${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch + ) + fi + eapply "${PATCHES[@]}" + # Upstream commits: + # 4c3c2ca2a97a69c0287a3d23e064bc17978105eb + # 24618882737fd7c189adf99f4acc767d48f572c3 + sed -i \ + -e '/QuickCheck/s,< 2.8,< 2.8.3,g' \ + cabal/ganeti.template.cabal || die + # Neuter -Werror + sed -i \ + -e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \ + Makefile.am || die + + # not sure why these tests are failing + # should remove this on next version bump if possible + for testfile in test/py/import-export_unittest.bash; do + printf '#!/bin/bash\ntrue\n' > "${testfile}" || die + done + + # take the sledgehammer approach to bug #526270 + grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' || die + + sed "s:%LIBDIR%:$(get_libdir):g" "${FILESDIR}/ganeti.initd-r4" \ + > "${T}/ganeti.initd" || die + + eapply_user + + if [[ ${PV} =~ [9]{4,} ]]; then + ./autogen.sh || die + fi + rm autotools/missing || die + eautoreconf +} + +src_configure() { + # this is kind of a hack to work around the removal of the qemu-kvm wrapper + local kvm_arch + + if use amd64; then + kvm_arch=x86_64 + elif use x86; then + kvm_arch=i386 + elif use kvm; then + die "Could not determine qemu system to use for kvm" + fi + + econf --localstatedir=/var \ + --sharedstatedir=/var \ + --disable-symlinks \ + --with-ssh-initscript=/etc/init.d/sshd \ + --with-export-dir=/var/lib/ganeti-storage/export \ + --with-os-search-path=/usr/share/${PN}/os \ + $(use_enable restricted-commands) \ + $(use_enable test haskell-tests) \ + $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \ + $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \ + $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \ + $(use_enable syslog) \ + $(use_enable monitoring) \ + $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \ + $(usex haskell-daemons "--enable-confd=haskell" '' '' '') \ + --with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \ + --enable-socat-escape \ + --enable-socat-compress \ + SPHINX= \ + PANDOC= + + touch man/*.gen || die + touch man/*.in || die +} + +src_install() { + emake V=1 DESTDIR="${D}" install + + newinitd "${T}"/ganeti.initd ${PN} + newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN} + + if use kvm; then + newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff + newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff + fi + + # ganeti installs it's own docs in a generic location + rm -rf "${D}"/{usr/share/doc/${PN},run} || die + + sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion || die + newbashcomp doc/examples/bash_completion gnt-instance + bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \ + h{space,check,scan,info,ail,arep,roller,squeeze,bal} \ + gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster} + + use monitoring && bashcomp_alias gnt-instance mon-collector + + dodoc INSTALL UPGRADE NEWS README doc/*.rst + + docinto html + dodoc -r doc/html/* doc/css/*.css + + docinto examples + dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf + + docinto examples/hooks + dodoc doc/examples/hooks/{ipsec,ethers} + + insinto /etc/cron.d + newins doc/examples/ganeti.cron ${PN} + + insinto /etc/logrotate.d + newins doc/examples/ganeti.logrotate ${PN} + + # need to dodir rather than keepdir here (bug #552482) + dodir /var/lib/${PN} + + keepdir /var/log/${PN}/ + keepdir /usr/share/${PN}/${SERIES}/os/ + keepdir /var/lib/ganeti-storage/{export,file,shared}/ + + dosym ${SERIES} "/usr/share/${PN}/default" + dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" + + python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} +} + +pkg_postinst() { + if use multiple-users; then + elog "You have enable multiple user support, the users for this must" + elog "be created. You can use the provided tool for this, which is" + elog "located at:" + elog " /usr/$(get_libdir)/${PN}/tools/users-setup" + fi +} + +src_test() { + PATH="${S}/scripts:${S}/src:${PATH}" \ + TMPDIR="/tmp" \ + GANETI_MASTER="$(hostname -f)" \ + emake check +} diff --git a/app-emulation/libpod/Manifest b/app-emulation/libpod/Manifest index a8406942dc29..5e2742f53186 100644 --- a/app-emulation/libpod/Manifest +++ b/app-emulation/libpod/Manifest @@ -4,8 +4,14 @@ DIST libpod-1.8.2.tar.gz 30065262 BLAKE2B 1bf4ca9b9547a710f1882ac40aee0cf295fecd DIST libpod-1.9.3.tar.gz 8869143 BLAKE2B 52c049c3a9c96729f32c1b7a9fc4b182614d18edd12ee1d5b19730a870b694f5c4489577bbf547cf86baf51b6fadfdf1a1513ff784a4c549f5b737549187f3a3 SHA512 d85cdf49b740f47a341b7717a4bc22ff326d22234e224bd572a3d879b75eaa33139bebdc293c2e7bc41a9902289d89380b9b56975a0826172324e9a54f8f5e03 DIST libpod-2.0.0.tar.gz 9126598 BLAKE2B 3c2d18a921b88ef235b14f069e7571f83b1add39ec4ecd20b98f4879d287c481a525e01969c9b62f8b81e0be43eb864266f32f78af3f1a5ca92c4b1c4a9a16ce SHA512 29f7e365dbd4ab6d20ee3e85939804f74dcfe95f65a6d030d1c10a36512c29d3934907cbb014047d659fd96ed3a2946570ef7922cd77cc729370ac099b4b58a2 DIST libpod-2.0.1.tar.gz 9136153 BLAKE2B 4c60dc047ae7fd6a2918589a30f6dc94c13251ed0002e77919adfb9dbe0a3c7b14e40e204c5879273589673a573aa318a3d5b972c32236143e166cb96a7cc3c8 SHA512 e52d3eef3d698360a0196dca6338c319511b6685c0237bd4d24a3763eb5e46262946d7609d1f36798dec6eb63d4511efdc8b77fa22c06bd55b666505f4fe6730 +DIST podman-2.0.2.tar.gz 9192157 BLAKE2B b8635ea5b166082be03a041f74d6c7a5c8bed04131b039ba505f87240a1a2e4503a3dc14c037eeb41955ff7f949dc0978571ec63f011adb9e5a6efa1157b6bce SHA512 5bcdca28021c8b36b5689e69c00232ca20404af0903ea632cea350ecf6b6eed091260f1b8fea8fe6d06caa7a475ba87ef4f3e86e83807ffdd187f9ccc41cb194 +DIST podman-2.0.3.tar.gz 9303421 BLAKE2B c0882c7fff60f33d1dc6752120a36ce35ce321c661ec29ae940f392b5ef9fb6176fea556a89ca9823b4981997d6e61545531d39d95b31d23602b0d3e1a78870a SHA512 ee6d4f4735196fc07e03e9c1e99aa62650d9651bd5f24657398d42b3f2ebf59240a49fecfbf71a3d90636ea44c243cc4f7504c43d8f48e76ee504b3d10762240 +DIST podman-2.0.4.tar.gz 9305631 BLAKE2B a6a5760886d112b6cd69625137ec0aa9e368e8ff09f114123ff0b17ad2ef5b26b5eb645a5bbabc30a7cb900d7844587e0051969fefba9d5e8b5652a571857e09 SHA512 39313615b4c0befec3a073b7bf4a689208e39cb7bcba81f6d8982e188402c457cbe4835a128274761e55ab1272a780f9747caa07746fe62af7a568eebc96ad6a EBUILD libpod-1.8.2.ebuild 3881 BLAKE2B 4555be189f9d335b03b6eb074155c039d604395b5ae0772cf3da1502b6a626266c80b9a2ec997dc4c13b31bdfb9f30877da749a0810ec2beac594ee4c0502f1f SHA512 001f631f58a2e0d11f07c5739ed7e2a3c36b0de5dfbe0637e3cb06d31ba68e730de59e05e0e155c92702f39bcd4da05d43e795c1030b800d50198158fd06bed4 EBUILD libpod-1.9.3.ebuild 3920 BLAKE2B d65bd39116779af1c238061b5d8696615a789c2a5874a0aec558d67d5f760be6785c84be56f75a310cd312078db14b937a4695b7432a50b1236296af4155600b SHA512 e9f823ad0f4a513e760ce0108af2621a1f9f029a603cc87be4f743e99cde57c44bd28242c89f3702d2ddef3af65cfe51ecce5ea552e5320f8bd27f34c1c6777a EBUILD libpod-2.0.0.ebuild 4335 BLAKE2B 7d9c3f7bbbc09135dfb63034d24ffd7b23b06a107a5d00967ce4a1ec978a7d6e647e2fac818289ca5cff060f46d93075e7d8dc01762e4a0a616885d668ccad4c SHA512 cf72840fde4a723ccb39573fb6ffc460195c7fe8a056241003de385dda9e3a48a0af4e9d8130d58c70614f1d7ea84fbe5e7d1ef3a3329f725d6464688e64796c EBUILD libpod-2.0.1.ebuild 4335 BLAKE2B 3d031ce218cd8b0f258c3caaab69e6c337f0a54e8c4507e85cd8fe4d77a2d95ed3ab4047850584a5a0a095c82755d67a9965be93d8c0978f11b3a95e636cec3d SHA512 182349484588aa6c169fee9af2d615b7102d9fc7deae0e9cf0ebffbf853b3e7c99b82d6bf3e4407cb746daf067205263dbed6211f753b068e696622878064979 +EBUILD libpod-2.0.2.ebuild 4393 BLAKE2B dbf3f0a47c20044235e309e7f3e3743254ff8683a739e4500fcbec6f5e1182d9b39e93e7120b15ed7e8906e758d7646f97b1cca83b7e835a7e6358d24e3a9ac0 SHA512 bcdfb9b4705bcdced7aa9ea86060132f04f7b57121a20ea8c9b5f351556895f96f08f9ce421b360c3edbda1114c9f32a62c434e88c99d4bd62e710c84af63158 +EBUILD libpod-2.0.3.ebuild 4393 BLAKE2B 65b396fbc63951d84fcbe07ce2cee59e3a7c636c388c20e5e3f25d488e62fadd56263bcc6739c5f8ecc5cc41c117dbf26fcc8ed691e5f00935896a5f8f58ab40 SHA512 ececd412dae05d587b9a4f96663771f02c78df29740f1b9e3adbcfa9056db6830c8abc73435d67907c0e05bbb865dcd744fc36ae2d1c14cf024edbc4d3c75b2f +EBUILD libpod-2.0.4.ebuild 4393 BLAKE2B 6456bfc2386051d4162a9f5c8a53404efd29ea8b0b497a7f19e2f5ffc99f1970d7055db67d0970f703e0fd22a88a8b9e13f535570c13f82b3e7dfedee9f0cfc3 SHA512 7d52f47fcee8026cdb770d39a9eff26c89d77df603b968fcaa44ac01026d48c0d5c6b09737e27dedf721ba871e147fff461e18a13716222faee296b83d4b17a4 MISC metadata.xml 999 BLAKE2B 4cc701468adb97983a347a94a76ad7966a54a5d4d5e3dcdae0a87e6bc81a45eac46ff120c576d16ea1f8145d6ab86b51b3671d9baa35945d4f104a7f8237854e SHA512 679b1a932037e7f7d209e7f6485dac8c3f2cd7be161fd342dc8158567f03c5692e487d23de4dda62c4ff629c96f0e2ea715dd9c8523e457b090bae5824bd3646 diff --git a/app-emulation/libpod/libpod-2.0.2.ebuild b/app-emulation/libpod/libpod-2.0.2.ebuild new file mode 100644 index 000000000000..ae24fd7a5df1 --- /dev/null +++ b/app-emulation/libpod/libpod-2.0.2.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="201c9505b88f451ca877d29a73ed0f1836bb96c7" + +inherit bash-completion-r1 flag-o-matic go-module + +DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" +HOMEPAGE="https://github.com/containers/podman/" +MY_PN=podman +MY_P=${MY_PN}-${PV} +SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" + +KEYWORDS="~amd64" +IUSE="apparmor btrfs +fuse +rootless selinux" +RESTRICT="test" + +COMMON_DEPEND=" + app-crypt/gpgme:= + >=app-emulation/conmon-2.0.0 + || ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun ) + dev-libs/libassuan:= + dev-libs/libgpg-error:= + >=net-misc/cni-plugins-0.8.6 + sys-fs/lvm2 + sys-libs/libseccomp:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + rootless? ( app-emulation/slirp4netns ) + selinux? ( sys-libs/libselinux:= ) +" +DEPEND=" + ${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND} + fuse? ( sys-fs/fuse-overlayfs )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + default + + # Disable installation of python modules here, since those are + # installed by separate ebuilds. + local makefile_sed_args=( + -e '/^GIT_.*/d' + -e 's/$(GO) build/$(GO) build -v -work -x/' + -e 's/^\(install:.*\) install\.python$/\1/' + -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' + ) + + has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') + + sed "${makefile_sed_args[@]}" -i Makefile || die + + sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \ + -i hack/get_release_info.sh || die +} + +src_compile() { + # Filter unsupported linker flags + filter-flags '-Wl,*' + + [[ -f hack/apparmor_tag.sh ]] || die + if use apparmor; then + echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die + fi + + [[ -f hack/btrfs_installed_tag.sh ]] || die + if use btrfs; then + echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die + else + echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die + fi + + [[ -f hack/selinux_tag.sh ]] || die + if use selinux; then + echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die + fi + + # Avoid this error when generating pkg/varlink/iopodman.go: + # cannot find package "github.com/varlink/go/varlink/idl" + mkdir -p _output || die + ln -snf ../vendor _output/src || die + GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die + rm _output/src || die + + export -n GOCACHE GOPATH XDG_CACHE_HOME + GOBIN="${S}/bin" \ + emake all \ + GIT_BRANCH=master \ + GIT_BRANCH_CLEAN=master \ + COMMIT_NO="${EGIT_COMMIT}" \ + GIT_COMMIT="${EGIT_COMMIT}" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install + + insinto /etc/containers + newins test/registries.conf registries.conf.example + newins test/policy.json policy.json.example + + insinto /usr/share/containers + doins seccomp.json + + newinitd "${FILESDIR}"/podman.initd podman + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + dobashcomp completions/bash/* + + keepdir /var/lib/containers +} + +pkg_preinst() { + LIBPOD_ROOTLESS_UPGRADE=false + if use rootless; then + has_version 'app-emulation/libpod[rootless]' || LIBPOD_ROOTLESS_UPGRADE=true + fi +} + +pkg_postinst() { + local want_newline=false + if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then + elog "You need to create the following config files:" + elog "/etc/containers/registries.conf" + elog "/etc/containers/policy.json" + elog "To copy over default examples, use:" + elog "cp /etc/containers/registries.conf{.example,}" + elog "cp /etc/containers/policy.json{.example,}" + want_newline=true + fi + if [[ ${LIBPOD_ROOTLESS_UPGRADE} == true ]] ; then + ${want_newline} && elog "" + elog "For rootless operation, you need to configure subuid/subgid" + elog "for user running podman. In case subuid/subgid has only been" + elog "configured for root, run:" + elog "usermod --add-subuids 1065536-1131071 " + elog "usermod --add-subgids 1065536-1131071 " + want_newline=true + fi +} diff --git a/app-emulation/libpod/libpod-2.0.3.ebuild b/app-emulation/libpod/libpod-2.0.3.ebuild new file mode 100644 index 000000000000..055a6ae84595 --- /dev/null +++ b/app-emulation/libpod/libpod-2.0.3.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="2349723f89bdb3033d064f6278ca04da8b8ae42d" + +inherit bash-completion-r1 flag-o-matic go-module + +DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" +HOMEPAGE="https://github.com/containers/podman/" +MY_PN=podman +MY_P=${MY_PN}-${PV} +SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" + +KEYWORDS="~amd64" +IUSE="apparmor btrfs +fuse +rootless selinux" +RESTRICT="test" + +COMMON_DEPEND=" + app-crypt/gpgme:= + >=app-emulation/conmon-2.0.0 + || ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun ) + dev-libs/libassuan:= + dev-libs/libgpg-error:= + >=net-misc/cni-plugins-0.8.6 + sys-fs/lvm2 + sys-libs/libseccomp:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + rootless? ( app-emulation/slirp4netns ) + selinux? ( sys-libs/libselinux:= ) +" +DEPEND=" + ${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND} + fuse? ( sys-fs/fuse-overlayfs )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + default + + # Disable installation of python modules here, since those are + # installed by separate ebuilds. + local makefile_sed_args=( + -e '/^GIT_.*/d' + -e 's/$(GO) build/$(GO) build -v -work -x/' + -e 's/^\(install:.*\) install\.python$/\1/' + -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' + ) + + has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') + + sed "${makefile_sed_args[@]}" -i Makefile || die + + sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \ + -i hack/get_release_info.sh || die +} + +src_compile() { + # Filter unsupported linker flags + filter-flags '-Wl,*' + + [[ -f hack/apparmor_tag.sh ]] || die + if use apparmor; then + echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die + fi + + [[ -f hack/btrfs_installed_tag.sh ]] || die + if use btrfs; then + echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die + else + echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die + fi + + [[ -f hack/selinux_tag.sh ]] || die + if use selinux; then + echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die + fi + + # Avoid this error when generating pkg/varlink/iopodman.go: + # cannot find package "github.com/varlink/go/varlink/idl" + mkdir -p _output || die + ln -snf ../vendor _output/src || die + GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die + rm _output/src || die + + export -n GOCACHE GOPATH XDG_CACHE_HOME + GOBIN="${S}/bin" \ + emake all \ + GIT_BRANCH=master \ + GIT_BRANCH_CLEAN=master \ + COMMIT_NO="${EGIT_COMMIT}" \ + GIT_COMMIT="${EGIT_COMMIT}" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install + + insinto /etc/containers + newins test/registries.conf registries.conf.example + newins test/policy.json policy.json.example + + insinto /usr/share/containers + doins seccomp.json + + newinitd "${FILESDIR}"/podman.initd podman + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + dobashcomp completions/bash/* + + keepdir /var/lib/containers +} + +pkg_preinst() { + LIBPOD_ROOTLESS_UPGRADE=false + if use rootless; then + has_version 'app-emulation/libpod[rootless]' || LIBPOD_ROOTLESS_UPGRADE=true + fi +} + +pkg_postinst() { + local want_newline=false + if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then + elog "You need to create the following config files:" + elog "/etc/containers/registries.conf" + elog "/etc/containers/policy.json" + elog "To copy over default examples, use:" + elog "cp /etc/containers/registries.conf{.example,}" + elog "cp /etc/containers/policy.json{.example,}" + want_newline=true + fi + if [[ ${LIBPOD_ROOTLESS_UPGRADE} == true ]] ; then + ${want_newline} && elog "" + elog "For rootless operation, you need to configure subuid/subgid" + elog "for user running podman. In case subuid/subgid has only been" + elog "configured for root, run:" + elog "usermod --add-subuids 1065536-1131071 " + elog "usermod --add-subgids 1065536-1131071 " + want_newline=true + fi +} diff --git a/app-emulation/libpod/libpod-2.0.4.ebuild b/app-emulation/libpod/libpod-2.0.4.ebuild new file mode 100644 index 000000000000..a5572a93cf7d --- /dev/null +++ b/app-emulation/libpod/libpod-2.0.4.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +EGIT_COMMIT="cab27868766a3b01ac14ff46180af8644c41d1cd" + +inherit bash-completion-r1 flag-o-matic go-module + +DESCRIPTION="Library and podman tool for running OCI-based containers in Pods" +HOMEPAGE="https://github.com/containers/podman/" +MY_PN=podman +MY_P=${MY_PN}-${PV} +SRC_URI="https://github.com/containers/podman/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0" +SLOT="0" + +KEYWORDS="~amd64" +IUSE="apparmor btrfs +fuse +rootless selinux" +RESTRICT="test" + +COMMON_DEPEND=" + app-crypt/gpgme:= + >=app-emulation/conmon-2.0.0 + || ( >=app-emulation/runc-1.0.0_rc6 app-emulation/crun ) + dev-libs/libassuan:= + dev-libs/libgpg-error:= + >=net-misc/cni-plugins-0.8.6 + sys-fs/lvm2 + sys-libs/libseccomp:= + + apparmor? ( sys-libs/libapparmor ) + btrfs? ( sys-fs/btrfs-progs ) + rootless? ( app-emulation/slirp4netns ) + selinux? ( sys-libs/libselinux:= ) +" +DEPEND=" + ${COMMON_DEPEND} + dev-go/go-md2man" +RDEPEND="${COMMON_DEPEND} + fuse? ( sys-fs/fuse-overlayfs )" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + default + + # Disable installation of python modules here, since those are + # installed by separate ebuilds. + local makefile_sed_args=( + -e '/^GIT_.*/d' + -e 's/$(GO) build/$(GO) build -v -work -x/' + -e 's/^\(install:.*\) install\.python$/\1/' + -e 's|^pkg/varlink/iopodman.go: .gopathok pkg/varlink/io.podman.varlink$|pkg/varlink/iopodman.go: pkg/varlink/io.podman.varlink|' + ) + + has_version -b '>=dev-lang/go-1.13.9' || makefile_sed_args+=(-e 's:GO111MODULE=off:GO111MODULE=on:') + + sed "${makefile_sed_args[@]}" -i Makefile || die + + sed -e 's|OUTPUT="${CIRRUS_TAG:.*|OUTPUT='v${PV}'|' \ + -i hack/get_release_info.sh || die +} + +src_compile() { + # Filter unsupported linker flags + filter-flags '-Wl,*' + + [[ -f hack/apparmor_tag.sh ]] || die + if use apparmor; then + echo -e "#!/bin/sh\necho apparmor" > hack/apparmor_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/apparmor_tag.sh || die + fi + + [[ -f hack/btrfs_installed_tag.sh ]] || die + if use btrfs; then + echo -e "#!/bin/sh\ntrue" > hack/btrfs_installed_tag.sh || die + else + echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \ + hack/btrfs_installed_tag.sh || die + fi + + [[ -f hack/selinux_tag.sh ]] || die + if use selinux; then + echo -e "#!/bin/sh\necho selinux" > hack/selinux_tag.sh || die + else + echo -e "#!/bin/sh\ntrue" > hack/selinux_tag.sh || die + fi + + # Avoid this error when generating pkg/varlink/iopodman.go: + # cannot find package "github.com/varlink/go/varlink/idl" + mkdir -p _output || die + ln -snf ../vendor _output/src || die + GO111MODULE=off GOPATH=${PWD}/_output go generate ./pkg/varlink/... || die + rm _output/src || die + + export -n GOCACHE GOPATH XDG_CACHE_HOME + GOBIN="${S}/bin" \ + emake all \ + GIT_BRANCH=master \ + GIT_BRANCH_CLEAN=master \ + COMMIT_NO="${EGIT_COMMIT}" \ + GIT_COMMIT="${EGIT_COMMIT}" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install + + insinto /etc/containers + newins test/registries.conf registries.conf.example + newins test/policy.json policy.json.example + + insinto /usr/share/containers + doins seccomp.json + + newinitd "${FILESDIR}"/podman.initd podman + + insinto /etc/logrotate.d + newins "${FILESDIR}/podman.logrotated" podman + + dobashcomp completions/bash/* + + keepdir /var/lib/containers +} + +pkg_preinst() { + LIBPOD_ROOTLESS_UPGRADE=false + if use rootless; then + has_version 'app-emulation/libpod[rootless]' || LIBPOD_ROOTLESS_UPGRADE=true + fi +} + +pkg_postinst() { + local want_newline=false + if [[ ! ( -e ${EROOT%/*}/etc/containers/policy.json && -e ${EROOT%/*}/etc/containers/registries.conf ) ]]; then + elog "You need to create the following config files:" + elog "/etc/containers/registries.conf" + elog "/etc/containers/policy.json" + elog "To copy over default examples, use:" + elog "cp /etc/containers/registries.conf{.example,}" + elog "cp /etc/containers/policy.json{.example,}" + want_newline=true + fi + if [[ ${LIBPOD_ROOTLESS_UPGRADE} == true ]] ; then + ${want_newline} && elog "" + elog "For rootless operation, you need to configure subuid/subgid" + elog "for user running podman. In case subuid/subgid has only been" + elog "configured for root, run:" + elog "usermod --add-subuids 1065536-1131071 " + elog "usermod --add-subgids 1065536-1131071 " + want_newline=true + fi +} diff --git a/app-emulation/libspectrum/Manifest b/app-emulation/libspectrum/Manifest index 6401226708da..f01b6aa408ad 100644 --- a/app-emulation/libspectrum/Manifest +++ b/app-emulation/libspectrum/Manifest @@ -1,3 +1,4 @@ +AUX remove-local-prefix.patch 851 BLAKE2B 1e1b787c10499bfbeafca43b08f4cbd8c7525841c641a3fa1211822a7ec3e98b11c9925b1bd9cc8ac3b14e5d0625c34727a330e00f0e3aaf5aba1871a8810647 SHA512 bae42eec33ff2ae00547d8c649b8164fd5665b70e95b07f95cdcce41e342702de559c4b63d6ce95a97407d2e8012c7fe0142b923603c1c1d25b8978f29aaf7a3 DIST libspectrum-1.4.4.tar.gz 568684 BLAKE2B b6ab4fc4173e7de9a7c3b14fda03420a56f02c5c590770158443bc37bee99a55dd3bdf6864f8ca33adb5ed59f4abd5c5b97736456ba2e6e6aaa2b49e07097cc4 SHA512 83bb9242010d49898531bb62e0d4d55439b0b6a548b57a7932f074429aca70cf252dfb195e9751384510b08c98bd6bc8eefd8cb3f82b0c8d07fa245ba66e9fe2 -EBUILD libspectrum-1.4.4.ebuild 926 BLAKE2B 9ed5b4c42f0c7a37c5dae612d11c0797ce52067ba2dcdd370b84f6e5af247ab359f425372e113911ed599c9a20e03b2f2e4851bb6de89ffcdc1ba40987ac9549 SHA512 17f6ee52ce636a618161f098060acba77e4b079628a23d9a01b1ecbe74db7e611837e08c1916a3d8452d04f5e5d4b7b3abc8418e4d4c01c85b06a61f8c11b3ff +EBUILD libspectrum-1.4.4.ebuild 1040 BLAKE2B c66daea0426b3fbfc816255e49501a9e4162a25436c2dc35519b09e213980f75f3d691b198cc90574d319403f03477efb2ff256a9c9bef7290b65564ed7daa29 SHA512 cc20f0cb9bbfb3d34ba04c4d9a94a58cc14d53363b2a4f8536c0e1368066d3e5970e9a7cafc3f9d564f071b577e3df7e1c008a64168b98912f12208ce6ca9e99 MISC metadata.xml 941 BLAKE2B 7ac8ef35dfa24899f6990e5c92f5c2f70328575196308cd28f6dab967b9c39e73dabfea007c0cbf4a90bf73f5739d9c4a17b22cbe8c670b3a2d5531d47763520 SHA512 79cbe79daa7805ab944614d7d8370bc82e3ce6ecab7218112163ca118198bf176a1a06c87f8e24117f0a293d6dcc1cd0c02477e56655d66eb9b928c7ba7fabdc diff --git a/app-emulation/libspectrum/files/remove-local-prefix.patch b/app-emulation/libspectrum/files/remove-local-prefix.patch new file mode 100644 index 000000000000..23e2b5dd041c --- /dev/null +++ b/app-emulation/libspectrum/files/remove-local-prefix.patch @@ -0,0 +1,18 @@ +diff -Naur libspectrum-1.4.4/configure.ac libspectrum-1.4.4-patched/configure.ac +--- libspectrum-1.4.4/configure.ac 2018-07-01 02:07:44.000000000 +0200 ++++ libspectrum-1.4.4-patched/configure.ac 2020-07-28 16:38:22.636459194 +0200 +@@ -113,14 +113,6 @@ + dnl Check for functions + AC_CHECK_FUNCS(_snprintf _stricmp _strnicmp snprintf strcasecmp strncasecmp) + +-dnl Allow the user to say that various libraries are in one place +-AC_ARG_WITH(local-prefix, +-[ --with-local-prefix=PFX local libraries installed in PFX (optional)], +-CPPFLAGS="$CPPFLAGS -I$withval/include"; LDFLAGS="$LDFLAGS -L$withval/lib", +-if test "$prefix" != "NONE"; then +- CPPFLAGS="$CPPFLAGS -I$prefix/include"; LDFLAGS="$LDFLAGS -L$prefix/lib" +-fi) +- + dnl Check whether to use zlib (the UNIX version is called z, Win32 zdll) + AC_MSG_CHECKING(whether to use zlib) + AC_ARG_WITH(zlib, diff --git a/app-emulation/libspectrum/libspectrum-1.4.4.ebuild b/app-emulation/libspectrum/libspectrum-1.4.4.ebuild index 7d6cd415f46a..f830494fd23b 100644 --- a/app-emulation/libspectrum/libspectrum-1.4.4.ebuild +++ b/app-emulation/libspectrum/libspectrum-1.4.4.ebuild @@ -3,6 +3,8 @@ EAPI=6 +inherit autotools + DESCRIPTION="Spectrum emulation library" HOMEPAGE="http://fuse-emulator.sourceforge.net/libspectrum.php" SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz" @@ -21,6 +23,15 @@ DEPEND="${RDEPEND} dev-lang/perl virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/remove-local-prefix.patch +) + +src_prepare() { + default + eautoreconf +} + src_configure() { local myconf=( --disable-static diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 3ca29f1d765f..87c7458f34db 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -1,26 +1,18 @@ AUX README.gentoo-r3 2062 BLAKE2B bf45e0f63182dbff31982581045389c5510d5c3e648de34982ea9861923833a024681072ecf4f76b2ca025da30ed4a5a0f1273c85b4c0beb08189f80ce54de3e SHA512 6c54bd70a8521fcfe7eb21df87466c1df0026c569700f3d1b14c76cef4c1e68a56aa13d66b5214ae35a4c24bca58350d07d3e54ca3204ad336be618f51b00984 -AUX libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch 641 BLAKE2B e796f4e32f00e8970eabf723520601b26c7fa5f7579d538299538632ba036dafbb2dc64ad40d10152c0637043b2a649e1dc08468d1f250e00ee0af095d94a093 SHA512 df9960b80c7dda852e38d992ab31181d79091bd6e1ba88c0b0c1af8a2f2d1445ee95c957df38ab27b452cd2de01d36b88164e665a867ad69c15ca15c18b1d588 -AUX libvirt-5.2.0-fix-paths-for-apparmor.patch 4372 BLAKE2B ac8c78097b8125932fd89756ca7332665e2080afc5de37e0a31d6f2a84e15f21e01d41b39c7781c26cf514c74a215623c0013e67cffe7543892d5b13d3022642 SHA512 391e78a2ea113c38afb07b9f0c7638748e5bc04fb88ea96be7ff439624c429ff0106024674546b01e750d8b1e1418d13040bc8462653eb8567651378b66d53a5 AUX libvirt-6.0.0-do-not-use-sysconf.patch 5166 BLAKE2B d458e7b70320b7fb5d52f7a745b8dd4bc3e1906c57141935575ab586c5c8434634c3444ab5042d1796ef6ac6631553939ae110ed83b3f7b426724f8c2acfc23e SHA512 0d920a0b633dcf60fc41b7cff8c9903c40cdb157c5145da72a3d3090b6b174a344d4067b2436320726d5cfc5cf939ee0a2339196763069332db2733deab04577 AUX libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch 1281 BLAKE2B 631f813ad29db29a6eb537ecd7b9d12aed097c5e0e01c07161adac1dec8a6f129bc098172fe6de4e78a2fbe5e67052005a7c5d1d17cbbb63ad27025662b9fa34 SHA512 dc80c9fc459207dd1ff77548054ea5a51c41a2d36e1b8917eca5f69293a86168af3da47466d8ff954a8b2e0ead9f28ed7d6c2c3671cf67d0ebb4039003a0dde2 -AUX libvirt-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch 1279 BLAKE2B 07c82c6c4c18c3de97619b65b782edbd32df71dc4abaade1059023176dc50ff3b1aeb5bb26b5a3d7a47d6a4249d0580c16e65a1a386db43eebb49fd15b9e3c03 SHA512 e1147209b00082629b57f98d76765b59022f1bf17923ddd66ff55db8bc04ee505f8e4df6a628573a52a144e1dcda91adbb2631608bb2ae487bfe2aab4ddeabd6 AUX libvirt-6.1.0-fix-paths-for-apparmor.patch 3174 BLAKE2B ff45ec24c1d06a76b434bd9cc53c6abf69928d1a4b7ff278b1f8f041ba9eeee7a6769c7ba7d49d2bd0d26f93fc8ceb951cafd7d6d0b24be58e058b8e2da532f2 SHA512 6f221b66d9cebf37e61cae48d906b57b46d375d9e799e4fce9250401ee97b7f5bcac3b31743f63760bad53cdfa76182bd8c8ddda1fd4fd35b24fa0abd6d1a36c -AUX libvirt-6.2.0-do-not-use-sysconfig.patch 11738 BLAKE2B 48d4f0010f4a27957bd5345144e2aecde99b9b55137ba0731a6340faa18130f20d2a996b9a3cbdbf026a89a131a02534b91bb747f142f6c2bf72bced6241b1d5 SHA512 4c8aa7097e740078ea99118cb6a239244046ee3b3545d8733af3c2545fdf067cdc20b451c9015c4e104dc4139efef73f6189988aa957b9fc76b296abfff91f85 +AUX libvirt-6.5.0-do-not-use-sysconfig.patch 7271 BLAKE2B 5c6fcf5dbfb43b66179f97d1825054aa8291ee097d8db91fc0aae8e90c54167aaa12df5a732f30a89235a449832299411b39190cffbbf96ab689d650604bb042 SHA512 acc6674d15f2c50e02371faf27ea8cca3ade1af83d93687a00e589eb109f1a752c971c503b4c7bcab16287f7a31ecc8cc880bf63f428a02a3701aea735f5ff5e AUX libvirt-guests.confd 2430 BLAKE2B 9d56477c9377e02503782e6d653579c6d149b292c43f37926f4646374e8aae05ca812b6a3a561811482861f8fe67dfdbe63851963326ddbbf2f4644c85411120 SHA512 78f419a89de7aabaad860903c24f1c070786fc1296d987e61dd537705b0e7f71a46c315888028f3826c3417e42861ca8471788be4ec5695e98427c5f18ae63fc AUX libvirt-guests.init-r4 5591 BLAKE2B e745692a7ea706c8367cdb7ee2114565770bda5be5675ba3a541555659d17875f7996ff7028bf415224d095b49b71205a3d77f420464d5579ccc189def5e434d SHA512 ec2bc46d72afa61513983b777e2d49da618a35a4687bc75674b3a49ababd4e2e387661010d342fee86c7a73d259644985a263a6c2976e29a436d88921bb040b0 AUX libvirtd.confd-r5 740 BLAKE2B 74a069f4902dd1352f06029c886200615a35870ff88496c91956d23a3172db0789086622422f545498e92b7f8de41225022185fe291dd580cbacdeb783163f4b SHA512 98f935589dbc5f2a99329f77fdf84c563fa0dc99404b7476603679478d68ce8dbea2c88645251d3c28f59e7bcae124ae632972146e8a8c3e0e9fcbfb27296f91 -AUX libvirtd.init-r18 1114 BLAKE2B a934bcacb8d3c041e9bd4f287bc137975b4ef73111e7012f5ebc6cc84250a7ac8f4388d2c0bff79a4254f2639623879d83d97d72f0d51101a05165b6bb9af522 SHA512 2f43d33b6eee2a571269c1a20cfbf0ce6a189522ca4b22826b6140991b4657869afca7800dab145a18583c39f101054a8d6258ca0a58a578dc65d16c7a993636 AUX libvirtd.init-r19 1114 BLAKE2B a69f5a07e0b946a3167ac4509611d08a8b848e7337677cce36f0eff8e2f646fb03d92279eb3c4427b25649210c8acf280cb9877e0c5c363f1f358b211b208d9d SHA512 6192888e5dbf384cfecab2c1e55fb9a2ceba83390aa71cd8c0be0526a7cc3f9c2a9d7a71d4fe6bbb528871e8e7bc5c73e385ef56eec2366bcc75eb361e7d1894 AUX libvirtd.tmpfiles.conf 36 BLAKE2B fa0e1dac4117dcb2a2e826c82c4c63e20156db47abf4088167484f1f3149a4998840cf1aba745621851d7e2653df5c7f7268d8d61be3a3731ea053a88f35c13b SHA512 2b1c3c64dd6fa03d8c2ae24e7ce4aa7d754913214542a68a4e99f10fbc251fd23ee26e297a957d7b4b70eec8ef028c41fc915da3a85fbbd16143bb92d1de3aed -AUX virtlockd.init-r1 563 BLAKE2B b8e1d2c29570480b477f14c25042f227093474710f1d9d445472e512415f73c574657a1eaddea892d15a838eb7fce2a0f0dc067dadfd393199640185606bff1f SHA512 524f33171cdbee8a36b341938bf5d45da88893452ed83fbe0fbcfd5191ea6127f3364fa36d6222c37dede1e0c3f195c3a68a30809fb6b11b5ce750ca297be629 AUX virtlockd.init-r2 573 BLAKE2B 83bbd228bd59fa29f1d974bc5eec8af0b701328a0a64bbb9e2d9cb918d5d0b3c0d5e791afa18f47ffa2c429082083912fda3f2401c3c5b3d8d85ea8b7cacf440 SHA512 11bf7208e8da8cf7b907049100d095f4d6b5d215a0955fa620e50d6d541d3ecd9d779a7903c64feb25d17545c45491d52441e14a04f2c793f3b03dee7784c482 -AUX virtlogd.init-r1 562 BLAKE2B 52b0dce0d3dd856d6cbffbe37e721d8f053d53a4802ce3a1e83ab78a8e0920d66436d9cf5e6d6e4fde13debb90e0b61355befd9e67d6546967f19f8c26736dbd SHA512 98e705fbd08f0f8342d33762c98786ca0690f617be27ede5ddf2c5053eeae3f441403415f4c961a7f388dc844075d21515a8ffd62d1654d1049e06910bb1c7b9 AUX virtlogd.init-r2 572 BLAKE2B e6a86e34eda78fc032df17e1bd94095e357770f4036e19fff895266b58df7e31774f6004fec56fad9e69bf7d1afa5d898bdebe018013877f8844d05b3a46d509 SHA512 d5d83edee8a4bdf0dac79abc129ff7ec11573aa580e32963d7c7d47133e276a4427d8653683fc8b0a6c1c2aba631e5875c73454d6fef3bcac6dcaca542e69f34 -DIST libvirt-6.0.0.tar.xz 8686092 BLAKE2B 669054aa3bb3e4f2cf0be2e9ea796b820786661f65495597322e178d7c7e42355b0e3752c8a847cb2fc4405928a30a00544829647aa84cc2e71bc0cb8ce9af5f SHA512 64259c0cffa9fc01192c5474f69d88a61ed0bae0a100379fed6112723a37eff1865ccfc85a19d6b8cd39ed504f04998bb3f6390aaafff797bb41ef65b6ec413c -DIST libvirt-6.1.0.tar.xz 8276964 BLAKE2B cf57e28d17e868ab4a69f03fe77b0d779362c6cb8cf1a38196ba7bad873ec4ecfa8ad1744ce97251820ab898be1ddc9bf30b788f1708172bfd23ec2c7cd3bdac SHA512 17a2641f300a4a05149261bae74ac856e9a2511a259146595d2e2412c4a0601d88369b0544ba86edc80e433a47cf828317d8de38c6ec86a1b3efaca75294a606 DIST libvirt-6.2.0.tar.xz 8307248 BLAKE2B 9d449e041fc548a688f974d0801e625cf023ef0df49c40028e486e88fcf14181869e0dfd87f0eabcdd184df67dda5b5fbdc0c2375832f1534faff531779255dd SHA512 96bef701fd73aef93d1490f0bc331901a0ff6250a4f36a3e4844f76cc262dc0ae4cce8686a603c2a9c575ce489d8d5ed1521ebd22b92aff8301efdb74dee91e4 -EBUILD libvirt-6.0.0-r3.ebuild 8891 BLAKE2B ad688cf1ccc1dc04d34844ef0dc9387f42be1547b73e4c331ea4879884fd8de70dba24edb1a865ac0416162248b8e90411df678a67a9759b6b08329087e9a13f SHA512 f77ec0b1abcb41a5e0418fc4fcee2ddc6f3d9ca00e94a0beebfd8b0a5b03a972efa99835fb5c4b935c41766adab78dcb9b02bb282c3ff08850932f07742f9fe2 -EBUILD libvirt-6.1.0-r1.ebuild 8777 BLAKE2B d093067d76d19a47a804e88c66c35a161866f23a5a048cd10c865c26493f98db7b8fa729c6adf24cbe5af6cdae5b6570c4c1d0a88a4b1571575a15351e5a9e40 SHA512 786874faf23852522bdb3b8e5917d9ace7cc4341a5d3b50e87117d03cff078deb4071881d492afdb29108427224f8c9c1aeaf7efd45bc246845de51f2c4db832 -EBUILD libvirt-6.2.0-r2.ebuild 8737 BLAKE2B c5ec7d389d67e93c53a494c1d585d06292413fa6ace2757d8906885ca35a31c97858ebc1c9aab44275392b766590b34fa17195fed932c1477850e4d853ac92e5 SHA512 52460fa384383a3f22b3b91a4ee6e05b3771f9c749592a299e11cb1d65d3f098dcce61ba9614e9389b278bd4594034547709f1665b80e878a4eae8a4276e20c8 -EBUILD libvirt-9999.ebuild 8679 BLAKE2B 73abd5971e97b01b7056c007f8018d7da4d565ee3b371c1b499e3516717ebc40535f2401505c3d01b772e96184776c958bf4e78473dc1871a148b4face0be528 SHA512 b2fee1a0ca9cadab3f5de9623d813d2cd486c1068eab694b900bceaf9d89935a5e78c233783c06c26fbda31abeaaf8b6519da2f651cc26e20531a0826771b57b -MISC metadata.xml 3702 BLAKE2B cf4bd9200b3cc77129b7a56ad3e399d1371613dbb4fbdda96c4977ff2b2e8340afef5f10efe6a5f82015c34662dcccef4db8740a666b4714741d97973ec772a8 SHA512 2ba4fd9991263b8884856512faedfaecec0896e8cfdd9bf76a19838f6aaea766c43ca97d40753cd434c6b38a859ddd59b3c9d26b759871c6bdebbff160521509 +DIST libvirt-6.5.0.tar.xz 9407160 BLAKE2B 592aace555a3b72311cb430784587180fa7dbf74f75509cd8373a046339b9c4c0707bf530dd2d06146d78a85f8af3dba5d0b146ecec180d3cc4d3bf78c19da61 SHA512 30a032270304b97945ff2c5087c72c2f5510634186f2eaf7c3d834a72cddcaec97bbe5ccc86802728a59f4c80b5bb54757400683df5f20175757cfe07ce67453 +EBUILD libvirt-6.2.0-r2.ebuild 8743 BLAKE2B 7afa57918ba4756e5a5ed09c1c50e7aa28c3eeb5279014dfcf0c671ab39d8ddf3790fe33ceec275cbe75ee305dce28f8820100fdc6aea7e9bc37e94099591ea9 SHA512 4d6423227ac05c4275696080268e624fc390724853fa4baa9e7428ebadecc802afa000355780ba7797518b3b300686c7294e5b293a56374381de05ba821606a1 +EBUILD libvirt-6.5.0.ebuild 8708 BLAKE2B 22835f2786b4bbc8d6060c8a58775b6a81fb789b0ad4742572ba81fc8ed9e7ef9b1ac96ca0dbf9fedc16726d48a3207af74eabe50b9b8e178d29555f23871ee9 SHA512 11fa732bc07ed559dbf28e372cac67a8a55f07c7b54e597170e73e992dc72d09e4aa05f023fa753ab37240f010ef0869bd015f4504de44a5151424f3baf2b3ed +EBUILD libvirt-9999.ebuild 8534 BLAKE2B c23172d3a9d4a73f22cda8cfb8c1a4a032c8d0c66de6976aab68142b9389e6eaaf739aa6c723f8ae322e0fae1aafc89befa8fe11c9b83d5345484b45cadfdc3d SHA512 678c99b48f8ec9a45ab7610478b6fdf32785292b796b5cf6626176f2d38b3a67280066c01e3294c0fa0c3eeccb41fac773d93ffc47c5adfb31aca12515928801 +MISC metadata.xml 3620 BLAKE2B 896dbfd54e204d33a00187e5c97dabaa292b13b17589e177d72385355ac72899fe10e4a6bf11e56590ce60c5b56db297be7464841c64bc5bcf22e27cc07c628a SHA512 1e1f0ac3b1664efec145fc138dad04417241f30462e45379b95c59a81f2148709fdb5a659366156a3092f1b55ee5d6d41cd24331fdb173ce411abe2681c2f828 diff --git a/app-emulation/libvirt/files/libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch b/app-emulation/libvirt/files/libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch deleted file mode 100644 index ddedb1f90cd3..000000000000 --- a/app-emulation/libvirt/files/libvirt-1.2.16-fix_paths_in_libvirt-guests_sh.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in -index 7f74b85..ea58119 100644 ---- a/tools/libvirt-guests.sh.in -+++ b/tools/libvirt-guests.sh.in -@@ -41,11 +41,11 @@ CONNECT_RETRIES=10 - RETRIES_SLEEP=1 - SYNC_TIME=0 - --test -f "$sysconfdir"/sysconfig/libvirt-guests && -- . "$sysconfdir"/sysconfig/libvirt-guests -+test -f "$sysconfdir"/libvirt/libvirt-guests.conf && -+ . "$sysconfdir"/libvirt/libvirt-guests.conf - - LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests --VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests -+VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests - - RETVAL=0 - diff --git a/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch deleted file mode 100644 index 866c6357b6e4..000000000000 --- a/app-emulation/libvirt/files/libvirt-5.2.0-fix-paths-for-apparmor.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 563706143779166624812b3faf498d869f5dd383 Mon Sep 17 00:00:00 2001 -Message-Id: <563706143779166624812b3faf498d869f5dd383.1547196492.git.mprivozn@redhat.com> -From: Michal Privoznik -Date: Fri, 11 Jan 2019 09:41:06 +0100 -Subject: [PATCH] gentoo: fix paths for apparmor - -Signed-off-by: Michal Privoznik ---- - src/security/Makefile.inc.am | 10 +++++----- - src/security/apparmor/libvirt-qemu | 2 ++ - ...bvirt.virt-aa-helper => usr.libexec.virt-aa-helper} | 4 ++-- - src/security/apparmor/usr.sbin.libvirtd | 6 ++++-- - 4 files changed, 13 insertions(+), 9 deletions(-) - rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper => usr.libexec.virt-aa-helper} (93%) - -diff --git a/src/security/Makefile.inc.am b/src/security/Makefile.inc.am -index b24cdfd083..ae8e979b84 100644 ---- a/src/security/Makefile.inc.am -+++ b/src/security/Makefile.inc.am -@@ -36,7 +36,7 @@ EXTRA_DIST += \ - security/apparmor/TEMPLATE.lxc \ - security/apparmor/libvirt-qemu \ - security/apparmor/libvirt-lxc \ -- security/apparmor/usr.lib.libvirt.virt-aa-helper \ -+ security/apparmor/usr.libexec.virt-aa-helper \ - security/apparmor/usr.sbin.libvirtd \ - $(NULL) - -@@ -90,7 +90,7 @@ endif WITH_SECDRIVER_APPARMOR - if WITH_APPARMOR_PROFILES - apparmordir = $(sysconfdir)/apparmor.d/ - apparmor_DATA = \ -- security/apparmor/usr.lib.libvirt.virt-aa-helper \ -+ security/apparmor/usr.libexec.virt-aa-helper \ - security/apparmor/usr.sbin.libvirtd \ - $(NULL) - -@@ -110,11 +110,11 @@ APPARMOR_LOCAL_DIR = "$(DESTDIR)$(apparmordir)/local" - install-apparmor-local: - $(MKDIR_P) "$(APPARMOR_LOCAL_DIR)" - echo "# Site-specific additions and overrides for \ -- 'usr.lib.libvirt.virt-aa-helper'" \ -- >"$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper" -+ 'usr.libexec.virt-aa-helper'" \ -+ >"$(APPARMOR_LOCAL_DIR)/usr.libexec.virt-aa-helper" - - uninstall-apparmor-local: -- rm -f "$(APPARMOR_LOCAL_DIR)/usr.lib.libvirt.virt-aa-helper" -+ rm -f "$(APPARMOR_LOCAL_DIR)/usr.libexec.virt-aa-helper" - rmdir "$(APPARMOR_LOCAL_DIR)" || : - - INSTALL_DATA_LOCAL += install-apparmor-local -diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu -index eaa5167525..9be50bbbe0 100644 ---- a/src/security/apparmor/libvirt-qemu -+++ b/src/security/apparmor/libvirt-qemu -@@ -87,6 +87,8 @@ - /usr/share/AAVMF/** r, - /usr/share/qemu-efi/** r, - /usr/share/slof/** r, -+ /usr/share/seavgabios/** r, -+ /usr/share/edk2-ovmf/** r, - - # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140) - /etc/pki/CA/ r, -diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper b/src/security/apparmor/usr.libexec.virt-aa-helper -similarity index 93% -rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper -rename to src/security/apparmor/usr.libexec.virt-aa-helper -index de9436872c..99ab4ea527 100644 ---- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper -+++ b/src/security/apparmor/usr.libexec.virt-aa-helper -@@ -1,7 +1,7 @@ - # Last Modified: Mon Apr 5 15:10:27 2010 - #include - --profile virt-aa-helper /usr/{lib,lib64}/libvirt/virt-aa-helper { -+profile virt-aa-helper /usr/libexec/virt-aa-helper { - #include - - # needed for searching directories -@@ -36,7 +36,7 @@ - deny /dev/mapper/ r, - deny /dev/mapper/* r, - -- /usr/{lib,lib64}/libvirt/virt-aa-helper mr, -+ /usr/libexec/virt-aa-helper mr, - /{usr/,}sbin/apparmor_parser Ux, - - /etc/apparmor.d/libvirt/* r, -@@ -66,5 +66,5 @@ - /**.[iI][sS][oO] r, - /**/disk{,.*} r, - -- #include -+ #include - } -diff --git a/src/security/apparmor/usr.sbin.libvirtd b/src/security/apparmor/usr.sbin.libvirtd -index f0ffc53008..8a402bd6ec 100644 ---- a/src/security/apparmor/usr.sbin.libvirtd -+++ b/src/security/apparmor/usr.sbin.libvirtd -@@ -98,8 +98,10 @@ - audit deny /sys/kernel/security/apparmor/.* rwxl, - /sys/kernel/security/apparmor/profiles r, - /usr/{lib,lib64}/libvirt/* PUxr, -- /usr/{lib,lib64}/libvirt/libvirt_parthelper ix, -- /usr/{lib,lib64}/libvirt/libvirt_iohelper ix, -+ /usr/libexec/virt-aa-helper PUxr, -+ /usr/libexec/libvirt_lxc PUxr, -+ /usr/libexec/libvirt_parthelper ix, -+ /usr/libexec/libvirt_iohelper ix, - /etc/libvirt/hooks/** rmix, - /etc/xen/scripts/** rmix, - --- -2.19.2 diff --git a/app-emulation/libvirt/files/libvirt-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch b/app-emulation/libvirt/files/libvirt-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch deleted file mode 100644 index 62f89a378bcc..000000000000 --- a/app-emulation/libvirt/files/libvirt-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ba756e8d0928ac4ddb7decd1033de2121201d941 Mon Sep 17 00:00:00 2001 -Message-Id: -From: =?UTF-8?q?J=C3=A1n=20Tomko?= -Date: Mon, 20 Jan 2020 07:55:48 +0100 -Subject: [PATCH] qemu: end the agent job in qemuDomainSetTimeAgent -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This function grabs an agent job but ends a monitor job. -End the agent job instead. - -https://bugzilla.redhat.com/show_bug.cgi?id=1792723 - -Signed-off-by: Ján Tomko -Reported-by: Dan Zheng -Fixes: e005c95f56fee9ed780be7f8db103d690bd34cbd -(cherry picked from commit d61f95cf6a6fbd564e104c168d325581acd9cd8d) -Signed-off-by: Michal Privoznik ---- - src/qemu/qemu_driver.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c -index d6b1e9f00c..48cd5b95d9 100644 ---- a/src/qemu/qemu_driver.c -+++ b/src/qemu/qemu_driver.c -@@ -20376,7 +20376,7 @@ qemuDomainSetTimeAgent(virQEMUDriverPtr driver, - qemuDomainObjExitAgent(vm, agent); - - endjob: -- qemuDomainObjEndJob(driver, vm); -+ qemuDomainObjEndAgentJob(vm); - return ret; - } - --- -2.24.1 - diff --git a/app-emulation/libvirt/files/libvirt-6.2.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-6.2.0-do-not-use-sysconfig.patch deleted file mode 100644 index 3dc2588b7bfd..000000000000 --- a/app-emulation/libvirt/files/libvirt-6.2.0-do-not-use-sysconfig.patch +++ /dev/null @@ -1,325 +0,0 @@ -From c378ab3e7fe84ac69ad787c099f24fd32dbbf6e4 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Michal Privoznik -Date: Sun, 5 Apr 2020 14:41:45 +0200 -Subject: [PATCH] Do not use sysconfig - -Signed-off-by: Michal Privoznik ---- - src/Makefile.am | 21 ++------------------- - src/interface/virtinterfaced.service.in | 1 - - src/libxl/virtxend.service.in | 1 - - src/locking/virtlockd.service.in | 3 +-- - src/logging/virtlogd.service.in | 3 +-- - src/lxc/virtlxcd.service.in | 1 - - src/network/virtnetworkd.service.in | 1 - - src/node_device/virtnodedevd.service.in | 1 - - src/nwfilter/virtnwfilterd.service.in | 1 - - src/qemu/virtqemud.service.in | 1 - - src/remote/libvirtd.service.in | 3 +-- - src/remote/virtproxyd.service.in | 1 - - src/secret/virtsecretd.service.in | 1 - - src/storage/virtstoraged.service.in | 1 - - src/vbox/virtvboxd.service.in | 1 - - src/vz/virtvzd.service.in | 1 - - tools/Makefile.am | 13 ++----------- - tools/libvirt-guests.service.in | 2 +- - tools/libvirt-guests.sysconf | 6 ++++++ - 19 files changed, 14 insertions(+), 49 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 12dd6b80e1..10f1bb769d 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -522,23 +522,6 @@ EXTRA_DIST += \ - $(SYSCONF_FILES) \ - $(OPENRC_CONF_FILES) - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- $(INSTALL_DATA) $(srcdir)/$$f.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- --uninstall-sysconfig: -- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ -- do \ -- tgt=`basename $$f`; \ -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ -- done -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : -- - OPENRC_CONF_DIR = $(sysconfdir)/conf.d - - install-openrc-conf: -@@ -604,14 +587,14 @@ SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system - BUILT_SOURCES += $(SYSTEMD_UNIT_FILES) - DISTCLEANFILES += $(SYSTEMD_UNIT_FILES) - --install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig -+install-systemd: $(SYSTEMD_UNIT_FILES) - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - for f in $(SYSTEMD_UNIT_FILES); \ - do \ - $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \ - done - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%) - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : - -diff --git a/src/interface/virtinterfaced.service.in b/src/interface/virtinterfaced.service.in -index 73d409b81b..2d2c0138f5 100644 ---- a/src/interface/virtinterfaced.service.in -+++ b/src/interface/virtinterfaced.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtinterfaced - ExecStart=@sbindir@/virtinterfaced $VIRTINTERFACED_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in -index a863917467..5b2d16f627 100644 ---- a/src/libxl/virtxend.service.in -+++ b/src/libxl/virtxend.service.in -@@ -17,7 +17,6 @@ ConditionPathExists=/proc/xen/capabilities - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtxend - ExecStart=@sbindir@/virtxend $VIRTXEND_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in -index e7f8057c06..2449b201d9 100644 ---- a/src/locking/virtlockd.service.in -+++ b/src/locking/virtlockd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlockd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-@sysconfdir@/sysconfig/virtlockd --ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS -+ExecStart=@sbindir@/virtlockd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the locks is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in -index daff48e67d..43736191d5 100644 ---- a/src/logging/virtlogd.service.in -+++ b/src/logging/virtlogd.service.in -@@ -7,8 +7,7 @@ Documentation=man:virtlogd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-@sysconfdir@/sysconfig/virtlogd --ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS -+ExecStart=@sbindir@/virtlogd - ExecReload=/bin/kill -USR1 $MAINPID - # Loosing the logs is a really bad thing that will - # cause the machine to be fenced (rebooted), so make -diff --git a/src/lxc/virtlxcd.service.in b/src/lxc/virtlxcd.service.in -index 3af7c1a52d..cff421d988 100644 ---- a/src/lxc/virtlxcd.service.in -+++ b/src/lxc/virtlxcd.service.in -@@ -18,7 +18,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtlxcd - ExecStart=@sbindir@/virtlxcd $VIRTLXCD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process -diff --git a/src/network/virtnetworkd.service.in b/src/network/virtnetworkd.service.in -index e7f1326945..49fb7b99ff 100644 ---- a/src/network/virtnetworkd.service.in -+++ b/src/network/virtnetworkd.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtnetworkd - ExecStart=@sbindir@/virtnetworkd $VIRTNETWORKD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/node_device/virtnodedevd.service.in b/src/node_device/virtnodedevd.service.in -index d2453dd620..847263e8b9 100644 ---- a/src/node_device/virtnodedevd.service.in -+++ b/src/node_device/virtnodedevd.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtnodedevd - ExecStart=@sbindir@/virtnodedevd $VIRTNODEDEVD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/nwfilter/virtnwfilterd.service.in b/src/nwfilter/virtnwfilterd.service.in -index dda7c01a3d..bb0bf0afa4 100644 ---- a/src/nwfilter/virtnwfilterd.service.in -+++ b/src/nwfilter/virtnwfilterd.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtnwfilterd - ExecStart=@sbindir@/virtnwfilterd $VIRTNWFILTERD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in -index 8abc9d3a7f..3539be3c0b 100644 ---- a/src/qemu/virtqemud.service.in -+++ b/src/qemu/virtqemud.service.in -@@ -18,7 +18,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtqemud - ExecStart=@sbindir@/virtqemud $VIRTQEMUD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process -diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in -index 90b2cad5b0..d16b11ec8d 100644 ---- a/src/remote/libvirtd.service.in -+++ b/src/remote/libvirtd.service.in -@@ -25,8 +25,7 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/libvirtd --ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS -+ExecStart=@sbindir@/libvirtd - ExecReload=/bin/kill -HUP $MAINPID - KillMode=process - Restart=on-failure -diff --git a/src/remote/virtproxyd.service.in b/src/remote/virtproxyd.service.in -index f43ce9ee6e..9076e638a7 100644 ---- a/src/remote/virtproxyd.service.in -+++ b/src/remote/virtproxyd.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtproxyd - ExecStart=@sbindir@/virtproxyd $VIRTPROXYD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/secret/virtsecretd.service.in b/src/secret/virtsecretd.service.in -index 8444142a3a..57e74c2d38 100644 ---- a/src/secret/virtsecretd.service.in -+++ b/src/secret/virtsecretd.service.in -@@ -13,7 +13,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtsecretd - ExecStart=@sbindir@/virtsecretd $VIRTSECRETD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/storage/virtstoraged.service.in b/src/storage/virtstoraged.service.in -index fc3e9a1b69..a82319b214 100644 ---- a/src/storage/virtstoraged.service.in -+++ b/src/storage/virtstoraged.service.in -@@ -15,7 +15,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtstoraged - ExecStart=@sbindir@/virtstoraged $VIRTSTORAGED_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/vbox/virtvboxd.service.in b/src/vbox/virtvboxd.service.in -index ebb31dde07..21eec57bab 100644 ---- a/src/vbox/virtvboxd.service.in -+++ b/src/vbox/virtvboxd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtvboxd - ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/src/vz/virtvzd.service.in b/src/vz/virtvzd.service.in -index f551cb8fbf..99b9b4f1bf 100644 ---- a/src/vz/virtvzd.service.in -+++ b/src/vz/virtvzd.service.in -@@ -14,7 +14,6 @@ Documentation=https://libvirt.org - - [Service] - Type=notify --EnvironmentFile=-@sysconfdir@/sysconfig/virtvzd - ExecStart=@sbindir@/virtvzd $VIRTVZD_ARGS - ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure -diff --git a/tools/Makefile.am b/tools/Makefile.am -index 53df930e0a..598a62ddef 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -294,15 +294,6 @@ install-data-local: install-systemd install-nss \ - uninstall-local: uninstall-systemd uninstall-nss \ - uninstall-bash-completion - --install-sysconfig: -- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig -- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ -- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- --uninstall-sysconfig: -- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests -- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: -- - EXTRA_DIST += libvirt-guests.sh.in - - libvirt-guests.sh: libvirt-guests.sh.in $(top_builddir)/config.status -@@ -322,12 +313,12 @@ EXTRA_DIST += libvirt-guests.service.in - SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system - - if LIBVIRT_INIT_SCRIPT_SYSTEMD --install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh -+install-systemd: libvirt-guests.service libvirt-guests.sh - $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) - $(INSTALL_DATA) libvirt-guests.service \ - $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - --uninstall-systemd: uninstall-sysconfig -+uninstall-systemd: - rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service - rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: - -diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in -index 10c664016a..f0f417bffb 100644 ---- a/tools/libvirt-guests.service.in -+++ b/tools/libvirt-guests.service.in -@@ -10,7 +10,7 @@ Documentation=man:libvirtd(8) - Documentation=https://libvirt.org - - [Service] --EnvironmentFile=-@sysconfdir@/sysconfig/libvirt-guests -+EnvironmentFile=-/etc/libvirt/libvirt-guests.conf - # Hack just call traditional service until we factor - # out the code - ExecStart=@libexecdir@/libvirt-guests.sh start -diff --git a/tools/libvirt-guests.sysconf b/tools/libvirt-guests.sysconf -index 0765efec21..a1a53d8a8d 100644 ---- a/tools/libvirt-guests.sysconf -+++ b/tools/libvirt-guests.sysconf -@@ -1,3 +1,9 @@ -+# -+# Warning: This configuration file is only sourced by the systemd -+# libvirt-guests.service unit. The coresponding openrc facility is in -+# /etc/init.d/libvirtd and /etc/conf.d/libvirtd -+# -+ - # Customizations for the libvirt-guests.service systemd unit - - # URIs to check for running guests --- -2.24.1 - diff --git a/app-emulation/libvirt/files/libvirt-6.5.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-6.5.0-do-not-use-sysconfig.patch new file mode 100644 index 000000000000..74b5954a0cf1 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-6.5.0-do-not-use-sysconfig.patch @@ -0,0 +1,245 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -522,23 +522,6 @@ + $(SYSCONF_FILES) \ + $(OPENRC_CONF_FILES) + +-install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ +- do \ +- tgt=`basename $$f`; \ +- $(INSTALL_DATA) $(srcdir)/$$f.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ +- done +- +-uninstall-sysconfig: +- for f in $(SYSCONF_FILES:%.sysconf=%) ; \ +- do \ +- tgt=`basename $$f`; \ +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \ +- done +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig || : +- + OPENRC_CONF_DIR = $(sysconfdir)/conf.d + + install-openrc-conf: +@@ -604,14 +587,14 @@ + BUILT_SOURCES += $(SYSTEMD_UNIT_FILES) + DISTCLEANFILES += $(SYSTEMD_UNIT_FILES) + +-install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig ++install-systemd: $(SYSTEMD_UNIT_FILES) + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + for f in $(SYSTEMD_UNIT_FILES); \ + do \ + $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \ + done + +-uninstall-systemd: uninstall-sysconfig ++uninstall-systemd: + rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%) + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || : + +--- a/src/interface/virtinterfaced.service.in ++++ b/src/interface/virtinterfaced.service.in +@@ -13,7 +13,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtinterfaced + ExecStart=@sbindir@/virtinterfaced $VIRTINTERFACED_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/libxl/virtxend.service.in ++++ b/src/libxl/virtxend.service.in +@@ -17,7 +17,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtxend + ExecStart=@sbindir@/virtxend $VIRTXEND_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/locking/virtlockd.service.in ++++ b/src/locking/virtlockd.service.in +@@ -7,8 +7,7 @@ + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-@sysconfdir@/sysconfig/virtlockd +-ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS ++ExecStart=@sbindir@/virtlockd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the locks is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +--- a/src/logging/virtlogd.service.in ++++ b/src/logging/virtlogd.service.in +@@ -7,8 +7,7 @@ + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-@sysconfdir@/sysconfig/virtlogd +-ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS ++ExecStart=@sbindir@/virtlogd + ExecReload=/bin/kill -USR1 $MAINPID + # Loosing the logs is a really bad thing that will + # cause the machine to be fenced (rebooted), so make +--- a/src/lxc/virtlxcd.service.in ++++ b/src/lxc/virtlxcd.service.in +@@ -18,7 +18,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtlxcd + ExecStart=@sbindir@/virtlxcd $VIRTLXCD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process +--- a/src/network/virtnetworkd.service.in ++++ b/src/network/virtnetworkd.service.in +@@ -16,7 +16,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtnetworkd + ExecStart=@sbindir@/virtnetworkd $VIRTNETWORKD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/node_device/virtnodedevd.service.in ++++ b/src/node_device/virtnodedevd.service.in +@@ -13,7 +13,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtnodedevd + ExecStart=@sbindir@/virtnodedevd $VIRTNODEDEVD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/nwfilter/virtnwfilterd.service.in ++++ b/src/nwfilter/virtnwfilterd.service.in +@@ -13,7 +13,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtnwfilterd + ExecStart=@sbindir@/virtnwfilterd $VIRTNWFILTERD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/qemu/virtqemud.service.in ++++ b/src/qemu/virtqemud.service.in +@@ -18,7 +18,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtqemud + ExecStart=@sbindir@/virtqemud $VIRTQEMUD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process +--- a/src/remote/libvirtd.service.in ++++ b/src/remote/libvirtd.service.in +@@ -28,8 +28,7 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/libvirtd +-ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS ++ExecStart=@sbindir@/libvirtd + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process + Restart=on-failure +--- a/src/remote/virtproxyd.service.in ++++ b/src/remote/virtproxyd.service.in +@@ -13,7 +13,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtproxyd + ExecStart=@sbindir@/virtproxyd $VIRTPROXYD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/secret/virtsecretd.service.in ++++ b/src/secret/virtsecretd.service.in +@@ -13,7 +13,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtsecretd + ExecStart=@sbindir@/virtsecretd $VIRTSECRETD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/storage/virtstoraged.service.in ++++ b/src/storage/virtstoraged.service.in +@@ -15,7 +15,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtstoraged + ExecStart=@sbindir@/virtstoraged $VIRTSTORAGED_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/src/vbox/virtvboxd.service.in ++++ b/src/vbox/virtvboxd.service.in +@@ -14,7 +14,6 @@ + + [Service] + Type=notify +-EnvironmentFile=-@sysconfdir@/sysconfig/virtvboxd + ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -294,15 +294,6 @@ + uninstall-local: uninstall-systemd uninstall-nss \ + uninstall-bash-completion + +-install-sysconfig: +- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig +- $(INSTALL_DATA) $(srcdir)/libvirt-guests.sysconf \ +- $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +- +-uninstall-sysconfig: +- rm -f $(DESTDIR)$(sysconfdir)/sysconfig/libvirt-guests +- rmdir $(DESTDIR)$(sysconfdir)/sysconfig ||: +- + EXTRA_DIST += libvirt-guests.sh.in + + libvirt-guests.sh: libvirt-guests.sh.in $(top_builddir)/config.status +@@ -322,12 +313,12 @@ + SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system + + if LIBVIRT_INIT_SCRIPT_SYSTEMD +-install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh ++install-systemd: libvirt-guests.service libvirt-guests.sh + $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) + $(INSTALL_DATA) libvirt-guests.service \ + $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + +-uninstall-systemd: uninstall-sysconfig ++uninstall-systemd: + rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirt-guests.service + rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) ||: + +--- a/tools/libvirt-guests.service.in ++++ b/tools/libvirt-guests.service.in +@@ -10,7 +10,7 @@ + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-@sysconfdir@/sysconfig/libvirt-guests ++EnvironmentFile=-/etc/libvirt/libvirt-guests.conf + # Hack just call traditional service until we factor + # out the code + ExecStart=@libexecdir@/libvirt-guests.sh start +--- a/tools/libvirt-guests.sysconf ++++ b/tools/libvirt-guests.sysconf +@@ -1,3 +1,9 @@ ++# ++# Warning: This configuration file is only sourced by the systemd ++# libvirt-guests.service unit. The coresponding openrc facility is in ++# /etc/init.d/libvirtd and /etc/conf.d/libvirtd ++# ++ + # Customizations for the libvirt-guests.service systemd unit + + # URIs to check for running guests diff --git a/app-emulation/libvirt/files/libvirtd.init-r18 b/app-emulation/libvirt/files/libvirtd.init-r18 deleted file mode 100644 index 5e9efc83e2f9..000000000000 --- a/app-emulation/libvirt/files/libvirtd.init-r18 +++ /dev/null @@ -1,33 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="Virtual Machine Management daemon (libvirt)" - -LIBVIRTD_OPTS=${LIBVIRTD_OPTS:-"${LIBVIRTD_OPTS}"} -LIBVIRTD_TIMEOUT=${LIBVIRTD_TERMTIMEOUT:-"TERM/25/KILL/5"} - -command="/usr/sbin/libvirtd" -command_args="-d ${LIBVIRTD_OPTS}" -start_stop_daemon_args="--env KRB5_KTNAME=/etc/libvirt/krb5.tab" -pidfile="/run/libvirtd.pid" -retry="${LIBVIRTD_TERMTIMEOUT}" - -depend() { - need virtlogd - use ceph dbus iscsid virtlockd - after cgconfig corosync ebtables iptables ip6tables nfs nfsmount ntp-client ntpdportmap rpc.statd sanlock xenconsoled - USE_FLAG_FIREWALLD -} - -start_pre() { - # Test configuration directories in /etc/libvirt/ to be either not - # present or a directory, i.e. not a regular file, bug #532892 - - checkpath --directory /etc/libvirt/lxc || return 1 - checkpath --directory /etc/libvirt/nwfilter || return 1 - [ -L /etc/libvirt/qemu ] || - checkpath --directory /etc/libvirt/qemu || return 1 - [ -L /etc/libvirt/storage ] || - checkpath --directory /etc/libvirt/storage || return 1 -} diff --git a/app-emulation/libvirt/files/virtlockd.init-r1 b/app-emulation/libvirt/files/virtlockd.init-r1 deleted file mode 100644 index 1e812d870c19..000000000000 --- a/app-emulation/libvirt/files/virtlockd.init-r1 +++ /dev/null @@ -1,23 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="libvirt virtual machine lock manager" -command="/usr/sbin/virtlockd" -command_args="-d" -pidfile="/run/virtlockd.pid" - -extra_started_commands="reload" -description_reload="re-exec the daemon, while maintaining locks and clients" - - -depend() { - after ntp-client ntpd nfs nfsmount corosync -} - -reload() { - ebegin "re-exec() virtlockd" - - start-stop-daemon --signal SIGUSR1 \ - --exec "${command}" --pidfile "${pidfile}" -} diff --git a/app-emulation/libvirt/files/virtlogd.init-r1 b/app-emulation/libvirt/files/virtlogd.init-r1 deleted file mode 100644 index ff9c2446e8c3..000000000000 --- a/app-emulation/libvirt/files/virtlogd.init-r1 +++ /dev/null @@ -1,23 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="libvirt virtual machine logging manager" -command="/usr/sbin/virtlogd" -command_args="-d" -pidfile="/run/virtlogd.pid" - -extra_started_commands="reload" -description_reload="re-exec the daemon, while maintaining open connections" - - -depend() { - after ntp-client ntpd nfs nfsmount corosync -} - -reload() { - ebegin "re-exec() virtlogd" - - start-stop-daemon --signal SIGUSR1 \ - --exec "${command}" --pidfile "${pidfile}" -} diff --git a/app-emulation/libvirt/libvirt-6.0.0-r3.ebuild b/app-emulation/libvirt/libvirt-6.0.0-r3.ebuild deleted file mode 100644 index 93f45ac0a1cc..000000000000 --- a/app-emulation/libvirt/libvirt-6.0.0-r3.ebuild +++ /dev/null @@ -1,360 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" - SRC_URI="" - KEYWORDS="amd64 x86" - SLOT="0" -else - SRC_URI="https://libvirt.org/sources/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc64 x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi - iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz - parted pcap phyp policykit +qemu rbd sasl selinux +udev +vepa - virtualbox virt-network wireshark-plugins xen zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - acct-user/qemu - policykit? ( acct-group/libvirt ) - app-misc/scrub - >=dev-libs/glib-2.48.0 - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - >=net-analyzer/openbsd-netcat-1.105-r1 - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - dtrace? ( dev-util/systemtap ) - firewalld? ( >=net-firewall/firewalld-0.6.3 ) - fuse? ( sys-fs/fuse:0= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - lxc? ( !sys-apps/systemd[-cgroup-hybrid(+)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-1.5.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - >=app-emulation/xen-4.6.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - dev-python/docutils - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-6.0.0-do-not-use-sysconf.patch - "${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch - "${FILESDIR}"/${PN}-6.0.0-qemu-end-the-agent-job-in-qemuDomainSetTimeAgent.patch -) - -pkg_setup() { - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM - ~IP_NF_FILTER - ~IP_NF_MANGLE - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~IP6_NF_FILTER - ~IP6_NF_MANGLE - ~IP6_NF_NAT" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~IP_NF_TARGET_REJECT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -my_src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with dtrace) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with iscsi-direct storage-iscsi-direct) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with phyp) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen libxl) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --localstatedir=/var - --with-runstatedir=/run - --enable-dependency-tracking - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" -} - -my_src_test() { - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check -} - -my_src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - rm -rf "${D}"/run - - newbashcomp "${S}/tools/bash-completion/vsh" virsh - bashcomp_alias virsh virt-admin - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd - newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-6.1.0-r1.ebuild b/app-emulation/libvirt/libvirt-6.1.0-r1.ebuild deleted file mode 100644 index 305df5436e36..000000000000 --- a/app-emulation/libvirt/libvirt-6.1.0-r1.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" - SRC_URI="" - KEYWORDS="" - SLOT="0" -else - SRC_URI="https://libvirt.org/sources/${P}.tar.xz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" - SLOT="0/${PV}" -fi - -DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" -LICENSE="LGPL-2.1" -IUSE=" - apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi - iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz - parted pcap policykit +qemu rbd sasl selinux +udev +vepa - virtualbox virt-network wireshark-plugins xen zfs -" - -REQUIRED_USE=" - firewalld? ( virt-network ) - libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) - lxc? ( caps libvirtd ) - openvz? ( libvirtd ) - policykit? ( dbus ) - qemu? ( libvirtd ) - vepa? ( macvtap ) - virt-network? ( libvirtd ) - virtualbox? ( libvirtd ) - xen? ( libvirtd )" - -# gettext.sh command is used by the libvirt command wrappers, and it's -# non-optional, so put it into RDEPEND. -# We can use both libnl:1.1 and libnl:3, but if you have both installed, the -# package will use 3 by default. Since we don't have slot pinning in an API, -# we must go with the most recent -RDEPEND=" - acct-user/qemu - policykit? ( acct-group/libvirt ) - app-misc/scrub - >=dev-libs/glib-2.48.0 - dev-libs/libgcrypt:0 - dev-libs/libnl:3 - >=dev-libs/libxml2-2.7.6 - >=net-analyzer/openbsd-netcat-1.105-r1 - >=net-libs/gnutls-1.0.25:0= - net-libs/libssh2 - net-libs/libtirpc - net-libs/rpcsvc-proto - >=net-misc/curl-7.18.0 - sys-apps/dmidecode - >=sys-apps/util-linux-2.17 - sys-devel/gettext - sys-libs/ncurses:0= - sys-libs/readline:= - apparmor? ( sys-libs/libapparmor ) - audit? ( sys-process/audit ) - caps? ( sys-libs/libcap-ng ) - dbus? ( sys-apps/dbus ) - dtrace? ( dev-util/systemtap ) - firewalld? ( >=net-firewall/firewalld-0.6.3 ) - fuse? ( sys-fs/fuse:0= ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) - iscsi? ( sys-block/open-iscsi ) - iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) - libssh? ( net-libs/libssh ) - lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) - lxc? ( !sys-apps/systemd[-cgroup-hybrid(+)] ) - nfs? ( net-fs/nfs-utils ) - numa? ( - >sys-process/numactl-2.0.2 - sys-process/numad - ) - parted? ( - >=sys-block/parted-1.8[device-mapper] - sys-fs/lvm2[-device-mapper-only(-)] - ) - pcap? ( >=net-libs/libpcap-1.0.0 ) - policykit? ( >=sys-auth/polkit-0.9 ) - qemu? ( - >=app-emulation/qemu-1.5.0 - dev-libs/yajl - ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - selinux? ( >=sys-libs/libselinux-2.0.85 ) - virt-network? ( - net-dns/dnsmasq[script] - net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6] - net-misc/radvd - sys-apps/iproute2[-minimal] - ) - virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) - wireshark-plugins? ( net-analyzer/wireshark:= ) - xen? ( - >=app-emulation/xen-4.6.0 - app-emulation/xen-tools:= - ) - udev? ( - virtual/udev - >=x11-libs/libpciaccess-0.10.9 - ) - zfs? ( sys-fs/zfs )" - -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - app-text/xhtml1 - dev-lang/perl - dev-libs/libxslt - dev-perl/XML-XPath - dev-python/docutils - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-6.0.0-do-not-use-sysconf.patch - "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch - "${FILESDIR}"/${PN}-6.1.0-fix-paths-for-apparmor.patch -) - -pkg_setup() { - # Check kernel configuration: - CONFIG_CHECK="" - use fuse && CONFIG_CHECK+=" - ~FUSE_FS" - - use lvm && CONFIG_CHECK+=" - ~BLK_DEV_DM - ~DM_MULTIPATH - ~DM_SNAPSHOT" - - use lxc && CONFIG_CHECK+=" - ~BLK_CGROUP - ~CGROUP_CPUACCT - ~CGROUP_DEVICE - ~CGROUP_FREEZER - ~CGROUP_NET_PRIO - ~CGROUP_PERF - ~CGROUPS - ~CGROUP_SCHED - ~CPUSETS - ~IPC_NS - ~MACVLAN - ~NAMESPACES - ~NET_CLS_CGROUP - ~NET_NS - ~PID_NS - ~POSIX_MQUEUE - ~SECURITYFS - ~USER_NS - ~UTS_NS - ~VETH - ~!GRKERNSEC_CHROOT_MOUNT - ~!GRKERNSEC_CHROOT_DOUBLE - ~!GRKERNSEC_CHROOT_PIVOT - ~!GRKERNSEC_CHROOT_CHMOD - ~!GRKERNSEC_CHROOT_CAPS" - - kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" - ~DEVPTS_MULTIPLE_INSTANCES" - - use macvtap && CONFIG_CHECK+=" - ~MACVTAP" - - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_MARK_T - ~BRIDGE_NF_EBTABLES - ~NETFILTER_ADVANCED - ~NETFILTER_XT_CONNMARK - ~NETFILTER_XT_MARK - ~NETFILTER_XT_TARGET_CHECKSUM - ~IP_NF_FILTER - ~IP_NF_MANGLE - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~IP6_NF_FILTER - ~IP6_NF_MANGLE - ~IP6_NF_NAT" - # Bandwidth Limiting Support - use virt-network && CONFIG_CHECK+=" - ~BRIDGE_EBT_T_NAT - ~IP_NF_TARGET_REJECT - ~NET_ACT_POLICE - ~NET_CLS_FW - ~NET_CLS_U32 - ~NET_SCH_HTB - ~NET_SCH_INGRESS - ~NET_SCH_SFQ" - - # Handle specific kernel versions for different features - kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" - if kernel_is ge 3 6; then - CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " - kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " - fi - - ERROR_USER_NS="Optional depending on LXC configuration." - - if [[ -n ${CONFIG_CHECK} ]]; then - linux-info_pkg_setup - fi -} - -src_prepare() { - touch "${S}/.mailmap" - - default - - # Tweak the init script: - cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die - sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ - -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf -} - -my_src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with dtrace) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with iscsi-direct storage-iscsi-direct) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen libxl) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --localstatedir=/var - --with-runstatedir=/run - --enable-dependency-tracking - ) - - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" -} - -my_src_test() { - # remove problematic tests, bug #591416, bug #591418 - sed -i -e 's#commandtest$(EXEEXT) # #' \ - -e 's#virfirewalltest$(EXEEXT) # #' \ - -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ - -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ - tests/Makefile - - export VIR_TEST_DEBUG=1 - HOME="${T}" emake check -} - -my_src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die - - # Remove bogus, empty directories. They are either not used, or - # libvirtd is able to create them on demand - rm -rf "${D}"/etc/sysconfig - rm -rf "${D}"/var - rm -rf "${D}"/run - - newbashcomp "${S}/tools/bash-completion/vsh" virsh - bashcomp_alias virsh virt-admin - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf - - newinitd "${S}/libvirtd.init" libvirtd - newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests - newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd - newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd - - newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd - newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests - - DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_preinst() { - # we only ever want to generate this once - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml - fi -} - -pkg_postinst() { - if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then - touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml - fi - - use libvirtd || return 0 - # From here, only libvirtd-related instructions, be warned! - - readme.gentoo_print_elog -} diff --git a/app-emulation/libvirt/libvirt-6.2.0-r2.ebuild b/app-emulation/libvirt/libvirt-6.2.0-r2.ebuild index 9e26e773524c..8bda7f2f1195 100644 --- a/app-emulation/libvirt/libvirt-6.2.0-r2.ebuild +++ b/app-emulation/libvirt/libvirt-6.2.0-r2.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} = *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" SRC_URI="" - KEYWORDS="amd64 x86" + KEYWORDS="amd64 arm64 x86" SLOT="0" else SRC_URI="https://libvirt.org/sources/${P}.tar.xz" diff --git a/app-emulation/libvirt/libvirt-6.5.0.ebuild b/app-emulation/libvirt/libvirt-6.5.0.ebuild new file mode 100644 index 000000000000..f236af9bf3a6 --- /dev/null +++ b/app-emulation/libvirt/libvirt-6.5.0.ebuild @@ -0,0 +1,355 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://libvirt.org/git/libvirt.git" + SLOT="0" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" + SLOT="0/${PV}" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="https://www.libvirt.org/" +LICENSE="LGPL-2.1" +IUSE=" + apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi + iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz + parted pcap policykit +qemu rbd sasl selinux +udev +vepa + virtualbox virt-network wireshark-plugins xen zfs +" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + policykit? ( dbus ) + qemu? ( libvirtd ) + vepa? ( macvtap ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent +RDEPEND=" + acct-user/qemu + policykit? ( acct-group/libvirt ) + app-misc/scrub + >=dev-libs/glib-2.48.0 + dev-libs/libgcrypt:0 + dev-libs/libnl:3 + >=dev-libs/libxml2-2.7.6 + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-1.0.25:0= + net-libs/libssh2 + net-libs/libtirpc + net-libs/rpcsvc-proto + >=net-misc/curl-7.18.0 + sys-apps/dmidecode + >=sys-apps/util-linux-2.17 + sys-devel/gettext + sys-libs/ncurses:0= + sys-libs/readline:= + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dbus? ( sys-apps/dbus ) + dtrace? ( dev-util/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( sys-fs/fuse:0= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( sys-block/open-iscsi ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( net-libs/libssh ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[-device-mapper-only(-)] + ) + pcap? ( >=net-libs/libpcap-1.0.0 ) + policykit? ( >=sys-auth/polkit-0.9 ) + qemu? ( + >=app-emulation/qemu-1.5.0 + dev-libs/yajl + ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) ) + wireshark-plugins? ( net-analyzer/wireshark:= ) + xen? ( + >=app-emulation/xen-4.6.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/udev + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs )" + +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + dev-python/docutils + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-6.1.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-6.5.0-do-not-use-sysconfig.patch +) + +pkg_setup() { + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use macvtap && CONFIG_CHECK+=" + ~MACVTAP" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + # Handle specific kernel versions for different features + kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR" + if kernel_is ge 3 6; then + CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP " + kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM " + fi + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi +} + +src_prepare() { + touch "${S}/.mailmap" + + default + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" + + eautoreconf +} + +my_src_configure() { + local myeconfargs=( + $(use_with apparmor) + $(use_with apparmor apparmor-profiles) + $(use_with audit) + $(use_with caps capng) + $(use_with dbus) + $(use_with dtrace) + $(use_with firewalld) + $(use_with fuse) + $(use_with glusterfs) + $(use_with glusterfs storage-gluster) + $(use_with iscsi storage-iscsi) + $(use_with iscsi-direct storage-iscsi-direct) + $(use_with libvirtd) + $(use_with libssh) + $(use_with lvm storage-lvm) + $(use_with lvm storage-mpath) + $(use_with lxc) + $(use_with macvtap) + $(use_enable nls) + $(use_with numa numactl) + $(use_with numa numad) + $(use_with openvz) + $(use_with parted storage-disk) + $(use_with pcap libpcap) + $(use_with policykit polkit) + $(use_with qemu) + $(use_with qemu yajl) + $(use_with rbd storage-rbd) + $(use_with sasl) + $(use_with selinux) + $(use_with udev) + $(use_with vepa virtualport) + $(use_with virt-network network) + $(use_with wireshark-plugins wireshark-dissector) + $(use_with xen libxl) + $(use_with zfs storage-zfs) + + --without-hal + --without-netcf + --without-sanlock + + --with-esx + --with-init-script=systemd + --with-qemu-group=$(usex caps qemu root) + --with-qemu-user=$(usex caps qemu root) + --with-remote + --with-storage-fs + --with-vmware + + --disable-static + --disable-werror + + --localstatedir=/var + --with-runstatedir=/run + --enable-dependency-tracking + ) + + if use virtualbox && has_version app-emulation/virtualbox-ose; then + myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) + else + myeconfargs+=( $(use_with virtualbox vbox) ) + fi + + econf "${myeconfargs[@]}" +} + +my_src_test() { + # remove problematic tests, bug #591416, bug #591418 + sed -i -e 's#commandtest$(EXEEXT) # #' \ + -e 's#virfirewalltest$(EXEEXT) # #' \ + -e 's#nwfilterebiptablestest$(EXEEXT) # #' \ + -e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \ + tests/Makefile + + export VIR_TEST_DEBUG=1 + HOME="${T}" emake check +} + +my_src_install() { + emake DESTDIR="${D}" \ + SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install + + find "${D}" -name '*.la' -delete || die + + # Remove bogus, empty directories. They are either not used, or + # libvirtd is able to create them on demand + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + rm -rf "${D}"/run + + newbashcomp "${S}/tools/bash-completion/vsh" virsh + bashcomp_alias virsh virt-admin + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests + newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd + newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_preinst() { + # we only ever want to generate this once + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml + fi +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index 7325bbb67914..45138117ee27 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -5,7 +5,7 @@ EAPI=7 PYTHON_COMPAT=( python3_{6,7} ) -inherit autotools out-of-source bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd +inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd if [[ ${PV} = *9999* ]]; then inherit git-r3 @@ -20,7 +20,7 @@ else fi DESCRIPTION="C toolkit to manipulate virtual machines" -HOMEPAGE="http://www.libvirt.org/" +HOMEPAGE="https://www.libvirt.org/" LICENSE="LGPL-2.1" IUSE=" apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi @@ -124,7 +124,6 @@ DEPEND="${RDEPEND} virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${PN}-6.2.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch ) @@ -220,79 +219,68 @@ src_prepare() { cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ -i "${S}/libvirtd.init" || die "sed failed" - - eautoreconf } -my_src_configure() { - local myeconfargs=( - $(use_with apparmor) - $(use_with apparmor apparmor-profiles) - $(use_with audit) - $(use_with caps capng) - $(use_with dbus) - $(use_with dtrace) - $(use_with firewalld) - $(use_with fuse) - $(use_with glusterfs) - $(use_with glusterfs storage-gluster) - $(use_with iscsi storage-iscsi) - $(use_with iscsi-direct storage-iscsi-direct) - $(use_with libvirtd) - $(use_with libssh) - $(use_with lvm storage-lvm) - $(use_with lvm storage-mpath) - $(use_with lxc) - $(use_with macvtap) - $(use_enable nls) - $(use_with numa numactl) - $(use_with numa numad) - $(use_with openvz) - $(use_with parted storage-disk) - $(use_with pcap libpcap) - $(use_with policykit polkit) - $(use_with qemu) - $(use_with qemu yajl) - $(use_with rbd storage-rbd) - $(use_with sasl) - $(use_with selinux) - $(use_with udev) - $(use_with vepa virtualport) - $(use_with virt-network network) - $(use_with wireshark-plugins wireshark-dissector) - $(use_with xen libxl) - $(use_with zfs storage-zfs) - - --without-hal - --without-netcf - --without-sanlock - - --with-esx - --with-init-script=systemd - --with-qemu-group=$(usex caps qemu root) - --with-qemu-user=$(usex caps qemu root) - --with-remote - --with-storage-fs - --with-vmware - - --disable-static - --disable-werror - - --localstatedir=/var - --with-runstatedir=/run - --enable-dependency-tracking +src_configure() { + local emesonargs=( + $(meson_feature apparmor) + $(meson_use apparmor apparmor_profiles) + $(meson_feature audit) + $(meson_feature caps capng) + $(meson_feature dbus) + $(meson_feature dtrace) + $(meson_feature firewalld) + $(meson_feature fuse) + $(meson_feature glusterfs) + $(meson_feature glusterfs storage_gluster) + $(meson_feature iscsi storage_iscsi) + $(meson_feature iscsi-direct storage_iscsi_direct) + $(meson_feature libvirtd driver_libvirtd) + $(meson_feature libssh) + $(meson_feature lvm storage_lvm) + $(meson_feature lvm storage_mpath) + $(meson_feature lxc driver_lxc) + $(meson_feature macvtap) + $(meson_feature nls) + $(meson_feature numa numactl) + $(meson_feature numa numad) + $(meson_feature openvz driver_openvz) + $(meson_feature parted storage_disk) + $(meson_feature pcap libpcap) + $(meson_feature policykit polkit) + $(meson_feature qemu driver_qemu) + $(meson_feature qemu yajl) + $(meson_feature rbd storage_rbd) + $(meson_feature sasl) + $(meson_feature selinux) + $(meson_feature udev) + $(meson_feature vepa virtualport) + $(meson_feature virt-network driver_network) + $(meson_feature virtualbox driver_vbox) + $(meson_feature wireshark-plugins wireshark_dissector) + $(meson_feature xen driver_libxl) + $(meson_feature zfs storage_zfs) + + -Dhal=disabled + -Dnetcf=disabled + -Dsanlock=disabled + + -Ddriver_esx=enabled + -Dinit_script=systemd + -Dqemu_user=$(usex caps qemu root) + -Dqemu_group=$(usex caps qemu root) + -Ddriver_remote=enabled + -Dstorage_fs=enabled + -Ddriver_vmware=enabled + + --localstatedir="${EPREFIX}/var" + -Drunstatedir="${EPREFIX}/run" ) - if use virtualbox && has_version app-emulation/virtualbox-ose; then - myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ ) - else - myeconfargs+=( $(use_with virtualbox vbox) ) - fi - - econf "${myeconfargs[@]}" + meson_src_configure } -my_src_test() { +src_test() { # remove problematic tests, bug #591416, bug #591418 sed -i -e 's#commandtest$(EXEEXT) # #' \ -e 's#virfirewalltest$(EXEEXT) # #' \ @@ -301,14 +289,11 @@ my_src_test() { tests/Makefile export VIR_TEST_DEBUG=1 - HOME="${T}" emake check + meson_src_test } -my_src_install() { - emake DESTDIR="${D}" \ - SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install - - find "${D}" -name '*.la' -delete || die +src_install() { + meson_src_install # Remove bogus, empty directories. They are either not used, or # libvirtd is able to create them on demand diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml index 920d0228defa..84e2bb8fc48d 100644 --- a/app-emulation/libvirt/metadata.xml +++ b/app-emulation/libvirt/metadata.xml @@ -48,9 +48,6 @@ Support management of VirtualBox virtualisation (one of app-emulation/virtualbox or app-emulation/virtualbox-bin) - - Support IBM HMC / IVM hypervisor via PHYP protocol - Enable AppArmor support Enable dtrace support via dev-util/systemtap diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index 67de090b7fc9..532a9c2ac3fb 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -2,8 +2,8 @@ AUX lxc-2.0.5-omit-sysconfig.patch 259 BLAKE2B 977e151fbb8c9d98e89aaa5ee0426e64a AUX lxc-3.0.0-bash-completion.patch 915 BLAKE2B 8bb879e391cec349d211b47d321c64ea091c8475ac9a8c4adfb45918c044f6c49d9b9bce546082907d696f697baf0870893c4427abeafa496db89f99190cd091 SHA512 2f3728fcf5e88eecc1ae05bf038ef83baa375194c5bef0d0ef68feaf4d8092cdd8efef6b3c27207c4abd28b085f087af517242c65747b47d0a8fa840f6b9d279 AUX lxc.initd.8 3669 BLAKE2B 50d41e0923ba26b9653ca3b5b559dd0905e61ec81969e709650fe7f1b26a4dcdc17158b7e449d666e2103047d9f196e53df8beca15fffd529fa8e743de97bd82 SHA512 1182b53a65399746f6d6bced0df5c1fde09c1ede4a28bfe95b5ed0bbd969d6f6423f63021d4b6f1dc62c7b2703f6963c03d881291650bdf21cfcf8432586c1b4 AUX lxc_at.service.4.0.0 284 BLAKE2B 1adc76b9861f2499b7b703f7076782a258f9b21a3d1e32b69334f753faca9ecd8c6fb2a03baf04698e765f079e73ee683434d8c7c6d3b3082427a6af74ab33b1 SHA512 4c2f9846ca60bb78df7e652309900c0e788b45d569f268a9e5b98842518542b35fce253e2aedeb0eded3d37274390988ef887b01d1d37859ccddf6225286b4bb -DIST lxc-4.0.2.tar.gz 1352667 BLAKE2B 2ecc076bacb9bb1c2a808422f7b2e0cbfc74bf3bec6ca89ea58eb6ef4a414353c2e58163bff17b3304beb39f4980d10f54365f739645c1581bfca9f6079bf57c SHA512 0de6c1f9649d161579b45fc28a735f703c4498eff9c588462b838220aeab73f91921db628f77bc461eff38c7583cac10a38951263181956e2d33412a406f3ef3 DIST lxc-4.0.3.tar.gz 1368461 BLAKE2B 861bd8f3736ecda9075c57338845d386811ae3aeceb72cd054023a25a9758d5d7c9ceec917fc634c118a13f8fb142b28bd93f27138b9ee1d0817f8360fda88da SHA512 a5d45626b1f26c0f098f6f0f5852472ea065f65f9918b972826e087a9a71a34253c85dd6f1b6b6837ca97303f8d43478a66595057d65a6e72a72334a3257ef88 -EBUILD lxc-4.0.2-r2.ebuild 4413 BLAKE2B cefb6671714dc8b83bc346743cc2021f02e7a24ac6943905cb67f69bf2305f556a8151207659460487088c811576420a19a847469860517dc475ecf08d763a97 SHA512 63d40850523186a87e4c9539d4da43cbc8a45a2823a812479d8a7a75652f6d9ba425f7bfb7d2e32684a27267ed5caca00d08a263315d3991f0c47e0d7daf4e33 -EBUILD lxc-4.0.3.ebuild 4415 BLAKE2B 13a6aec708e20cc54dfd3d48e34183ed760367fa18f9c3f7ac36e9491f166350fc91f66fc1c3656e1fcbf89bf0f1120e9675561caf1c523d4214daf2be51c578 SHA512 4420cb4a4856408d66f49b15348e6cafde2efc68300b188c89ce752f337bab1bb9dd368146fdb38ef0cfc9c9a0e448667d806199401ec0d4f8acdfb7239b383a +DIST lxc-4.0.4.tar.gz 844684 BLAKE2B 438f9c79787cfab493a159a03dad214519b979c192264cb4acff21174f5642e2c10a899504ed2ac697906ca1ea9ad5cd92e01dbb8c6420651e7130b56022032a SHA512 5c5bb3c474b37284e862cbaf35daab01be7606992eb101cbea7097951ccee81dad8ab8d2624ba5f62279ece17889b1245fd6b2b63e8b17ed728560c5d40309b2 +EBUILD lxc-4.0.3.ebuild 4518 BLAKE2B 8d3ddd84485e5ae0fd95d844913c62c3baacf085cedbe404a4e21f412832aa1a54c630c6b6185365d170dbe7668f9ca8ff56faf63b55a641f144a2008dcdcb63 SHA512 ffec2224901bf8a31162d80484ecf8f4f335f8338f5695f076d9d79c642bad4d70099e2455040a892691d6cbbeb418853fc4ae1e69eb7ce3b2667f21c05eb1ab +EBUILD lxc-4.0.4.ebuild 4458 BLAKE2B c5e5a4226510f3298ac4ee187a4e06d54ad1a33cfb68619c2a99a47b54efe6518c9adf69072a99c8326eb049708e6a59735340e79647c5c823680823a102ffd5 SHA512 a8104865a6531307a78e3d6fb4a9981025d9e90607521e9ac951f843313d08533285983d163546e2c1912f03f869419d25762434b9f0382908d0b9d39d8c5a1c MISC metadata.xml 614 BLAKE2B 8c637599d38ecb5fd975fbb4385998886e450cd01d71c342a212258acf6fa0de3a377189544ab744da55b1d85ad5dd8fd2bbbb2daef7389ce61dd7d17bab7f00 SHA512 a14166b818647f0c5c6bb8402f82b333ce52591645c7ec86c8fff953889d61d00db0bcf46faca630a2f472c2918484a230b7b3fcc06099fbdbe4e31ec6bb9270 diff --git a/app-emulation/lxc/lxc-4.0.2-r2.ebuild b/app-emulation/lxc/lxc-4.0.2-r2.ebuild deleted file mode 100644 index 18554a5e703a..000000000000 --- a/app-emulation/lxc/lxc-4.0.2-r2.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 linux-info flag-o-matic pam readme.gentoo-r1 systemd - -DESCRIPTION="LinuX Containers userspace utilities" -HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" -SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" - -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" - -LICENSE="LGPL-3" -SLOT="0" -IUSE="apparmor +caps doc examples libressl pam seccomp selinux +ssl +templates +tools" - -RDEPEND="app-misc/pax-utils - sys-apps/util-linux - sys-libs/libcap - virtual/awk - caps? ( sys-libs/libcap ) - pam? ( sys-libs/pam ) - seccomp? ( sys-libs/libseccomp ) - selinux? ( sys-libs/libselinux ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - >=app-text/docbook-sgml-utils-0.6.14-r2 - >=sys-kernel/linux-headers-3.2 - apparmor? ( sys-apps/apparmor )" -BDEPEND="doc? ( app-doc/doxygen )" -PDEPEND="templates? ( app-emulation/lxc-templates )" - -CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE - ~CPUSETS ~CGROUP_CPUACCT - ~CGROUP_SCHED - - ~NAMESPACES - ~IPC_NS ~USER_NS ~PID_NS - - ~CGROUP_FREEZER - ~UTS_NS ~NET_NS - ~VETH ~MACVLAN - - ~POSIX_MQUEUE - ~!NETPRIO_CGROUP" - -ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" -ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" -ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" -ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" -ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" -ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" -ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." - -DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) - -pkg_setup() { - linux-info_pkg_setup -} - -PATCHES=( - "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch - "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - append-flags -fno-strict-aliasing - - # --enable-doc is for manpages which is why we don't link it to a "doc" - # USE flag. We always want man pages. - local myeconfargs=( - --bindir=/usr/bin - --localstatedir=/var - --sbindir=/usr/bin - - --with-config-path=/var/lib/lxc - --with-distro=gentoo - --with-init-script=systemd - --with-rootfs-path=/var/lib/lxc/rootfs - --with-runtime-path=/run - --with-systemdsystemunitdir=$(systemd_get_systemunitdir) - - --disable-asan - --disable-coverity-build - --disable-dlog - --disable-mutex-debugging - --disable-rpath - --disable-tests - --disable-ubsan - --disable-werror - - --enable-bash - --enable-commands - --enable-doc - --enable-memfd-rexec - --enable-thread-safety - - $(use_enable apparmor) - $(use_enable caps capabilities) - $(use_enable doc api-docs) - $(use_enable examples) - $(use_enable pam) - $(use_enable seccomp) - $(use_enable selinux) - $(use_enable ssl openssl) - $(use_enable tools) - - $(use_with pam pamdir $(getpam_mod_dir)) - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die - bashcomp_alias ${PN}-start \ - ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} - - keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc - rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" - - find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die - - # Gentoo-specific additions! - newinitd "${FILESDIR}/${PN}.initd.8" ${PN} - - # Remember to compare our systemd unit file with the upstream one - # config/init/systemd/lxc.service.in - systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service" - - DOC_CONTENTS=" - For openrc, there is an init script provided with the package. - You _should_ only need to symlink /etc/init.d/lxc to - /etc/init.d/lxc.configname to start the container defined in - /etc/lxc/configname.conf. - - Correspondingly, for systemd a service file lxc@.service is installed. - Enable and start lxc@configname in order to start the container defined - in /etc/lxc/configname.conf. - - If you want checkpoint/restore functionality, please install criu - (sys-process/criu)." - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/app-emulation/lxc/lxc-4.0.3.ebuild b/app-emulation/lxc/lxc-4.0.3.ebuild index 9f71458a5e7e..c5119e1d5420 100644 --- a/app-emulation/lxc/lxc-4.0.3.ebuild +++ b/app-emulation/lxc/lxc-4.0.3.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="LinuX Containers userspace utilities" HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" LICENSE="LGPL-3" SLOT="0" @@ -37,6 +37,7 @@ PDEPEND="templates? ( app-emulation/lxc-templates )" CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE ~CPUSETS ~CGROUP_CPUACCT ~CGROUP_SCHED + ~MEMCG ~NAMESPACES ~IPC_NS ~USER_NS ~PID_NS @@ -55,6 +56,7 @@ ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." +ERROR_MEMCG="CONFIG_MEMCG is not set. This is needed for memory resource control in containers." DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) diff --git a/app-emulation/lxc/lxc-4.0.4.ebuild b/app-emulation/lxc/lxc-4.0.4.ebuild new file mode 100644 index 000000000000..cbd914e7061f --- /dev/null +++ b/app-emulation/lxc/lxc-4.0.4.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 linux-info flag-o-matic pam readme.gentoo-r1 systemd + +DESCRIPTION="LinuX Containers userspace utilities" +HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" +SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz + https://github.com/lxc/lxc/archive/${P}.tar.gz" + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="apparmor +caps doc examples libressl pam seccomp selinux +ssl +templates +tools" + +RDEPEND="app-misc/pax-utils + sys-apps/util-linux + sys-libs/libcap + virtual/awk + caps? ( sys-libs/libcap ) + pam? ( sys-libs/pam ) + seccomp? ( sys-libs/libseccomp ) + selinux? ( sys-libs/libselinux ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + >=app-text/docbook-sgml-utils-0.6.14-r2 + >=sys-kernel/linux-headers-3.2 + apparmor? ( sys-apps/apparmor )" +BDEPEND="doc? ( app-doc/doxygen )" +PDEPEND="templates? ( app-emulation/lxc-templates )" + +CONFIG_CHECK="~!NETPRIO_CGROUP + ~CGROUPS + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + + ~CGROUP_FREEZER + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + + ~MACVLAN + ~MEMCG + ~NAMESPACES + ~NET_NS + + ~PID_NS + ~POSIX_MQUEUE + ~USER_NS + ~UTS_NS + + ~VETH" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" +ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" + +DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) + +pkg_setup() { + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${PN}-3.0.0-bash-completion.patch + "${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 +) + +S="${WORKDIR}/lxc-${P}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + + # --enable-doc is for manpages which is why we don't link it to a "doc" + # USE flag. We always want man pages. + local myeconfargs=( + --bindir=/usr/bin + --localstatedir=/var + --sbindir=/usr/bin + + --with-config-path=/var/lib/lxc + --with-distro=gentoo + --with-init-script=systemd + --with-rootfs-path=/var/lib/lxc/rootfs + --with-runtime-path=/run + --with-systemdsystemunitdir=$(systemd_get_systemunitdir) + + --disable-asan + --disable-coverity-build + --disable-dlog + --disable-mutex-debugging + --disable-rpath + --disable-tests + --disable-ubsan + --disable-werror + + --enable-bash + --enable-commands + --enable-doc + --enable-memfd-rexec + --enable-thread-safety + + $(use_enable apparmor) + $(use_enable caps capabilities) + $(use_enable doc api-docs) + $(use_enable examples) + $(use_enable pam) + $(use_enable seccomp) + $(use_enable selinux) + $(use_enable ssl openssl) + $(use_enable tools) + + $(use_with pam pamdir $(getpam_mod_dir)) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} + + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc + rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" + + find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die + + # Gentoo-specific additions! + newinitd "${FILESDIR}/${PN}.initd.8" ${PN} + + # Remember to compare our systemd unit file with the upstream one + # config/init/systemd/lxc.service.in + systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service" + + DOC_CONTENTS=" + For openrc, there is an init script provided with the package. + You _should_ only need to symlink /etc/init.d/lxc to + /etc/init.d/lxc.configname to start the container defined in + /etc/lxc/configname.conf. + + Correspondingly, for systemd a service file lxc@.service is installed. + Enable and start lxc@configname in order to start the container defined + in /etc/lxc/configname.conf. + + If you want checkpoint/restore functionality, please install criu + (sys-process/criu)." + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest index c4c509e429ce..5ba621bde73a 100644 --- a/app-emulation/lxd/Manifest +++ b/app-emulation/lxd/Manifest @@ -1,9 +1,11 @@ AUX lxd-4.0.0.confd 582 BLAKE2B 88ce8ec99eb50174bffea7d3b8bddc67b50fe6677d54df115c9069311b5fb59a72170a15988f50714740074f7ec4f2cd32fb47b6d8c52cf69b8c6fa332162a06 SHA512 96d922ae81677eebace3f8d2dff7f67d58701c40c09e2435677f9289cca89fe260c0d9526059d3772c3405a5b8ec52466bf7d7a920dcdd7551f1b3f01f2fc9c4 AUX lxd-4.0.0.initd 1097 BLAKE2B 8cd967f37edc7c87a5d225dc77a39e6696596fb9d53829289b75b3f136572aaaaede5ad78360c0ca2055bcf23627fd75102616ff9da604785bdcbdcb57ae81ff SHA512 5a40f0e7a6fe5e8b301f8fc22344fed64fe8b8894a175600e938f147f49ccf4fa71c75fdfe25ba936c65435fcabdc5f7a606993093e5ffdb7dbc4e0b9f03621d -AUX lxd-4.0.1-clang.patch 2566 BLAKE2B 1cc6db796393569512dda9b483afaac810a0d2f852308901d1a79e76ffd6def7b4d6a269054c1ec9180de616d0550f4e2542f6aa5417ce91d51ab3ac6cb72fca SHA512 748cf9bf93d4b86de230bf85313ba90e435e8e7011383cba39f4a5767c9cf9e818eb8eae3213d8745ed114a62ae633b311d2088e3e35b1ccef6f5ede5a0f424c -AUX lxd.service 174 BLAKE2B 8686d57a79fbc3a9ec2e1a3197012599a5d6b81b62188e779cdb9a86f9f413fa485090c79dab8c4aa8891e0e35604b85fb1cdb1da313918b34a974b61699b24a SHA512 6f9d71d5c08c49653f28511bc793d1365604af6bf105789caea27f4685d721fbb283f888e3b7310997b73ff2fc5bb1a47e7500c4678cb3d39124cab723523140 -DIST lxd-4.0.1.tar.gz 25027762 BLAKE2B 1154a427558ad5eda62b63501a2f62a5c3a1b740fac061432b06a1034b75cb906f38d6c43e8215cab8ae0bed328d75a7612c1bb7af3272cdbe3f93235d5bb920 SHA512 1f47f8239cc1d3425fc4cd075487678e219e94deddec10f52a1cd18fbdc0515f54b67552e7b41d0052803c317a861b34cfc83a25776eae7b9673b5c5fd50d70f +AUX lxd-4.0.0.service 519 BLAKE2B 5314820c25e52449aad8db6584739cbe0f2654111e4b42c3eef0df995373487c789390dee99420dfd1aa5768ba66ba72999e8f2d8a3b0be6e621185f185b5b85 SHA512 c68c4106e189bd32538f5f2963c43afc30418dd9afeca56e5590f354725eb0126ee0aac02082cc42d69b851f392a4977a4f95cf2886044ad563c9a36facea222 +AUX lxd-4.0.0.socket 197 BLAKE2B 8c0d2dee71c14ee5f34b2bd0804adfa06ab3ae2a73bcf8d122184434c42b7f91f66fe610bddda93c458e0f171b505fe79a4f268d8243aabdf226f47e95027e71 SHA512 d70dc867b2e92b69928c83fc5feca4e387808adbc267b9fe4ecf0c8befdf3ca13366b229c6eefcb5667e51405fb0aa4e6bb8f59a0b5b5fb3895c46b4aaab0661 +AUX lxd-4.0.0_apparmor.service 567 BLAKE2B e5951c31f90b842f5b625060326d9611ed67fb50360b11791cbd1ab1953fdfe5eb726e22b7091bb8e45c294b772e6b00e9ca65833512eb5b570627fa3234812e SHA512 364764d007f4800138c712fce70fe28b096b6e35dc6d2e4f8aa9aff4b335ecec7dfc9600a1a16cd38e69a96534b7462daf5f6e946a2ee81bce17977b8d5911db +AUX lxd-containers-4.0.0.service 322 BLAKE2B a38cffd4b5809946abdac858564dcab2c2967c295d671df0d315d790df1849e25f0bc052e20cd0d9e4c23403289050b4538f5a52437ab8ae9ca3b40c6a9a1571 SHA512 a55f2c1a367c5c3c5eb6880e01893977de18c6e9463949236ee3247715fbf53641bbe1b69404362dd6cb6ba2a30ac6539fd362b21059e529dc4dac4ec5ca6718 DIST lxd-4.0.2.tar.gz 25350601 BLAKE2B 2abecb61759a1a717960671516157dc7b7a36865ecdbcec1f211e5b653b2b4afc41932a4a289430de0dd4ac1e2c777de471ab26e31dbf2b8d1855f67d03886ad SHA512 6c1c668055e9677850f24e142e6741cb6b5aa8d4d9cce29af566e8090c28e04b4baf973f486aef28b7f6b34be5b9ab9bb45e77956879ff7feff6bec8e4db3077 -EBUILD lxd-4.0.1.ebuild 5715 BLAKE2B 7b5da6fd786bfbcd0381d02fe00a3f6d2da680f3ac497d2e890cac11f5b577271496540ac1e48c200a70f9d7be61887f95de0d209075386d55da509e416cef56 SHA512 c8083ec436f116f3bad879c05ab75f33c4113b79ec4ea241e2f95a85edd636166468cc76b991c53ad7469fb98ffefb8ce94de807c8d1db86f3d47026e48a27a7 -EBUILD lxd-4.0.2.ebuild 5646 BLAKE2B a12ba65e48ddbb509d7f4776581cf6347efc6a5fe9f2cd155f9da61cb7bb2b1f3201b5e9287976663727b553ac0a1de0b6510af3ccd5f5c71bcdb257ff6ac261 SHA512 4ca17c1526bdafa38fea05d19a0e9cd6c960d90bd4ef146545fd8a19c90d580fdbf07f599ccbe3db72c35716a236b72c7e6b0ba1d3150919ba2bf8b61dbb8347 -MISC metadata.xml 677 BLAKE2B 4349c9e18f865c5036e53c6cc5e6492ef35d73786408dbb54f8ad77b7e5edcdf48f5636cbd571e0a510c1faffcc17cfda32461185266af8e3f5fd541bae389b9 SHA512 0e1639760f475f9c77dfe0e1457b5ee2dec81cdb87ba92c179882ad820d82d9fa2606d88eb16eea847f0cfebab7327106abe984bead69ac6670929c181dce86b +DIST lxd-4.0.3.tar.gz 25468067 BLAKE2B 5c3d8a2841d3222d070be39fb6cb63c99450a7edea86915a808230012f1a3b7a66c2c4a3c56be378f586c8ca033c4f547ed6eeb14bb09a091b3ae28c62fda7ae SHA512 aaf7fe7473e04765263ff99f02041748f0e57abdd0311d734fbf1cbc461516bf6adad1bc42c9cfa58b4e87c28efb5186d9436fb0a1d309b23eb37fe95299ad6f +EBUILD lxd-4.0.2-r1.ebuild 5846 BLAKE2B 971007fc37cef64b31066933ef37eeb06a16483084b695868e85964f511773f5daaaad5ce4bf816db8c682b9b9f016a132df51492adc0108ca94447d57a52181 SHA512 b8e3dcef848e84f3e5eb9372114d253dfd56afbc7162c926d979dd266b21acc93d3b4c31d6eac7af6699beadac6c722eef590c2d82f7240e14365b7331f4f15d +EBUILD lxd-4.0.3.ebuild 5981 BLAKE2B 684762d5c0e7e7d122e34ee7684a4605f9bec9942b88b82ced6b87797b1cf8f5002d84362892eb6c29bc7ce8bc81958985069e6e7b8fb6625296d5ae58f053bf SHA512 9dc0004daded4e0a33557008635a7f4bf80adddaedf7aba2483972bbe29489d8577dabb864bf82ea1d5a6c7a1ae85503f55c864c84a68e12aa3c69ea3fb84ce1 +MISC metadata.xml 777 BLAKE2B 6c318c07ba14314065e030abc924dc19a5149354705a7963de12a5ad1b61845f7e20bdf5a863e39f2e942a331f956cbae67f941f8fdeb4c5c358362d1d0fb6ac SHA512 af7acf4988ddf0c0d3029a05b26709e0b1fb1149cf002662061bc080e95402bb9d3df0e62c5d90b941919fc8b0e3e468edadbe67f47b879a73aa99cd648be919 diff --git a/app-emulation/lxd/files/lxd-4.0.0.service b/app-emulation/lxd/files/lxd-4.0.0.service new file mode 100644 index 000000000000..c2e9db8aa8ae --- /dev/null +++ b/app-emulation/lxd/files/lxd-4.0.0.service @@ -0,0 +1,20 @@ +[Unit] +Description=LXD - main daemon +After=network-online.target lxcfs.service lxd.socket +Requires=network-online.target lxcfs.service lxd.socket +Documentation=man:lxd(1) + +[Service] +EnvironmentFile=-/etc/environment +ExecStart=/usr/sbin/lxd --group lxd --logfile=/var/log/lxd/lxd.log +ExecStartPost=/usr/sbin/lxd waitready --timeout=600 +KillMode=process +TimeoutStartSec=600s +TimeoutStopSec=30s +Restart=on-failure +LimitNOFILE=1048576 +LimitNPROC=infinity +TasksMax=infinity + +[Install] +Also=lxd-containers.service lxd.socket diff --git a/app-emulation/lxd/files/lxd-4.0.0.socket b/app-emulation/lxd/files/lxd-4.0.0.socket new file mode 100644 index 000000000000..3207c9453d11 --- /dev/null +++ b/app-emulation/lxd/files/lxd-4.0.0.socket @@ -0,0 +1,12 @@ +[Unit] +Description=LXD - unix socket +Documentation=man:lxd(1) + +[Socket] +ListenStream=/var/lib/lxd/unix.socket +SocketGroup=lxd +SocketMode=0660 +Service=lxd.service + +[Install] +WantedBy=sockets.target diff --git a/app-emulation/lxd/files/lxd-4.0.0_apparmor.service b/app-emulation/lxd/files/lxd-4.0.0_apparmor.service new file mode 100644 index 000000000000..5e688d9c098c --- /dev/null +++ b/app-emulation/lxd/files/lxd-4.0.0_apparmor.service @@ -0,0 +1,21 @@ +[Unit] +Description=LXD - main daemon +After=network-online.target lxcfs.service lxd.socket +Requires=network-online.target lxcfs.service lxd.socket +Documentation=man:lxd(1) + +[Service] +EnvironmentFile=-/etc/environment +ExecStartPre=/usr/libexec/lxc/lxc-apparmor-load +ExecStart=/usr/sbin/lxd --group lxd --logfile=/var/log/lxd/lxd.log +ExecStartPost=/usr/sbin/lxd waitready --timeout=600 +KillMode=process +TimeoutStartSec=600s +TimeoutStopSec=30s +Restart=on-failure +LimitNOFILE=1048576 +LimitNPROC=infinity +TasksMax=infinity + +[Install] +Also=lxd-containers.service lxd.socket diff --git a/app-emulation/lxd/files/lxd-4.0.1-clang.patch b/app-emulation/lxd/files/lxd-4.0.1-clang.patch deleted file mode 100644 index 765f2f38be5d..000000000000 --- a/app-emulation/lxd/files/lxd-4.0.1-clang.patch +++ /dev/null @@ -1,76 +0,0 @@ -From c7ce94825871ea5d0946e92762e981354628b8ad Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?St=C3=A9phane=20Graber?= -Date: Mon, 22 Jun 2020 22:17:02 -0400 -Subject: [PATCH] lxd: Fix building with clang -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Closes #7573 - -Signed-off-by: Stéphane Graber ---- - lxd/main_forksyscall.go | 8 -------- - lxd/seccomp/seccomp.go | 16 ++++++++-------- - 2 files changed, 8 insertions(+), 16 deletions(-) - -diff --git a/lxd/main_forksyscall.go b/lxd/main_forksyscall.go -index a304405c2e..14895b6ce0 100644 ---- a/lxd/main_forksyscall.go -+++ b/lxd/main_forksyscall.go -@@ -34,12 +34,6 @@ extern void attach_userns_fd(int ns_fd); - extern int pidfd_nsfd(int pidfd, pid_t pid); - extern bool setnsat(int ns_fd, const char *ns); - --static inline bool same_fsinfo(struct stat *s1, struct stat *s2, -- struct statfs *sfs1, struct statfs *sfs2) --{ -- return ((sfs1->f_type == sfs2->f_type) && (s1->st_dev == s2->st_dev)); --} -- - static bool chdirchroot_in_mntns(int cwd_fd, int root_fd) - { - ssize_t len; -@@ -209,8 +203,6 @@ const char *ns_names[] = { "user", "pid", "uts", "ipc", "net", "cgroup", NULL }; - - static bool change_creds(int ns_fd, cap_t caps, uid_t nsuid, gid_t nsgid, uid_t nsfsuid, gid_t nsfsgid) - { -- __do_close int fd = -EBADF; -- - if (prctl(PR_SET_KEEPCAPS, 1)) - return false; - -diff --git a/lxd/seccomp/seccomp.go b/lxd/seccomp/seccomp.go -index 8945fd9197..025efb3141 100644 ---- a/lxd/seccomp/seccomp.go -+++ b/lxd/seccomp/seccomp.go -@@ -91,21 +91,21 @@ static int device_allowed(dev_t dev, mode_t mode) - { - switch (mode & S_IFMT) { - case S_IFCHR: -- if ((dev == makedev(0, 0))) // whiteout -+ if (dev == makedev(0, 0)) // whiteout - return 0; -- else if ((dev == makedev(5, 1))) // /dev/console -+ else if (dev == makedev(5, 1)) // /dev/console - return 0; -- else if ((dev == makedev(1, 7))) // /dev/full -+ else if (dev == makedev(1, 7)) // /dev/full - return 0; -- else if ((dev == makedev(1, 3))) // /dev/null -+ else if (dev == makedev(1, 3)) // /dev/null - return 0; -- else if ((dev == makedev(1, 8))) // /dev/random -+ else if (dev == makedev(1, 8)) // /dev/random - return 0; -- else if ((dev == makedev(5, 0))) // /dev/tty -+ else if (dev == makedev(5, 0)) // /dev/tty - return 0; -- else if ((dev == makedev(1, 9))) // /dev/urandom -+ else if (dev == makedev(1, 9)) // /dev/urandom - return 0; -- else if ((dev == makedev(1, 5))) // /dev/zero -+ else if (dev == makedev(1, 5)) // /dev/zero - return 0; - } - diff --git a/app-emulation/lxd/files/lxd-containers-4.0.0.service b/app-emulation/lxd/files/lxd-containers-4.0.0.service new file mode 100644 index 000000000000..894760c3506b --- /dev/null +++ b/app-emulation/lxd/files/lxd-containers-4.0.0.service @@ -0,0 +1,16 @@ +[Unit] +Description=LXD - container startup/shutdown +Documentation=man:lxd(1) +After=lxd.socket lxd.service +Requires=lxd.socket + +[Service] +Type=oneshot +ExecStart=/usr/sbin/lxd activateifneeded +ExecStop=/usr/sbin/lxd shutdown +TimeoutStartSec=600s +TimeoutStopSec=600s +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/app-emulation/lxd/files/lxd.service b/app-emulation/lxd/files/lxd.service deleted file mode 100644 index d00635fbcdd9..000000000000 --- a/app-emulation/lxd/files/lxd.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Container hypervisor based on LXC - -[Service] -ExecStart=/usr/sbin/lxd --group lxd -KillMode=process -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/app-emulation/lxd/lxd-4.0.1.ebuild b/app-emulation/lxd/lxd-4.0.1.ebuild deleted file mode 100644 index 578a64630a10..000000000000 --- a/app-emulation/lxd/lxd-4.0.1.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 eutils linux-info systemd - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -# Needs to include licenses for all bundled programs. -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="+ipv6 nls" - -DEPEND="app-arch/xz-utils - >=app-emulation/lxc-3.0.0[seccomp] - dev-lang/tcl - dev-libs/libuv - dev-libs/lzo - net-dns/dnsmasq[dhcp,ipv6?]" -RDEPEND="${DEPEND} - acct-group/lxd - net-firewall/ebtables - net-firewall/iptables[ipv6?] - sys-apps/iproute2[ipv6?] - sys-fs/fuse:0= - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl" -BDEPEND="dev-lang/go - nls? ( sys-devel/gettext )" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~NF_NAT_MASQUERADE_IPV6 - ~VXLAN -" - -# To no one's surprise uses internet connection. -RESTRICT="test" - -# Go magic. -QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 - /usr/bin/fuidshift - /usr/bin/lxc - /usr/bin/lxc-to-lxd - /usr/bin/lxd-agent - /usr/bin/lxd-benchmark - /usr/bin/lxd-p2c - /usr/sbin/lxd" - -EGO_PN="github.com/lxc/lxd" -GOPATH="${S}/_dist" # this seems to reset every now and then, though - -PATCHES=( "${FILESDIR}"/lxd-4.0.1-clang.patch ) - -common_op() { - local i - for i in dqlite raft; do - cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" - "${@}" - cd "${S}" || die "failed to switch dir back from ${i} to ${S}" - done -} - -src_prepare() { - default - - export GOPATH="${S}/_dist" - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die - sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die - - common_op eautoreconf -} - -src_configure() { - export GOPATH="${S}/_dist" - - export CO_CFLAGS="-I${GOPATH}/deps/libco/" - export CO_LIBS="${GOPATH}/deps/libco/" - - export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" - export RAFT_LIBS="${GOPATH}/deps/raft/.libs" - - export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" - export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" - - export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" - - cd "${GOPATH}/deps/sqlite" || die - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - common_op econf --libdir="${EPREFIX}"/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/_dist" - - export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" - export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" - - local j - for j in sqlite raft libco; do - cd "${GOPATH}"/deps/${j} || die - emake - done - - ln -s libco.so.0.1.0 libco.so || die - - cd "${GOPATH}/deps/dqlite" || die - emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" - - cd "${S}" || die - - for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" - done - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - - use nls && emake build-mo -} - -src_test() { - export GOPATH="${S}/_dist" - - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps || die - go get -v -x github.com/remyoudompheng/go-misc/deadcode || die - go get -v -x github.com/golang/lint/golint || die - go test -v ${EGO_PN}/lxd || die -} - -src_install() { - local bindir="_dist/bin" - export GOPATH="${S}/_dist" - - dosbin ${bindir}/lxd - - for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - dobin ${bindir}/${l} - done - - for m in dqlite libco raft sqlite; do - cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" - emake DESTDIR="${D}" install - done - - cd "${S}" || die - - # We only need libraries, and we don't want anything to link against these. - rm "${ED}"/usr/bin/sqlite3 || die - rm -r "${ED}"/usr/include || die - rm -r "${ED}"/usr/lib/lxd/*.a || die - rm -r "${ED}"/usr/lib/lxd/pkgconfig || die - - newbashcomp scripts/bash/lxd-client lxc - - newconfd "${FILESDIR}"/${PN}-4.0.0.confd lxd - newinitd "${FILESDIR}"/${PN}-4.0.0.initd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - - dodoc AUTHORS doc/* - use nls && domo po/*.mo -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - elog - elog "Optional features:" - optfeature "apparmor support" app-emulation/lxc[apparmor] - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the lxd group." -} diff --git a/app-emulation/lxd/lxd-4.0.2-r1.ebuild b/app-emulation/lxd/lxd-4.0.2-r1.ebuild new file mode 100644 index 000000000000..0eed136d3d5e --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.2-r1.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 eutils linux-info systemd + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" +SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" + +# Needs to include licenses for all bundled programs and libraries. +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="amd64" +IUSE="apparmor +ipv6 nls" + +DEPEND="app-arch/xz-utils + >=app-emulation/lxc-3.0.0[apparmor?,seccomp] + dev-lang/tcl + dev-libs/libuv + dev-libs/lzo + net-dns/dnsmasq[dhcp,ipv6?]" +RDEPEND="${DEPEND} + acct-group/lxd + net-firewall/ebtables + net-firewall/iptables[ipv6?] + sys-apps/iproute2[ipv6?] + sys-fs/fuse:0= + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl" +BDEPEND="dev-lang/go + nls? ( sys-devel/gettext )" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE + ~VSOCKETS + ~VXLAN +" + +# Uses internet connection. +RESTRICT="test" + +# Go magic. +QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 + /usr/bin/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-p2c + /usr/sbin/lxd" + +EGO_PN="github.com/lxc/lxd" +GOPATH="${S}/_dist" # this seems to reset every now and then, though + +common_op() { + local i + for i in dqlite raft; do + cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" + "${@}" + cd "${S}" || die "failed to switch dir back from ${i} to ${S}" + done +} + +src_prepare() { + default + + export GOPATH="${S}/_dist" + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die + + sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die + sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die + + common_op eautoreconf +} + +src_configure() { + export GOPATH="${S}/_dist" + + export CO_CFLAGS="-I${GOPATH}/deps/libco/" + export CO_LIBS="${GOPATH}/deps/libco/" + + export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" + export RAFT_LIBS="${GOPATH}/deps/raft/.libs" + + export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" + export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" + + export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" + + cd "${GOPATH}/deps/sqlite" || die + econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" + + common_op econf --libdir="${EPREFIX}"/usr/lib/lxd +} + +src_compile() { + export GOPATH="${S}/_dist" + + export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" + export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" + + local j + for j in sqlite raft libco; do + cd "${GOPATH}"/deps/${j} || die + emake + done + + ln -s libco.so.0.1.0 libco.so || die + + cd "${GOPATH}/deps/dqlite" || die + emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" + + cd "${S}" || die + + for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + + use nls && emake build-mo +} + +src_test() { + export GOPATH="${S}/_dist" + + # This is mostly a copy/paste from the Makefile's "check" rule, but + # patching the Makefile to work in a non "fully-qualified" go namespace + # was more complicated than this modest copy/paste. + # Also: sorry, for now a network connection is needed to run tests. + # Will properly bundle test dependencies later. + go get -v -x github.com/rogpeppe/godeps || die + go get -v -x github.com/remyoudompheng/go-misc/deadcode || die + go get -v -x github.com/golang/lint/golint || die + go test -v ${EGO_PN}/lxd || die +} + +src_install() { + local bindir="_dist/bin" + export GOPATH="${S}/_dist" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + for m in dqlite libco raft sqlite; do + cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" + emake DESTDIR="${D}" install + done + + cd "${S}" || die + + # We only need libraries, and we don't want anything to link against these. + rm "${ED}"/usr/bin/sqlite3 || die + rm -r "${ED}"/usr/include || die + rm -r "${ED}"/usr/lib/lxd/*.a || die + rm -r "${ED}"/usr/lib/lxd/pkgconfig || die + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd + + if use apparmor; then + systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service + else + systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service + fi + + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog + elog "Optional features:" + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "lvm2 storage backend" sys-fs/lvm2 + optfeature "zfs storage backend" sys-fs/zfs + elog + elog "Be sure to add your local user to the lxd group." +} diff --git a/app-emulation/lxd/lxd-4.0.2.ebuild b/app-emulation/lxd/lxd-4.0.2.ebuild deleted file mode 100644 index 8317a5bc6fb0..000000000000 --- a/app-emulation/lxd/lxd-4.0.2.ebuild +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools bash-completion-r1 eutils linux-info systemd - -DESCRIPTION="Fast, dense and secure container management" -HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" -SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" - -# Needs to include licenses for all bundled programs and libraries. -LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+ipv6 nls" - -DEPEND="app-arch/xz-utils - >=app-emulation/lxc-3.0.0[seccomp] - dev-lang/tcl - dev-libs/libuv - dev-libs/lzo - net-dns/dnsmasq[dhcp,ipv6?]" -RDEPEND="${DEPEND} - acct-group/lxd - net-firewall/ebtables - net-firewall/iptables[ipv6?] - sys-apps/iproute2[ipv6?] - sys-fs/fuse:0= - sys-fs/lxcfs - sys-fs/squashfs-tools - virtual/acl" -BDEPEND="dev-lang/go - nls? ( sys-devel/gettext )" - -CONFIG_CHECK=" - ~BRIDGE - ~DUMMY - ~IP6_NF_NAT - ~IP6_NF_TARGET_MASQUERADE - ~IPV6 - ~IP_NF_NAT - ~IP_NF_TARGET_MASQUERADE - ~MACVLAN - ~NETFILTER_XT_MATCH_COMMENT - ~NET_IPGRE - ~NET_IPGRE_DEMUX - ~NET_IPIP - ~NF_NAT_MASQUERADE_IPV4 - ~VSOCKETS - ~VXLAN -" - -# Uses internet connection. -RESTRICT="test" - -# Go magic. -QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 - /usr/bin/fuidshift - /usr/bin/lxc - /usr/bin/lxc-to-lxd - /usr/bin/lxd-agent - /usr/bin/lxd-benchmark - /usr/bin/lxd-p2c - /usr/sbin/lxd" - -EGO_PN="github.com/lxc/lxd" -GOPATH="${S}/_dist" # this seems to reset every now and then, though - -common_op() { - local i - for i in dqlite raft; do - cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" - "${@}" - cd "${S}" || die "failed to switch dir back from ${i} to ${S}" - done -} - -src_prepare() { - default - - export GOPATH="${S}/_dist" - - sed -i \ - -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ - -e "s:make:make ${MAKEOPTS}:g" \ - Makefile || die - - sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die - sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die - - common_op eautoreconf -} - -src_configure() { - export GOPATH="${S}/_dist" - - export CO_CFLAGS="-I${GOPATH}/deps/libco/" - export CO_LIBS="${GOPATH}/deps/libco/" - - export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" - export RAFT_LIBS="${GOPATH}/deps/raft/.libs" - - export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" - export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" - - export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" - - cd "${GOPATH}/deps/sqlite" || die - econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" - - common_op econf --libdir="${EPREFIX}"/usr/lib/lxd -} - -src_compile() { - export GOPATH="${S}/_dist" - - export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" - export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" - export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" - - local j - for j in sqlite raft libco; do - cd "${GOPATH}"/deps/${j} || die - emake - done - - ln -s libco.so.0.1.0 libco.so || die - - cd "${GOPATH}/deps/dqlite" || die - emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" - - cd "${S}" || die - - for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" - done - - go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" - - use nls && emake build-mo -} - -src_test() { - export GOPATH="${S}/_dist" - - # This is mostly a copy/paste from the Makefile's "check" rule, but - # patching the Makefile to work in a non "fully-qualified" go namespace - # was more complicated than this modest copy/paste. - # Also: sorry, for now a network connection is needed to run tests. - # Will properly bundle test dependencies later. - go get -v -x github.com/rogpeppe/godeps || die - go get -v -x github.com/remyoudompheng/go-misc/deadcode || die - go get -v -x github.com/golang/lint/golint || die - go test -v ${EGO_PN}/lxd || die -} - -src_install() { - local bindir="_dist/bin" - export GOPATH="${S}/_dist" - - dosbin ${bindir}/lxd - - for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do - dobin ${bindir}/${l} - done - - for m in dqlite libco raft sqlite; do - cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" - emake DESTDIR="${D}" install - done - - cd "${S}" || die - - # We only need libraries, and we don't want anything to link against these. - rm "${ED}"/usr/bin/sqlite3 || die - rm -r "${ED}"/usr/include || die - rm -r "${ED}"/usr/lib/lxd/*.a || die - rm -r "${ED}"/usr/lib/lxd/pkgconfig || die - - newbashcomp scripts/bash/lxd-client lxc - - newconfd "${FILESDIR}"/${PN}-4.0.0.confd lxd - newinitd "${FILESDIR}"/${PN}-4.0.0.initd lxd - - systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service - - dodoc AUTHORS doc/* - use nls && domo po/*.mo -} - -pkg_postinst() { - elog - elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," - elog "including a Quick Start." - elog - elog "Optional features:" - optfeature "apparmor support" app-emulation/lxc[apparmor] - optfeature "btrfs storage backend" sys-fs/btrfs-progs - optfeature "lvm2 storage backend" sys-fs/lvm2 - optfeature "zfs storage backend" sys-fs/zfs - elog - elog "Be sure to add your local user to the lxd group." -} diff --git a/app-emulation/lxd/lxd-4.0.3.ebuild b/app-emulation/lxd/lxd-4.0.3.ebuild new file mode 100644 index 000000000000..6916707a2f41 --- /dev/null +++ b/app-emulation/lxd/lxd-4.0.3.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools bash-completion-r1 eutils linux-info systemd + +DESCRIPTION="Fast, dense and secure container management" +HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd" +SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz" + +# Needs to include licenses for all bundled programs and libraries. +LICENSE="Apache-2.0 BSD BSD-2 LGPL-3 MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="apparmor +ipv6 nls" + +DEPEND="app-arch/xz-utils + >=app-emulation/lxc-3.0.0[apparmor?,seccomp] + dev-lang/tcl + dev-libs/libuv + dev-libs/lzo + net-dns/dnsmasq[dhcp,ipv6?]" +RDEPEND="${DEPEND} + acct-group/lxd + net-firewall/ebtables + net-firewall/iptables[ipv6?] + sys-apps/iproute2[ipv6?] + sys-fs/fuse:0= + sys-fs/lxcfs + sys-fs/squashfs-tools + virtual/acl" +BDEPEND=">=dev-lang/go-1.13 + nls? ( sys-devel/gettext )" + +CONFIG_CHECK=" + ~BRIDGE + ~DUMMY + ~IP6_NF_NAT + ~IP6_NF_TARGET_MASQUERADE + ~IPV6 + ~IP_NF_NAT + ~IP_NF_TARGET_MASQUERADE + ~MACVLAN + ~NETFILTER_XT_MATCH_COMMENT + ~NET_IPGRE + ~NET_IPGRE_DEMUX + ~NET_IPIP + ~NF_NAT_MASQUERADE + ~VSOCKETS + ~VXLAN +" + +# 4.0.3: Network fetching fixed, but tests don't work when ran inside container. +RESTRICT="test" + +# Go magic. +QA_PREBUILT="/usr/lib/lxd/libdqlite.so.0.0.1 + /usr/bin/fuidshift + /usr/bin/lxc + /usr/bin/lxc-to-lxd + /usr/bin/lxd-agent + /usr/bin/lxd-benchmark + /usr/bin/lxd-p2c + /usr/sbin/lxd" + +EGO_PN="github.com/lxc/lxd" +GOPATH="${S}/_dist" # this seems to reset every now and then, though + +common_op() { + local i + for i in dqlite raft; do + cd "${GOPATH}"/deps/${i} || die "failed to switch dir to ${i}" + "${@}" + cd "${S}" || die "failed to switch dir back from ${i} to ${S}" + done +} + +src_prepare() { + default + + export GOPATH="${S}/_dist" + + sed -i \ + -e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/lxd:g" \ + -e "s:make:make ${MAKEOPTS}:g" \ + Makefile || die + + sed -i 's#lib$#lib/lxd#' "${GOPATH}"/deps/libco/Makefile || die + sed -i 's#zfs version 2>/dev/null | cut -f 2 -d - | head -1#< /sys/module/zfs/version cut -f 1#' "${GOPATH}"/deps/raft/configure.ac || die + + common_op eautoreconf +} + +src_configure() { + export GOPATH="${S}/_dist" + + export CO_CFLAGS="-I${GOPATH}/deps/libco/" + export CO_LIBS="${GOPATH}/deps/libco/" + + export RAFT_CFLAGS="-I${GOPATH}/deps/raft/include/" + export RAFT_LIBS="${GOPATH}/deps/raft/.libs" + + export SQLITE_CFLAGS="-I${GOPATH}/deps/sqlite" + export SQLITE_LIBS="${GOPATH}/deps/sqlite/.libs" + + export PKG_CONFIG_PATH="${GOPATH}/sqlite/:${GOPATH}/libco/:${GOPATH}/raft/" + + cd "${GOPATH}/deps/sqlite" || die + econf --enable-replication --disable-amalgamation --disable-tcl --libdir="${EPREFIX}/usr/lib/lxd" + + common_op econf --libdir="${EPREFIX}"/usr/lib/lxd +} + +src_compile() { + export GOPATH="${S}/_dist" + + export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" + export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" + + local j + for j in sqlite raft libco; do + cd "${GOPATH}"/deps/${j} || die + emake + done + + ln -s libco.so.0.1.0 libco.so || die + ln -s libco.so.0.1.0 libco.so.0 || die + + cd "${GOPATH}/deps/dqlite" || die + emake CFLAGS="-I${GOPATH}/deps/sqlite -I${GOPATH}/deps/raft/include" LDFLAGS="-L${GOPATH}/deps/sqlite -L${GOPATH}/deps/raft" + + cd "${S}" || die + + for k in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + go install -v -x ${EGO_PN}/${k} || die "failed compiling ${k}" + done + + go install -v -x -tags libsqlite3 ${EGO_PN}/lxd || die "Failed to build the daemon" + + use nls && emake build-mo +} + +src_test() { + export GOPATH="${S}/_dist" + + export CGO_CFLAGS="${CGO_CFLAGS} -I${GOPATH}/deps/sqlite/ -I${GOPATH}/deps/dqlite/include/ -I${GOPATH}/deps/raft/include/ -I${GOPATH}/deps/libco/" + export CGO_LDFLAGS="${CGO_LDFLAGS} -L${GOPATH}/deps/sqlite/.libs/ -L${GOPATH}/deps/dqlite/.libs/ -L${GOPATH}/deps/raft/.libs -L${GOPATH}/deps/libco/ -Wl,-rpath,${EPREFIX}/usr/lib/lxd" + export LD_LIBRARY_PATH="${GOPATH}/deps/sqlite/.libs/:${GOPATH}/deps/dqlite/.libs/:${GOPATH}/deps/raft/.libs:${GOPATH}/deps/libco/:${LD_LIBRARY_PATH}" + + go test -v ${EGO_PN}/lxd || die +} + +src_install() { + local bindir="_dist/bin" + export GOPATH="${S}/_dist" + + dosbin ${bindir}/lxd + + for l in fuidshift lxd-agent lxd-benchmark lxd-p2c lxc lxc-to-lxd; do + dobin ${bindir}/${l} + done + + for m in dqlite libco raft sqlite; do + cd "${GOPATH}"/deps/${m} || die "failed switching into ${GOPATH}/${m}" + emake DESTDIR="${D}" install + done + + cd "${S}" || die + + # We only need bundled libs during src_compile, and we don't want anything + # to link against these. + rm "${ED}"/usr/bin/sqlite3 || die + rm -r "${ED}"/usr/include || die + rm -r "${ED}"/usr/lib/lxd/*.a || die + rm -r "${ED}"/usr/lib/lxd/pkgconfig || die + + newbashcomp scripts/bash/lxd-client lxc + + newconfd "${FILESDIR}"/lxd-4.0.0.confd lxd + newinitd "${FILESDIR}"/lxd-4.0.0.initd lxd + + if use apparmor; then + systemd_newunit "${FILESDIR}"/lxd-4.0.0_apparmor.service lxd.service + else + systemd_newunit "${FILESDIR}"/lxd-4.0.0.service lxd.service + fi + + systemd_newunit "${FILESDIR}"/lxd-containers-4.0.0.service lxd-containers.service + systemd_newunit "${FILESDIR}"/lxd-4.0.0.socket lxd.socket + + dodoc AUTHORS doc/* + use nls && domo po/*.mo +} + +pkg_postinst() { + elog + elog "Consult https://wiki.gentoo.org/wiki/LXD for more information," + elog "including a Quick Start." + elog + elog "Optional features:" + optfeature "btrfs storage backend" sys-fs/btrfs-progs + optfeature "lvm2 storage backend" sys-fs/lvm2 + optfeature "zfs storage backend" sys-fs/zfs + elog + elog "Be sure to add your local user to the lxd group." +} diff --git a/app-emulation/lxd/metadata.xml b/app-emulation/lxd/metadata.xml index 6711afb51f17..8a3feb504936 100644 --- a/app-emulation/lxd/metadata.xml +++ b/app-emulation/lxd/metadata.xml @@ -1,21 +1,24 @@ - - stasibear@gentoo.org - Erik Mackdanz - - - virtualization@gentoo.org - Gentoo Virtualization Project - - - By combining the speed and density of containers with - the security of traditional virtual machines, LXD is - the next-generation of container hypervisor for Linux - from Canonical. - - - lxc/lxd - + + stasibear@gentoo.org + Erik Mackdanz + + + virtualization@gentoo.org + Gentoo Virtualization Project + + + Enable AppArmor support + + + By combining the speed and density of containers with + the security of traditional virtual machines, LXD is + the next-generation of container hypervisor for Linux + from Canonical. + + + lxc/lxd + diff --git a/app-emulation/pcem/Manifest b/app-emulation/pcem/Manifest index 6aa392a02355..39fdb6a7cf4a 100644 --- a/app-emulation/pcem/Manifest +++ b/app-emulation/pcem/Manifest @@ -1,4 +1,4 @@ AUX pcem-15-respect-cflags.patch 300 BLAKE2B 4531829e43d43501fe889b34381fc056ffa2734ca499686558cf39ef245f3808e6488c32d6938487d018175ab8a370a28e491cc957406ea6e430a9afff44dae2 SHA512 7800d9056fc1ab4b38f97a6021da7288b990ab9c562846be1ae4ec6636c888fd444c635076f070c50f39681202995a41575823a225c77017d389638feaf1a93c DIST PCemV16Linux.tar.gz 1859892 BLAKE2B e388031e661b9320cc783e6400bdb7c191a2f946d9c207d9a58daa9270115b32ed55ac6a0b87227b51d10168e7d161bb03811eb83f5405ed1a71f7bfc6fd8aa5 SHA512 97d33ae1c4b59f281abe553ed4297c0d6c3956cf32b44474bfd5773700dd5c4ea6c209c679b9add5d4a7cba61748ee9794afa3c59af3230fa2a15812e13fd1c5 -EBUILD pcem-16.ebuild 1615 BLAKE2B bf0fcaf74928f93d9ebb24ea570de25f242a8dd6dc64293905830d2dc37fd3e1c3b7cce832f4c09f8c506bb51f47eadb462cd66c296834058e2b129985522354 SHA512 45056262b3cf56fd2487a8298ffd9785a7744b1533f94020d9dd2fb5bb1535200b13a17b78088fb276ccaa24d25a58adc6b7796139d646d788e68e5163d6ccde -MISC metadata.xml 856 BLAKE2B 628963f0f0d30b7d95b5f7b9f23907fa37129397a5470bde252df40d4c40e57f6657db0d02c935414707537bbe995386c158d5ada56c32e4dd6f53b13a1e2fbb SHA512 e1bb08b4e216ab48ad0d52a59b38dba0db566104ffbb73c2e6cb5d12eee66f78bfaf32caa564aecbcce9ecab21d98d5514ff828dde734671b2c34523137a356e +EBUILD pcem-16.ebuild 1615 BLAKE2B e9141f45d86ba205df78881ecb97cfbffe38d110d217721c9a85a39f2925aa43d80bf84d8a50cd330cc12237cd27764ea419db4d8b581cc2c4971175c8e4529b SHA512 b728aec270e313973fd2ce461c0524557c37d26e9b1392f8f74f9938723368b0ec37cd79d56fd70794454da000c1abb9f96f0a4d4d9de6893e4beb814b2daa95 +MISC metadata.xml 857 BLAKE2B c678e4578dca5c14416690cf8a421d4d1d8887237a4600580aad48d1d4ea6b641cc3c1f47c6c00be44344b760aa87c2b9bbded7625e0ccaedd0c8c2cb14dd057 SHA512 e610d16662365ae271fab8a2364e5781ba4be7a841d36759bc4e319b7f87a589c02131aeea83f194eabf940c0c4439459127468c0a65a72e3e2e91c74c0d409d diff --git a/app-emulation/pcem/metadata.xml b/app-emulation/pcem/metadata.xml index d949dbdb3e6e..b25ac367e489 100644 --- a/app-emulation/pcem/metadata.xml +++ b/app-emulation/pcem/metadata.xml @@ -18,6 +18,6 @@ https://pcem-emulator.co.uk/phpBB3/viewforum.php?f=2 - pcem_emulator/pcem + sarah-walker-pcem/pcem diff --git a/app-emulation/pcem/pcem-16.ebuild b/app-emulation/pcem/pcem-16.ebuild index c81533218ba4..605cd74eded3 100644 --- a/app-emulation/pcem/pcem-16.ebuild +++ b/app-emulation/pcem/pcem-16.ebuild @@ -10,13 +10,13 @@ WX_GTK_VER="3.0" DESCRIPTION="A PC emulator that specializes in running old operating systems and software" HOMEPAGE=" https://pcem-emulator.co.uk/ - https://bitbucket.org/pcem_emulator/pcem/ + https://github.com/sarah-walker-pcem/pcem/ " SRC_URI="https://pcem-emulator.co.uk/files/PCemV${PV}Linux.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="alsa networking" S="${WORKDIR}" diff --git a/app-emulation/playonlinux/Manifest b/app-emulation/playonlinux/Manifest deleted file mode 100644 index 776a2f498291..000000000000 --- a/app-emulation/playonlinux/Manifest +++ /dev/null @@ -1,10 +0,0 @@ -AUX playonlinux-4.2.4-binary-plugin.patch 556 BLAKE2B 6938d590f88e45dea88aa7e0fca375382b4bae6bdce4fbe8f0fc67f32d80e9a403114172b4011fd396ab29a9723ec8e625a6cdfe01b24c49d72ef8edd5da4049 SHA512 fbba7ce997f29354498b0e8a2438b0e875f775bd36993dead7dab50db79dd08f9b2dfc6f6948895473f8e3a6a0a19d6976131ae7a2d9f5da8acbbc1512c4c99b -AUX playonlinux-4.2.4-pol-bash.patch 1089 BLAKE2B 689b79bced4b6d5c53044b725099f6ac9ae4b1b25b9db4aaac7a2d1049cf209108fe16e6e39e654cd49b1b2c96163968a8409a6bb38efe63fb9b08f161069ef7 SHA512 d7ac172a63a42cbcbfbd8a60566b9b55fb1e853759a7b388627d14a2dab61ff36a1c6252d5178426daada6758ad50d102546f085b24c754c9f595d91b7d5e614 -AUX playonlinux-4.2.6-stop-update-warning.patch 766 BLAKE2B 934a8600742d7030d22f4ba8b88e83155437c5676a0937f41a56ee87ead370f5ab5475339e9cabd5e90b99e569e5a3c962e602a52601083aea37a8cd1b18b361 SHA512 0db635067a47b7b3b671562b005dc5281a768207215535558d4790c4b74164356e7cc91f118df48bd1396ca58eeb7e8e85b46265895f753edb1ae921c2484a9f -AUX playonlinux-pkg.1 643 BLAKE2B 80c5381aad102d81eebaa81d3ed83ed0fb16aa29b7f4a2e2b9dd349fe020112fd34e32ac9edab510852cb66bc402d9ef46ed0a2aed5c3369885161797e47aca8 SHA512 115f87cee7c6d56dbc54da9b120ca468fb29ae4be116101cfa3e8efd1efd9a372e6e8424462087807f6755d496575c44788914f4e45c901359ce52fbe37210a8 -AUX playonlinux.1 886 BLAKE2B 903f21600540798a765ae209832c4f111380340f4c6305ca333b29e6508579e13b3df8c3d44bc56284cdce290b319d40294eaee7476630190c9b7fd24ece2e76 SHA512 44ba1a04a7e8dbf3d85d81bbcf92917b6fe7bd68478bbcfecfe0c30619b834cc6c973fc6dd7d637d7debc7ede2a206248feaca1a017834ba95f076fd16679c2d -DIST PlayOnLinux_4.2.12.tar.gz 3204230 BLAKE2B 80ef0e5763448da4a37263c64d408e8263771694666a7c704b5900dfe0e52cc18405c34d609d8c49a0d05a383fca2d035e956e3bbe9a9a0c92a4e43b319ed7ba SHA512 f4ededc8fe0117c66fd5672e136e19b9b48a41acdd3e1b1b3dd7fae2c354e77795f0a4f8286b09b7d1813363aee50fa0811c04c3194aaf745963a2e6115b3909 -DIST PlayOnLinux_4.3.4.tar.gz 3101890 BLAKE2B d724cbd90a0f1bbc94c6365fcf6511d39ea0e8e9de32f42716111324f69091874ab19d3fa88a6bd9f77ed6308bc03ca708406fdc24faa60bf662e6a4f5d15d86 SHA512 7f2089d37379adee01424777e9c3b7ec16dd56ba2f4b834b4f0447832c050b2df3218a7361e8e735d5cc359aec6a000fea88e11632c9434232e4f749bb21c173 -EBUILD playonlinux-4.2.12.ebuild 2843 BLAKE2B 0713223aaa6866fa773f077b4f4d756ef6944a0ab565cb6b927efe40e1d6e5aa3b37115c9e21ce68eaa427aaaf0673bccecc519ea71cee3e49a9da2101c9e428 SHA512 aa275e0f80618f515f18067ef953592a6ac51086efb09bf4ad681e579abdeedf84db21630c414bce1ff83758f3b0a5c6185dd68b3ce1b0ab6bdd9764aeae378f -EBUILD playonlinux-4.3.4-r1.ebuild 2759 BLAKE2B 11ad80f54bf368ff8b30319998b94f7840ec807c66c02642c0cc51ba6c6e0c4427ba56e1418c8b89ae1d4798b6ffa721e19fd22b78b840f3bbacda96fa0c5ca1 SHA512 d893b3f4dcedc86d71d0ecf3159641d4278043d75eb0148e2b77940f243114aadffb4c1d0615a86087f647a3519dd23142a0a41ca3fb9d67e44b9c7d4a1ddf18 -MISC metadata.xml 433 BLAKE2B 6ba322414d75d581231afedbb791ce71aff799da09be4e08aab6f4e7e2e88d19b6e8701e36599bd1760e7076558c733edfe19f603f7f9541d0197cf4f1d59e4a SHA512 1e1dbfa93723297b63288436eaa1ce87183de71847c0ce61767381f668f6ad0bf69119570f7c7e395866f15e176f7412378c09386f8ddb271f7b2ec39da2d295 diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch b/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch deleted file mode 100644 index d5d3727e9fb0..000000000000 --- a/app-emulation/playonlinux/files/playonlinux-4.2.4-binary-plugin.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: Remove binary code from the package - Upstream ships a binary plugin in the archive. This plugin is not necessary to - get PlayOnLinux working and it still can be downloaded from upstream. -Forwarded: not-needed -Author: Bertrand Marc ---- a/plugins/plugins.lst -+++ b/plugins/plugins.lst -@@ -21,9 +21,6 @@ - - ## in fact empty line is also ignored because it's more easy to read =) - --##Capture --capture;Capture_2.4.3.pol;Capture;enable;2.4.3;11;1;0 -- - ##Screencap - screencap;ScreenCap_0.0.4.pol;ScreenCap;enable;0.0.4;1;1;1 - diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch b/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch deleted file mode 100644 index f9b3e2b81c29..000000000000 --- a/app-emulation/playonlinux/files/playonlinux-4.2.4-pol-bash.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/etc/pol_bash b/etc/pol_bash -index 7911f05..bd891e4 100644 ---- a/etc/pol_bash -+++ b/etc/pol_bash -@@ -29,7 +29,15 @@ export HISTCONTROL=ignoreboth - shopt -s checkwinsize - - # make less more friendly for non-text input files, see lesspipe(1) --[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)" -+less_pipe_cmd=$(lesspipe 2> /dev/null) -+if [ "$less_pipe_cmd" == export* ]; then -+ eval "$(lesspipe)" -+else -+ if [ -x /usr/bin/lesspipe ]; then -+ export LESSOPEN='| lesspipe %s' -+ fi -+fi -+unset less_pipe_cmd - - # set variable identifying the chroot you work in (used in the prompt below) - if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then -@@ -73,7 +81,9 @@ fi - # enable programmable completion features (you don't need to enable - # this, if it's already enabled in /etc/bash.bashrc and /etc/profile - # sources /etc/bash.bashrc). --if [ -f /etc/bash_completion ]; then -- . /etc/bash_completion --fi -- -+for bashcomp in /etc/{bash_completion,profile.d/bash-completion.sh}; do -+ if [ -r "$bashcomp" ]; then -+ . "$bashcomp" -+ fi -+done -+unset bashcomp diff --git a/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch b/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch deleted file mode 100644 index f5cf055f84bc..000000000000 --- a/app-emulation/playonlinux/files/playonlinux-4.2.6-stop-update-warning.patch +++ /dev/null @@ -1,17 +0,0 @@ -# This patch enables the $DEBIAN_PACKAGE variable for playonlinux. -# The changes are described in the source comments below. -# The flag is unfortnuately named debian, however the -# benefits apply to any package management system. -# Patch written by Adam Mills - ---- a/python/lib/Variables.py 2013-08-10 22:19:46.053365072 -0400 -+++ b/python/lib/Variables-patched.py 2013-08-10 22:17:58.275881842 -0400 -@@ -26,7 +26,7 @@ - # Debian packagers should switch this to TRUE - # It will disable update alerts, bug reports, statistics - # It will set the good locale directory, and it will use the good msttcorefonts --os.environ["DEBIAN_PACKAGE"] = "FALSE" -+os.environ["DEBIAN_PACKAGE"] = "TRUE" - - # Variables PlayOnMac - if (os.environ["POL_OS"] == "Mac"): diff --git a/app-emulation/playonlinux/files/playonlinux-pkg.1 b/app-emulation/playonlinux/files/playonlinux-pkg.1 deleted file mode 100644 index b96a8dc921da..000000000000 --- a/app-emulation/playonlinux/files/playonlinux-pkg.1 +++ /dev/null @@ -1,33 +0,0 @@ -.TH PLAYONLINUX-PKG 1 "February 6, 2009" - -.SH NAME -playonlinux-pkg \- tool to manage playonlinux packages - -.SH SYNOPSIS -.B playonlinux-pkg -.RI [ options ] -.RI [ package ] - -.SH DESCRIPTION -.B playonlinux-pkg -is a tool to install or manage the playonlinux packages - -.SH OPTIONS -.TP -.I "-b, --browse" - Choose a file. -.TP -.I "-e, --extract" - Extract the package. -.TP -.I "-i, --install" - Install the package. -.TP -.I "-h, --help" - Show usage. - -.SH AUTHOR -playonlinux was written by Quentin Pâris . -.PP -This manual page was written by Bertrand Marc , -for the Debian project (but may be used by others). diff --git a/app-emulation/playonlinux/files/playonlinux.1 b/app-emulation/playonlinux/files/playonlinux.1 deleted file mode 100644 index 63c499be7327..000000000000 --- a/app-emulation/playonlinux/files/playonlinux.1 +++ /dev/null @@ -1,33 +0,0 @@ -.TH PLAYONLINUX 1 "February 6, 2009" - -.SH NAME -PlayOnLinux \- front-end for Wine - -.SH SYNOPSIS -.B playonlinux -.RI [ options ] - -.SH DESCRIPTION -.B PlayOnLinux -is a front-end for Wine. It allows you to easily install and use numerous games and software designed to run with Microsoft®'s Windows®. -.br -Few games are compatible with GNU/Linux at the moment and it certainly is a factor preventing the migration to this system. -.P -.B PlayOnLinux -performs installations in -.I ~/.PlayOnLinux -and uses separate Wine prefixes to avoid conflicts between applications. - -.SH OPTIONS -.TP -.I --version - Show version number and exit. -.TP -.I "--run " - Run directly the specified program. - -.SH AUTHOR -playonlinux was written by Quentin Pâris . -.PP -This manual page was written by Bertrand Marc , -for the Debian project (but may be used by others). diff --git a/app-emulation/playonlinux/metadata.xml b/app-emulation/playonlinux/metadata.xml deleted file mode 100644 index b43e3dddd0c0..000000000000 --- a/app-emulation/playonlinux/metadata.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - NP-Hardass@gentoo.org - NP-Hardass - - - wine@gentoo.org - Wine - - - Enables support for the winbind auth daemon - - diff --git a/app-emulation/playonlinux/playonlinux-4.2.12.ebuild b/app-emulation/playonlinux/playonlinux-4.2.12.ebuild deleted file mode 100644 index a7b49cb2190b..000000000000 --- a/app-emulation/playonlinux/playonlinux-4.2.12.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -PYTHON_COMPAT=( python2_7 ) - -inherit eutils gnome2-utils python-single-r1 - -MY_PN="PlayOnLinux" - -DESCRIPTION="Set of scripts to easily install and use Windows games and software" -HOMEPAGE="https://playonlinux.com/" -SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="winbind" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="" -RDEPEND="${PYTHON_DEPS} - app-arch/cabextract - app-arch/p7zip - app-arch/unzip - app-crypt/gnupg - virtual/wine - $(python_gen_cond_dep ' - dev-python/wxpython:3.0[${PYTHON_MULTI_USEDEP}] - ') - net-misc/wget - x11-apps/mesa-progs - x11-terms/xterm - media-gfx/icoutils - net-analyzer/netcat - virtual/imagemagick-tools - winbind? ( net-fs/samba[winbind] ) -" - -S="${WORKDIR}/${PN}" - -# TODO: -# Having a real install script -# It will let using LANGUAGES easily -# How to deal with Microsoft Fonts installation asked every time ? -# How to deal with wine version installed ? (have a better mgmt of system one) -# Look at debian pkg: https://packages.debian.org/sid/playonlinux - -PATCHES=( - "${FILESDIR}/${PN}-4.2.4-pol-bash.patch" - "${FILESDIR}/${PN}-4.2.4-binary-plugin.patch" - "${FILESDIR}/${PN}-4.2.6-stop-update-warning.patch" -) - -src_prepare() { - default - - python_fix_shebang . - - # remove playonmac - rm etc/{playonmac.icns,terminal.applescript} || die - - # remove desktop integration - rm etc/{PlayOnLinux.desktop,PlayOnLinux.directory,playonlinux-Programs.menu} || die -} - -src_install() { - # all things without exec permissions - insinto "/usr/share/${PN}" - doins -r resources lang lib etc plugins - - # bash/ install - exeinto "/usr/share/${PN}/bash" - find "${S}/bash" -type f -exec doexe '{}' + - exeinto "/usr/share/${PN}/bash/expert" - find "${S}/bash/expert" -type f -exec doexe '{}' + - - # python/ install - python_moduleinto "/usr/share/${PN}" - python_domodule python - - # main executable files - exeinto "/usr/share/${PN}" - doexe ${PN}{,-pkg,-bash,-shell,-url_handler} - - # icons - doicon -s 128 etc/${PN}.png - for size in 16 22 32; do - newicon -s $size etc/${PN}$size.png ${PN}.png - done - - doman "${FILESDIR}"/playonlinux{,-pkg}.1 - dodoc CHANGELOG.md - - make_wrapper ${PN} "./${PN}" "/usr/share/${PN}" - make_wrapper ${PN}-pkg "./${PN}-pkg" "/usr/share/${PN}" - make_desktop_entry ${PN} ${MY_PN} ${PN} Game -} - -pkg_preinst() { - gnome2_icon_savelist -} - -pkg_postinst() { - gnome2_icon_cache_update -} - -pkg_prerm() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog "Installed software and games with playonlinux have not been removed." - elog "To remove them, you can re-install playonlinux and remove them using it," - elog "or do it manually by removing .PlayOnLinux/ in your home directory." - fi -} - -pkg_postrm() { - gnome2_icon_cache_update -} diff --git a/app-emulation/playonlinux/playonlinux-4.3.4-r1.ebuild b/app-emulation/playonlinux/playonlinux-4.3.4-r1.ebuild deleted file mode 100644 index a1e610f9b4f0..000000000000 --- a/app-emulation/playonlinux/playonlinux-4.3.4-r1.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -inherit desktop eutils python-single-r1 xdg - -MY_PN="PlayOnLinux" - -DESCRIPTION="Set of scripts to easily install and use Windows games and software" -HOMEPAGE="https://playonlinux.com/" -SRC_URI="https://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="winbind" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="" -RDEPEND="${PYTHON_DEPS} - app-arch/cabextract - app-arch/p7zip - app-arch/unzip - app-crypt/gnupg - app-misc/jq - $(python_gen_cond_dep ' - dev-python/wxpython:3.0[${PYTHON_MULTI_USEDEP}] - ') - media-gfx/icoutils - || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) - net-misc/wget - virtual/imagemagick-tools - virtual/wine - winbind? ( net-fs/samba[winbind] ) - x11-apps/mesa-progs - x11-terms/xterm -" - -S="${WORKDIR}/${PN}" - -# TODO: -# Having a real install script -# It will let using LANGUAGES easily -# How to deal with Microsoft Fonts installation asked every time ? -# How to deal with wine version installed ? (have a better mgmt of system one) -# Look at debian pkg: https://packages.debian.org/sid/playonlinux - -PATCHES=( - "${FILESDIR}/${PN}-4.2.4-pol-bash.patch" - "${FILESDIR}/${PN}-4.2.4-binary-plugin.patch" - "${FILESDIR}/${PN}-4.2.6-stop-update-warning.patch" -) - -src_prepare() { - default - - python_fix_shebang . - - # remove playonmac - rm etc/{playonmac.icns,terminal.applescript} || die - - # remove desktop integration - rm etc/{PlayOnLinux.desktop,PlayOnLinux.directory,playonlinux-Programs.menu} || die -} - -src_install() { - # all things without exec permissions - insinto "/usr/share/${PN}" - doins -r resources lang lib etc plugins - - # bash/ install - exeinto "/usr/share/${PN}/bash" - find "${S}/bash" -type f -exec doexe '{}' + - exeinto "/usr/share/${PN}/bash/expert" - find "${S}/bash/expert" -type f -exec doexe '{}' + - - # python/ install - python_moduleinto "/usr/share/${PN}" - python_domodule python - - # main executable files - exeinto "/usr/share/${PN}" - doexe ${PN}{,-pkg,-bash,-shell,-url_handler} - - # icons - doicon -s 128 etc/${PN}.png - for size in 16 22 32; do - newicon -s $size etc/${PN}$size.png ${PN}.png - done - - doman "${FILESDIR}"/playonlinux{,-pkg}.1 - dodoc CHANGELOG.md - - make_wrapper ${PN} "./${PN}" "/usr/share/${PN}" - make_wrapper ${PN}-pkg "./${PN}-pkg" "/usr/share/${PN}" - make_desktop_entry ${PN} ${MY_PN} ${PN} Game -} - -pkg_prerm() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog "Installed software and games with playonlinux have not been removed." - elog "To remove them, you can re-install playonlinux and remove them using it," - elog "or do it manually by removing .PlayOnLinux/ in your home directory." - fi -} diff --git a/app-emulation/protontricks/Manifest b/app-emulation/protontricks/Manifest index c211a59a101c..ac49dcbbc1b0 100644 --- a/app-emulation/protontricks/Manifest +++ b/app-emulation/protontricks/Manifest @@ -1,6 +1,6 @@ AUX protontricks-1.4.1_no-setuptools-scm.patch 1291 BLAKE2B 8d97cc8ab7d7dcdba72a3245d7bbd6965d0e0da1f22e290babe6a967057c0ddd6ba85920799f3fa85de4e395f29ea6362472380d3888f2a59bd7c1c167151337 SHA512 730180ce050a81ad42680bb884e3b86b4cc7c2d0efadc07f3a0708f55ab0158b8257e3528ce748d4be830d728e9a238c6d5deef15bc2c926b13ce1c7a1f9a4f2 DIST protontricks-1.4.1.gh.tar.gz 40029 BLAKE2B 3937f69ad1113c0a368117db38cf8bf1b66feea5cc7c509eaee2f7adabdeea724368baa15f51134a5a9749171a34f439878bfda3fc6b813caba11faf7be76373 SHA512 96d4b3aa5b1ca8f7f9bad0859f5984eb29a0bed01f420d108e537deef0436af314e73fcfaccfd58b5b1dc912698404bd4b0157e69ab6a055d65eb3701a60d00b DIST protontricks-1.4.1.tar.gz 31838 BLAKE2B b8c94a1b96fa7df14eaf1cc6d11cb96e43ae4e8c7bd232687a50cae9c79cf2d0e7864b1af0e1dc4cc20086952e1fcefeb16cb71a9c3a977f6feafad1b17d6857 SHA512 7635c9830afa3c64617514cd86edc7d7f9f33e6e81a1da995ec8bee70adc1cf8b5d9de92036c372134e408d735615b267b46a9afc9246f14ff161cb2ee1fc8f9 -EBUILD protontricks-1.4.1-r1.ebuild 1455 BLAKE2B 08cf533f9d3e45273b9450d16cd342683444deddeec242acd7d7122b55396ebf6b639a6a3219832b9dbbaad6aef24cfdcb25c73d3c04c594588481a479fa6872 SHA512 6e5bd0d386cb4848367c26422c94603b60a45003f6cb7f89d5c29bed88802b82b209ec65816cc391ef515d4b3f9d51681fc38c49b05a58d266f08d5556ce868a +EBUILD protontricks-1.4.1-r1.ebuild 1461 BLAKE2B 84c308caaedaa8b06e2426b2590504ae59c9662dcb9df2bd31a86a8879aafd30a2f055d613905ec088d6ae0e09bf81e572d9545fa9f7e4b663e417695633d135 SHA512 49375b5379e8ead5f3c638d239b9c99a3f540bd86ecdf8f21866d4de516d3fd5e25bf27f9bd8cba25a9272036e7c391e22380366d383efc208d0f50fd994fe9b EBUILD protontricks-1.4.1.ebuild 1415 BLAKE2B fd3e09407cfac634bc86a26df6d107ecd07abbfd097ff74a2ea7baaeba40cd8db95460d7b37004b4e54a79ec99c46b3c1ccd162e7d40d4c8ff89b8370b28c3aa SHA512 74bc259a1c1ec202540a36a3d402c1dd71d3350ed9c2c048390c501e4e7c84fd83c7c259a2481d70f83d211821097a560460bb530b96fd0db1fd6b01427353ba MISC metadata.xml 784 BLAKE2B 37e795944e32ef3f17022efa4ad352e3ee2d1819f3e7ee4ccf02f2366156c999290b4b309c924f54dfde4a5ffc017628c36ead987da2101d2eb38c1eaa767e3e SHA512 6bccb95acbe4cf3b64b4734f98dc4495bd20df294efa0b628f08f4c2ee6bb6c5d103bd323ac29dddb02d2a7ff4ac88ccccdce8a8c01b856aef051eaae6cdb0ae diff --git a/app-emulation/protontricks/protontricks-1.4.1-r1.ebuild b/app-emulation/protontricks/protontricks-1.4.1-r1.ebuild index e8c4edf44be5..aff61b39a84c 100644 --- a/app-emulation/protontricks/protontricks-1.4.1-r1.ebuild +++ b/app-emulation/protontricks/protontricks-1.4.1-r1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6..9} ) +PYTHON_COMPAT=( python3_{6..9} pypy3 ) DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=rdepend diff --git a/app-emulation/punes/Manifest b/app-emulation/punes/Manifest index ad109e324d29..e71c0aeda6b7 100644 --- a/app-emulation/punes/Manifest +++ b/app-emulation/punes/Manifest @@ -1,5 +1,3 @@ -DIST punes-0.104.tar.gz 5381182 BLAKE2B fefa6eb85e9cfe5eb10fd987061e6f708a2d29db374552ca217e1e47bfd3a982390d2fdf33f23407bb54d7e1a3491e33cc2c520ff3ead4566f687c6c652bcc6a SHA512 9636440cf66cb9f48b532cebff4342a775ddacffd98748e5669d820e213a648cbfb3e4e94f67389f21f88b4fa618bf514e31738c10df079abe22d4b19593d904 -DIST punes-0.105.tar.gz 5376203 BLAKE2B 9008ee14189d669c4c4c815de1c5498e3af22cbae52a25b538ae658fdc3fe9d39600a431e6652c84b24e20b1e713847462e4b802021a635c8f14f7d91317678f SHA512 4ce1487554218b17b0e3e2966c7b4ac0852e0b0bc83aeabbb0e3127d4952f0ef921374a97ce59990d01b5e0ac08204cca5f13476cd7e4a1e7a238850e8305d29 -EBUILD punes-0.104.ebuild 967 BLAKE2B 225fb2763ad92dee3da274b30396bd2a6759666c91689b5cd9f2a88c3097ccd410f24b3ca77437d4541dc57216b7aeaad42a0b7293abde5c5c463fce4d3dbac7 SHA512 40d1905cc954f63040b61dbe33c2864e8ef35c71cd800a39e1edbbb6a50fb09ce022bd876d8496365174e34ac62ab42a2321dfaba21b1feb0f600f1feba02779 -EBUILD punes-0.105.ebuild 1108 BLAKE2B f281520c83dba6cb74456b2929ec30a9acf2e9179c3c9b561083f338950ed3a3d7a1937a15cffed35420f6bb5b5eb8538eb7762a3e305b9c7e06f9614d33f927 SHA512 5c361a293a34750afcc7c91855619be9e8e97e0191bf352beeb5585f89778728dfdc28269b1fca1f67f8ce69764ac1a334206b17f412fd725c8e43b956fd921f +DIST punes-0.106.tar.gz 5595484 BLAKE2B aa3bb5c869e679b19829a3d1de970517d6d626e0ed2404a9ed09d16af8fabb1ee3258ec8fbb4027fb6b70b5449b2bb7ac6880f43c3ba846687c65d8a0eeaf3f2 SHA512 f35c5cee05464cb11f130938cf7aa519d4dea35dbf52ce3606c3c6bb2596bc59b75e11816a5b44c7b1c9d402a299b4db49727087b4c93c3cb2ba473adfdd4fa2 +EBUILD punes-0.106.ebuild 1121 BLAKE2B 50d21cdb0d9cc999f07bd8f7272951bc26d579aeadfd87f10701eab49cfc611208104680517eb808a2e794cf211b6b41c22748fab898c76873044fb5cb68deaa SHA512 2a8fdefbf14ed66a01e32155442cc9c52052a1ed1fac8d39bac5ddda23eabd1ecf7082d3ba3166d68d5c3db4b2df0f2a4f869da587bf1f189c291a480cc2005a MISC metadata.xml 529 BLAKE2B 41ca9104473edaf94faa28749d5705ccd3f0b0eae2ce6e421652ca025d6cf21e1094a9a36c9f787e1556f23ecb73d48c5f3b7784cffc082016307403136ce905 SHA512 6a4892f8f0ff213d87d98db48612b067a131dd6c59b0c4bbf78c098f9a33592ebbee8ef78674a812ef2b35d233c9dea52752aaca315ea0065c472a4c5c9732b1 diff --git a/app-emulation/punes/punes-0.104.ebuild b/app-emulation/punes/punes-0.104.ebuild deleted file mode 100644 index ae456a0a5a28..000000000000 --- a/app-emulation/punes/punes-0.104.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools xdg-utils - -DESCRIPTION="Nintendo Entertainment System (NES) emulator" -HOMEPAGE="https://github.com/punesemu/puNES" -SRC_URI="https://github.com/punesemu/puNES/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cg" - -RDEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - cg? ( media-gfx/nvidia-cg-toolkit ) - media-libs/alsa-lib - virtual/opengl" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig" - -S="${WORKDIR}/puNES-${PV}" - -src_prepare() { - default - - sed -i "/update-desktop-database/d" misc/Makefile.am || die - eautoreconf - # FIXME why eautoreconf can't handle this? - cd "src/extra/lib7zip-1.6.5" || die - eautoreconf -} - -src_configure() { - econf \ - $(use_with cg opengl-nvidia-cg) -} - -pkg_postinst() { - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/punes/punes-0.105.ebuild b/app-emulation/punes/punes-0.105.ebuild deleted file mode 100644 index 2cf0ce244142..000000000000 --- a/app-emulation/punes/punes-0.105.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools xdg-utils - -DESCRIPTION="Nintendo Entertainment System (NES) emulator" -HOMEPAGE="https://github.com/punesemu/puNES" -SRC_URI="https://github.com/punesemu/puNES/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cg" - -RDEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - media-libs/alsa-lib - virtual/opengl" -DEPEND="${RDEPEND}" -BDEPEND=" - cg? ( media-gfx/nvidia-cg-toolkit ) - dev-qt/linguist-tools:5 - virtual/pkgconfig" - -S="${WORKDIR}/puNES-${PV}" - -src_prepare() { - default - - sed -i "/update-desktop-database/d" misc/Makefile.am || die - eautoreconf - # FIXME why eautoreconf can't handle this? - cd "src/extra/lib7zip-1.6.5" || die - eautoreconf -} - -src_configure() { - econf \ - $(use_with cg opengl-nvidia-cg) -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} diff --git a/app-emulation/punes/punes-0.106.ebuild b/app-emulation/punes/punes-0.106.ebuild new file mode 100644 index 000000000000..1cdb9cc4f012 --- /dev/null +++ b/app-emulation/punes/punes-0.106.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools xdg-utils + +DESCRIPTION="Nintendo Entertainment System (NES) emulator" +HOMEPAGE="https://github.com/punesemu/puNES" +SRC_URI="https://github.com/punesemu/puNES/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cg" + +RDEPEND=" + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + media-libs/alsa-lib + virtual/glu + virtual/opengl" +DEPEND="${RDEPEND}" +BDEPEND=" + cg? ( media-gfx/nvidia-cg-toolkit ) + dev-qt/linguist-tools:5 + virtual/pkgconfig" + +S="${WORKDIR}/puNES-${PV}" + +src_prepare() { + default + + sed -i "/update-desktop-database/d" misc/Makefile.am || die + eautoreconf + # FIXME why eautoreconf can't handle this? + cd "src/extra/lib7zip-1.6.5" || die + eautoreconf +} + +src_configure() { + econf \ + $(use_with cg opengl-nvidia-cg) +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/app-emulation/qemu-riscv64-bin/Manifest b/app-emulation/qemu-riscv64-bin/Manifest index d9f62ca356c1..3cbc9573b27b 100644 --- a/app-emulation/qemu-riscv64-bin/Manifest +++ b/app-emulation/qemu-riscv64-bin/Manifest @@ -1,3 +1,5 @@ DIST qemu-riscv64-bin-3.1.0-r4.tar.xz 889764 BLAKE2B 888fef2f27f44be098e9b834b083558ce18d98337612b4de2278ffe5d6599248d9ed4e99153ad9b2c1a5b773131c420bb23ce6d080943af744df34464660bc42 SHA512 bc92110f6730c61bd39056d0bf3f84b35ed340a47af51b28b27554f9f2f72409221d2c81826b718742475d0fc48040c81e8f051e29b4f13412c3a39e282471e0 +DIST qemu-riscv64-bin-5.0.0.tar.xz 922240 BLAKE2B d4ff41c8e45ca99bc1b9e795d9e218b05be283b32d179e8ab88d07bd333a52fce7893739e6572219083d5d56a7abb7cc1870df7c585ca41af15b56a5dc30369d SHA512 1ba28679ce4bf1f11b77059dae8cb76f0095cc4427159d769947b8a1b1212c9de0a25a236c69ff9780dd111a22fa6e01519a3017b0b0a5d29069575501552f40 EBUILD qemu-riscv64-bin-3.1.0-r4.ebuild 489 BLAKE2B c8c05afb49827fc776fc4569f51fbcc18a43519241dc580afc58b6e8cac09e31e3a82224fc6ebce7beef913a3794da1a9f9ddb86b2b01c4c5a8254f2e07e9ecb SHA512 a93aadc16237a744e0edd22ba11787b3867a25a402b560ea5ed5ec6e5104d9e1f88c66ce3b562fb936f416bd4088e4e74d687b418e40377cc8485a341e09dba1 +EBUILD qemu-riscv64-bin-5.0.0.ebuild 489 BLAKE2B c8c05afb49827fc776fc4569f51fbcc18a43519241dc580afc58b6e8cac09e31e3a82224fc6ebce7beef913a3794da1a9f9ddb86b2b01c4c5a8254f2e07e9ecb SHA512 a93aadc16237a744e0edd22ba11787b3867a25a402b560ea5ed5ec6e5104d9e1f88c66ce3b562fb936f416bd4088e4e74d687b418e40377cc8485a341e09dba1 MISC metadata.xml 479 BLAKE2B 9073a68b14d921d5557835e3f3518f3e35688452310d8d9c89233abca25277588a67eee0641e0cfb8afb7951fd29281ca7add9a20ff45acae1f3532ad051e862 SHA512 78d7fa09208d0cb1c6bad33a92d059858d94939821147fa2f095b961bee64ea29db6dedba6e68dac9db6ae2b985e3c8462d56bbe079fbe074c623257a830b6ff diff --git a/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild b/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild new file mode 100644 index 000000000000..650e2af57e19 --- /dev/null +++ b/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild @@ -0,0 +1,22 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Statically linked x86-64 binary of app-emulation/qemu, riscv64 emulator" + +HOMEPAGE="http://www.qemu.org" +SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${PN}-${PVR}.tar.xz" +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="!app-emulation/qemu[qemu_user_targets_riscv64]" + +QA_PREBUILT="*" + +S=${WORKDIR} + +src_install() { + dobin qemu-riscv64 +} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 1628e46f2145..c8fc491cd04d 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -1,17 +1,17 @@ AUX 65-kvm.rules-r1 120 BLAKE2B a0d95f60e48f80e5f00b3a7ef3b520861fb781868844aff7b764875238d41982cfb5535e42757145eaea64f48e856ca92d434b33f7b3aeb5d93b0afcb461fd00 SHA512 4132ec4d3e7c1e3cf5e37224be1a3b864bcc0bfde9109e8fea9c99377289c28a7fdcf9155fbbd6605dbf8ebeb020c2ab575dd35e36bdf69f8ad07c4aa9c7b2f7 AUX bridge.conf 454 BLAKE2B 2f3e828a001ac77de96c8a11e3fc462149e1c16972c28b8367659c2896b7c3dd147e978ef6401b280fc3474bc959bee50f65d7525bee8bc04c19bc657ba7e22f SHA512 a907ee86b81a1b61033bb7621ded65112504131ef7b698c53e4014b958ee6fc79e66f63069015a01e41362cb70a7d0ed26dd9a03033cf776f4846f0e1f8f1533 AUX qemu-2.11.1-capstone_include_path.patch 264 BLAKE2B 955b498c0ea2657ee4c9d0054a32693ac2096232ae8358848fa8518bcb87c1cce5d9145ccf560320ba53d60ae8ed85f6be801b72707a964b247e8f1f1844f9cd SHA512 ebf1d6450b7c499a8e490b19f87a3b4f8bbc50ea44edaac8c12b0993947513a8b616af2d4cf6240c8e265824a44463f917333ffa510e6ffedf379921e28fc3ab -AUX qemu-2.5.0-cflags.patch 410 BLAKE2B 1d072b5dd00369bb565b30c2aa7047de92b441bf103faadb5dd42daf36ad1c5e39c5bdfdc2b5f2bb0bfec2ea1255b4182caeb467614a487f5cfcb341109a4884 SHA512 0194d28de08b4e51c5bd1c9a2cc7965ba7f66dfddb8fd91de3da93677e6cf2d38ad3270f69aaea8a20cf2533c2980018d6e0fed711be2806fe2053fba7c081f3 AUX qemu-4.0.0-mkdir_systemtap.patch 333 BLAKE2B e7e35e7fe510e7e1a86005f3d51384a81d1de7705f3b856656ec71cc0a2a29626e94918b3cc23b32e47c8073b77b62b498e71c3e956549e25ee5f4da1a8ac9cf SHA512 de48a7d663bd78051ed8a1f62d8b0b8e3bfe58d8a0001daf12518dbd087be3154e766be11c607485e7dd851b08d5675c4fb2a2fe5cf18f3b900164a4d93eab10 -AUX qemu-4.2.0-ati-vga-crash.patch 4213 BLAKE2B bd67a7fa5cc782360e42dba38be05d973a18ee0a281a1d6623b836769f6d3e0e7de87111ab5b20ddc4d6b3e069e0dd9dc9c6a4fc56fc076562b69d89f4600936 SHA512 6075eed84d4cd0252fd8c82316c0b47c56e3deef5852acf5677a9e091610102c1d790ea1da4c7b6595f84bf1362e824f4ffe06675d4dc0b96da4c6401b4d0cc0 AUX qemu-4.2.0-cflags.patch 508 BLAKE2B 86724caca22a4bd2b21db306d04d8c0f6a542a15b82bb4e340f3ddb8471f47e854276ff33adee7bd5682ecb797efdb048e9d028d954a064712d1e817e1eb6e26 SHA512 5bfb8f0e739d7bb260b5b5b0a2d28f30b97833b8037227c511f55c9bd9502241c891e7e3780e750598ccfd7fb01615254f1c7f6634787fec67539a61a217e18d AUX qemu-5.0.0-epoll-strace.patch 1455 BLAKE2B 8617fd020d36d0fc29d83d0340177f046ee58e08eb3663ae023647f0246450a8d65df1558731ecef06f29917411a26a97b2f9491e96efe4bf44e1a5be439999a SHA512 17f79dcc1e112d776875df281c13e12d58e43c0530718c992700d70030c9527f915193356db8e6f0fc721f8462f95305442c9393310f2a04df4d060f7e3a3f09 +AUX qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch 1149 BLAKE2B 0ac27f524129e88061e59e123d2db9a985f14eb9f37941a9424e0bb70219f842ef372a332b20ce7674f2d7e1c4d2b8e0d8b970bf1d0affb5a3ecaf936d0e7677 SHA512 adfd1b8b8c321692a770fcc8a699b12558b1b68d29e7e7dc95f01d1006da963fca04df2303e1c374bdc597e07ac36471843d729b1005c0b487db4fb9ee05147c +AUX qemu-5.1.0-pixman-for-vhost-user-gpu.patch 1788 BLAKE2B 9eddc15909cac5eb3357eb4e16921b8b51ba1107eaf272ce48e6f89705fa246ad3a8cd02abc534329671de3849f83a8515d22c39437961b5de25459f697d4600 SHA512 8df97af001e9d5c671da7ba1d651fae7ddca2f16337741ffa551227ae86bc627b6cbf37332beb0a6c9ee2444b7f40474804c4a7b79140d3e2b1dfe310a0b2502 AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 -DIST qemu-4.2.0-patches-r2.tar.xz 17868 BLAKE2B 3783d0f923ded66cce1195248981c83bbaf8b7ad2a270207e92e60b4d05d4787cd9324649c113a4616c2a9ddcef99841264f19915615b7a0a24dac9febed48ba SHA512 556f1c595a35ee4279b2d0890d90e48cd43d9d641ccca495e2494f62ab48dfc000dbe23718276271ced3d4b7680c814f8f8846195089ff56186f618063a83b48 -DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef SHA512 2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56 DIST qemu-5.0.0.tar.xz 62426192 BLAKE2B 785d02ef79c95b5c4f0556186054885f9893d4e8a9f4b4f2d6199a4e1ae9c31d7c79dd900305469217f85d61bbe74134b601d5c6c1b0eee2b74792d010f1fd63 SHA512 21ef0cbe107c468a40f0fa2635db2a40048c8790b629dfffca5cd62bb1b502ea8eb133bfc40df5ecf1489e2bffe87f6829aee041cb8a380ff04a8afa23b39fcf -EBUILD qemu-4.2.0-r6.ebuild 24465 BLAKE2B 039d18ecffc0e41943b4b2263f5edf06e7bc4adfa8d1c95644c6d0d2e0fceb823c8e52e2549f939a4e699640fdc22dd68c3420054a933f335b008de888a70da4 SHA512 5585d835b938bb20a8959cbd41a9e86f9d0f993e9968e4b51e77028c536ee530d3bc2b25bdc31b0a3e13d27c2342b242f02a9478d28a66d5f588bfb7c9928c2f -EBUILD qemu-5.0.0.ebuild 24539 BLAKE2B 556790420f61cbc42129e0996b0f95a90faa1053469bdc4c6b006fdb9f76233267e899fafc58c1c64baf947d5239638fae9198ef4604f1cb7f6bcc5d005a0ee2 SHA512 83c7093c429fcbf8a1b582f8672c486f79f76e1fdf94c1014b4f3e895c8c08bf294dac511ea8bd46554758a0b8d2ec8d9d3d8fbc76f9b60613056810b53dc896 -EBUILD qemu-9999.ebuild 24498 BLAKE2B 0cbeeb6404826492304577500e9eec52fb4468ff68f2693e1d7688d764fafeba7e4dd25e59fcfe618f16c76cf0e7ba8fd514d1467eba5d8252dc31d52d493137 SHA512 6fb2d3e54e38c821ee123c63d71c6f68b4a6e650d0a53e47711510c3d599fb12cd9cd2c04cc21950d295abc062e039e2a82ee4e226ccf0d9f7bb16c72037bd52 -MISC metadata.xml 4465 BLAKE2B ef8f4fcd42539604fd5d05228dc89b9bebe56490c20da6cd3244a9b9d8c5c66036562ff64e4a740c824a80f2fbfa70b6540873d223f4bb9f901337fe78e3012c SHA512 103ee38332f04a84527e177e9efc36847daa0bcdb6ea90a33ed8656139b7464f8d99dd6cdf7cc33460c87701786e8573cac532af2f84d5ae53d1b78c750ef770 +DIST qemu-5.1.0.tar.xz 62911540 BLAKE2B 6a3ecbda2d9274f2736ffbc88d2006be31f153e7687e1425c1a297975f0e828cd2eafc11d11b589991acda87a489dd256ccf5a8947f91bb9431e515e979d8f29 SHA512 e213edb71d93d5167ddce7546220ecb7b52a7778586a4f476f65bd1e510c9cfc6d1876238a7b501d9cc3fd31cc2ae4b7fb9e753bc3f12cc17cd16dfce2a96ba3 +EBUILD qemu-5.0.0-r1.ebuild 24696 BLAKE2B 2ecc1dae51d1c749cdf52588bbaa593f73e550d7a72e41d17ce0bf379c4c830fadbfe5f061edd3c1172de045a7a18ea520ab785f40d5da93a02a04fe8ea79d83 SHA512 1691bc09a43d6ab4f9d55a1672dd176dc5123c846b0e4bb1bb9366d6c5bd7c63ca98ff74c22b75449a0b41f850502079bab3714dcfd73b333c86af51b7e70d2f +EBUILD qemu-5.0.0-r2.ebuild 24800 BLAKE2B 61a42eeca02b70ec412392a69472d7f071dbd96330061926784cd1dcff39595a29af5db399c08d353379cf6f70f3940814fef734d42af67f9f7e6c4db6ded9a1 SHA512 b5d37daa84a6f4bcb6d4f76d4f8d1f672e534882ce96c5a7b02c21ff5ac34d2cf6496603471d45b2e84e98ea59477f9e040ec01558acc0fecf1c7c55297138e5 +EBUILD qemu-5.1.0.ebuild 24755 BLAKE2B f41170c1e56140ad09134ab693d4785782d9e5a8e87a434ff8491ce5115d77d4302c0e1682058b6062c1324dfc5065f5730229eca7fad535c45ce8539a1f1c9b SHA512 4d6ba96c019199b7166395511ce3f626d116b134e5185778051b89060baa38e40b2f76c808fd4af122d29d00df2a80847aa901703f00b15e6bf4125c04a823ca +EBUILD qemu-9999.ebuild 24755 BLAKE2B f41170c1e56140ad09134ab693d4785782d9e5a8e87a434ff8491ce5115d77d4302c0e1682058b6062c1324dfc5065f5730229eca7fad535c45ce8539a1f1c9b SHA512 4d6ba96c019199b7166395511ce3f626d116b134e5185778051b89060baa38e40b2f76c808fd4af122d29d00df2a80847aa901703f00b15e6bf4125c04a823ca +MISC metadata.xml 4677 BLAKE2B 82b6a32773d1ab6ffbb7be0461c0f53b916621d470290d2b2ec986346eb8d8c283ae2dd95a94f5a56d3ff59e602be1d7d5f53c0a41e722df20cc266172ca5805 SHA512 edd256d976b9f3bc5f0e37802286a859a069e07458491e8a12ff4333291f76477f1ab6c4a733ca3778121cc52b237c5fcbaa0645546dbdc3afc51217b55162ac diff --git a/app-emulation/qemu/files/qemu-2.5.0-cflags.patch b/app-emulation/qemu/files/qemu-2.5.0-cflags.patch deleted file mode 100644 index 173394fd02f2..000000000000 --- a/app-emulation/qemu/files/qemu-2.5.0-cflags.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/configure -+++ b/configure -@@ -4468,10 +4468,6 @@ fi - if test "$gcov" = "yes" ; then - CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS" - LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS" --elif test "$fortify_source" = "yes" ; then -- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS" --elif test "$debug" = "no"; then -- CFLAGS="-O2 $CFLAGS" - fi - - ########################################## diff --git a/app-emulation/qemu/files/qemu-4.2.0-ati-vga-crash.patch b/app-emulation/qemu/files/qemu-4.2.0-ati-vga-crash.patch deleted file mode 100644 index 5f442f0fd07a..000000000000 --- a/app-emulation/qemu/files/qemu-4.2.0-ati-vga-crash.patch +++ /dev/null @@ -1,94 +0,0 @@ -https://bugs.gentoo.org/719266 - -From ac2071c3791b67fc7af78b8ceb320c01ca1b5df7 Mon Sep 17 00:00:00 2001 -From: BALATON Zoltan -Date: Mon, 6 Apr 2020 22:34:26 +0200 -Subject: [PATCH] ati-vga: Fix checks in ati_2d_blt() to avoid crash - -In some corner cases (that never happen during normal operation but a -malicious guest could program wrong values) pixman functions were -called with parameters that result in a crash. Fix this and add more -checks to disallow such cases. - -Reported-by: Ziming Zhang -Signed-off-by: BALATON Zoltan -Message-id: 20200406204029.19559747D5D@zero.eik.bme.hu -Signed-off-by: Gerd Hoffmann ---- - hw/display/ati_2d.c | 37 ++++++++++++++++++++++++++----------- - 1 file changed, 26 insertions(+), 11 deletions(-) - ---- a/hw/display/ati_2d.c -+++ b/hw/display/ati_2d.c -@@ -53,12 +53,20 @@ void ati_2d_blt(ATIVGAState *s) - s->vga.vbe_start_addr, surface_data(ds), surface_stride(ds), - surface_bits_per_pixel(ds), - (s->regs.dp_mix & GMC_ROP3_MASK) >> 16); -- int dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ? -- s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width); -- int dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -- s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height); -+ unsigned dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ? -+ s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width); -+ unsigned dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -+ s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height); - int bpp = ati_bpp_from_datatype(s); -+ if (!bpp) { -+ qemu_log_mask(LOG_GUEST_ERROR, "Invalid bpp\n"); -+ return; -+ } - int dst_stride = DEFAULT_CNTL ? s->regs.dst_pitch : s->regs.default_pitch; -+ if (!dst_stride) { -+ qemu_log_mask(LOG_GUEST_ERROR, "Zero dest pitch\n"); -+ return; -+ } - uint8_t *dst_bits = s->vga.vram_ptr + (DEFAULT_CNTL ? - s->regs.dst_offset : s->regs.default_offset); - -@@ -82,12 +90,16 @@ void ati_2d_blt(ATIVGAState *s) - switch (s->regs.dp_mix & GMC_ROP3_MASK) { - case ROP3_SRCCOPY: - { -- int src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ? -- s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width); -- int src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -- s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height); -+ unsigned src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ? -+ s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width); -+ unsigned src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -+ s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height); - int src_stride = DEFAULT_CNTL ? - s->regs.src_pitch : s->regs.default_pitch; -+ if (!src_stride) { -+ qemu_log_mask(LOG_GUEST_ERROR, "Zero source pitch\n"); -+ return; -+ } - uint8_t *src_bits = s->vga.vram_ptr + (DEFAULT_CNTL ? - s->regs.src_offset : s->regs.default_offset); - -@@ -137,8 +149,10 @@ void ati_2d_blt(ATIVGAState *s) - dst_y * surface_stride(ds), - s->regs.dst_height * surface_stride(ds)); - } -- s->regs.dst_x += s->regs.dst_width; -- s->regs.dst_y += s->regs.dst_height; -+ s->regs.dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ? -+ dst_x + s->regs.dst_width : dst_x); -+ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -+ dst_y + s->regs.dst_height : dst_y); - break; - } - case ROP3_PATCOPY: -@@ -179,7 +193,8 @@ void ati_2d_blt(ATIVGAState *s) - dst_y * surface_stride(ds), - s->regs.dst_height * surface_stride(ds)); - } -- s->regs.dst_y += s->regs.dst_height; -+ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ? -+ dst_y + s->regs.dst_height : dst_y); - break; - } - default: --- -2.26.2 - diff --git a/app-emulation/qemu/files/qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch b/app-emulation/qemu/files/qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch new file mode 100644 index 000000000000..d1d3c49a58f6 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.0.0-ipv6-slirp-CVE-2020-10756.patch @@ -0,0 +1,35 @@ +https://gitlab.freedesktop.org/slirp/libslirp/-/commit/c7ede54cbd2e2b25385325600958ba0124e31cc0 +https://bugzilla.redhat.com/show_bug.cgi?id=1835986 +https://bugs.gentoo.org/731992 + +From c7ede54cbd2e2b25385325600958ba0124e31cc0 Mon Sep 17 00:00:00 2001 +From: Ralf Haferkamp +Date: Fri, 3 Jul 2020 14:51:16 +0200 +Subject: [PATCH] Drop bogus IPv6 messages + +Drop IPv6 message shorter than what's mentioned in the payload +length header (+ the size of the IPv6 header). They're invalid an could +lead to data leakage in icmp6_send_echoreply(). +--- + src/ip6_input.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/slirp/src/ip6_input.c ++++ b/slirp/src/ip6_input.c +@@ -49,6 +49,13 @@ void ip6_input(struct mbuf *m) + goto bad; + } + ++ // Check if the message size is big enough to hold what's ++ // set in the payload length header. If not this is an invalid ++ // packet ++ if (m->m_len < ntohs(ip6->ip_pl) + sizeof(struct ip6)) { ++ goto bad; ++ } ++ + /* check ip_ttl for a correct ICMP reply */ + if (ip6->ip_hl == 0) { + icmp6_send_error(m, ICMP6_TIMXCEED, ICMP6_TIMXCEED_INTRANS); +-- +GitLab + diff --git a/app-emulation/qemu/files/qemu-5.1.0-pixman-for-vhost-user-gpu.patch b/app-emulation/qemu/files/qemu-5.1.0-pixman-for-vhost-user-gpu.patch new file mode 100644 index 000000000000..4eb644fde543 --- /dev/null +++ b/app-emulation/qemu/files/qemu-5.1.0-pixman-for-vhost-user-gpu.patch @@ -0,0 +1,62 @@ +https://bugs.gentoo.org/735146 + +From 4fd46e6cdd976f4aecdc3fbbad728e00a7bc4ee0 Mon Sep 17 00:00:00 2001 +From: Rafael Kitover +Date: Thu, 13 Aug 2020 20:19:24 +0000 +Subject: [PATCH] configure: Require pixman for vhost-user-gpu. + +Use the test from Makefile to check if vhost-user-gpu is being built, +and if so require pixman. + +Signed-off-by: Rafael Kitover +--- + configure | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +--- a/configure ++++ b/configure +@@ -4062,20 +4062,6 @@ if test "$modules" = yes; then + fi + fi + +-########################################## +-# pixman support probe +- +-if test "$softmmu" = "no"; then +- pixman_cflags= +- pixman_libs= +-elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then +- pixman_cflags=$($pkg_config --cflags pixman-1) +- pixman_libs=$($pkg_config --libs pixman-1) +-else +- error_exit "pixman >= 0.21.8 not present." \ +- "Please install the pixman devel package." +-fi +- + ########################################## + # libmpathpersist probe + +@@ -4491,6 +4477,20 @@ if test "$opengl" = "yes" && test "$have_x11" = "yes"; then + done + fi + ++########################################## ++# pixman support probe ++ ++if test "$softmmu" = "no" && ! test "${linux} ${virglrenderer} ${gbm} ${want_tools}" = "yes yes yes yes"; then ++ pixman_cflags= ++ pixman_libs= ++elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then ++ pixman_cflags=$($pkg_config --cflags pixman-1) ++ pixman_libs=$($pkg_config --libs pixman-1) ++else ++ error_exit "pixman >= 0.21.8 not present." \ ++ "Please install the pixman devel package." ++fi ++ + ########################################## + # libxml2 probe + if test "$libxml2" != "no" ; then +-- +2.28.0 + diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml index 0c30c4582643..465aadf67d46 100644 --- a/app-emulation/qemu/metadata.xml +++ b/app-emulation/qemu/metadata.xml @@ -29,6 +29,8 @@ net-libs/libiscsi instead of indirectly via the Linux block layer that sys-block/open-iscsi does. Enable efficient I/O via sys-libs/liburing. + Enable multipath persistent reservation passthrough via + sys-fs/multipath-tools. Enable the ncurses-based console Enable NFS support Enable NUMA support @@ -40,6 +42,7 @@ Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD Enable the SDL-based console SDL Image support for icons + Enable TCP/IP in hypervisor via net-libs/libslirp Enable Spice protocol support via app-emulation/spice Enable SSH based block device support via net-libs/libssh2 Build the User targets as static binaries @@ -58,8 +61,7 @@ Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup Enable terminal support (x11-libs/vte) in the GTK+ interface Add support for getting and setting POSIX extended attributes, through - sys-apps/attr. Requisite for the virtfs backend. - + sys-apps/attr. Requisite for the virtfs backend. Enables support for Xen backends Support xfsctl() notification and syncing for XFS backed virtual disks. diff --git a/app-emulation/qemu/qemu-4.2.0-r6.ebuild b/app-emulation/qemu/qemu-4.2.0-r6.ebuild deleted file mode 100644 index 8a93874b711e..000000000000 --- a/app-emulation/qemu/qemu-4.2.0-r6.ebuild +++ /dev/null @@ -1,834 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python{3_6,3_7,3_8} ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="4.0.0-r50" - -inherit eutils linux-info toolchain-funcs multilib python-r1 \ - udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" - EGIT_SUBMODULES=( - slirp - tests/fp/berkeley-{test,soft}float-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - SRC_URI="https://download.qemu.org/${P}.tar.xz - https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r2.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc - +fdt glusterfs gnutls gtk infiniband iscsi jemalloc +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - smartcard snappy spice ssh static static-user systemtap tci test usb - usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen - xfs +xkb" - -COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus - tilegx" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) - static-user? ( !plugins ) - virtfs? ( xattr ) - vte? ( gtk ) - plugins? ( !static !static-user ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[X] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] )" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-201905[binary] - ~sys-firmware/ipxe-1.0.0_p20190728[binary] - ~sys-firmware/seabios-1.12.0[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre8[binary] - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe - >=sys-firmware/seabios-1.10.2[seavgabios] - sys-firmware/sgabios - )" -PPC64_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.12.0[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - doc? ( dev-python/sphinx ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.5.0-cflags.patch - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 - "${FILESDIR}"/${PN}-4.2.0-ati-vga-crash.patch #719266 - "${WORKDIR}"/patches -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -handle_locales() { - # Make sure locale list is kept up-to-date. - local detected sorted - detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) - sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "PLOCALES: ${sorted}" - eerror " po/*.po: ${detected}" - die "sync PLOCALES" - fi - - # Deal with selective install of locales. - if use nls ; then - # Delete locales the user does not want. #577814 - rm_loc() { rm po/$1.po || die; } - l10n_for_each_disabled_locale_do rm_loc - else - # Cheap hack to disable gettext .mo generation. - rm -f po/*.po - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR LD NM OBJCOPY PKG_CONFIG RANLIB - export WINDRES=${CHOST}-windres - - # Verbose builds - MAKEOPTS+=" V=1" - - # Run after we've applied all patches. - handle_locales - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --with-confsuffix=/qemu - --localstatedir=/var - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable doc docs) - $(use_enable plugins) - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - --disable-bluez - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser jemalloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_notuser sdl-image) - $(conf_notuser seccomp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser vhost-user-fs) - $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - $(conf_notuser xkb xkbcommon) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(printf "%s," "${audio_opts[@]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/app-emulation/qemu/qemu-5.0.0-r1.ebuild b/app-emulation/qemu/qemu-5.0.0-r1.ebuild new file mode 100644 index 000000000000..a9b5ba7a0375 --- /dev/null +++ b/app-emulation/qemu/qemu-5.0.0-r1.ebuild @@ -0,0 +1,841 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="4.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + slirp + tests/fp/berkeley-{test,soft}float-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc + +fdt glusterfs gnutls gtk infiniband iscsi io-uring + jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + smartcard snappy spice ssh static static-user systemtap tci test usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs +xkb zstd" + +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie rx tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus + tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + virtfs? ( caps xattr ) + vte? ( gtk ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing[static-libs(+)] ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-201905[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 + "${FILESDIR}"/${PN}-4.2.0-cflags.patch + "${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch + "${FILESDIR}"/${PN}-5.0.0-ipv6-slirp-CVE-2020-10756.patch #731992 +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --with-confsuffix=/qemu + --localstatedir=/var + --disable-bsd-user + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable plugins) + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser sdl-image) + $(conf_notuser seccomp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + $(conf_notuser xkb xkbcommon) + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-5.0.0-r2.ebuild b/app-emulation/qemu/qemu-5.0.0-r2.ebuild new file mode 100644 index 000000000000..f8bc5f9379ba --- /dev/null +++ b/app-emulation/qemu/qemu-5.0.0-r2.ebuild @@ -0,0 +1,844 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it tr zh_CN" + +FIRMWARE_ABI_VERSION="4.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + tests/fp/berkeley-{test,soft}float-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="amd64 arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc + +fdt glusterfs gnutls gtk infiniband iscsi io-uring + jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap tci test usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs +xkb zstd" + +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + lm32 moxie rx tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus + tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + virtfs? ( caps xattr ) + vte? ( gtk ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing[static-libs(+)] ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-201905[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 + "${FILESDIR}"/${PN}-4.2.0-cflags.patch + "${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch + "${FILESDIR}"/${PN}-5.0.0-ipv6-slirp-CVE-2020-10756.patch #731992 +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --with-confsuffix=/qemu + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable plugins) + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + $(conf_notuser xkb xkbcommon) + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-5.0.0.ebuild b/app-emulation/qemu/qemu-5.0.0.ebuild deleted file mode 100644 index 31bb16d73133..000000000000 --- a/app-emulation/qemu/qemu-5.0.0.ebuild +++ /dev/null @@ -1,837 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -PYTHON_COMPAT=( python{3_6,3_7,3_8} ) -PYTHON_REQ_USE="ncurses,readline" - -PLOCALES="bg de_DE fr_FR hu it tr zh_CN" - -FIRMWARE_ABI_VERSION="4.0.0-r50" - -inherit eutils linux-info toolchain-funcs multilib python-r1 \ - udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils - -if [[ ${PV} = *9999* ]]; then - EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" - EGIT_SUBMODULES=( - slirp - tests/fp/berkeley-{test,soft}float-3 - ui/keycodemapdb - ) - inherit git-r3 - SRC_URI="" -else - SRC_URI="https://download.qemu.org/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" - -LICENSE="GPL-2 LGPL-2 BSD-2" -SLOT="0" - -IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc - +fdt glusterfs gnutls gtk infiniband iscsi io-uring - jemalloc +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs - plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux - smartcard snappy spice ssh static static-user systemtap tci test usb - usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen - xfs +xkb zstd" - -COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel - mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x - sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" -IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie rx tricore unicore32" -IUSE_USER_TARGETS="${COMMON_TARGETS} - aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus - tilegx" - -use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) -use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) -IUSE+=" ${use_softmmu_targets} ${use_user_targets}" - -RESTRICT="!test? ( test )" -# Allow no targets to be built so that people can get a tools-only build. -# Block USE flag configurations known to not work. -REQUIRED_USE="${PYTHON_REQUIRED_USE} - qemu_softmmu_targets_arm? ( fdt ) - qemu_softmmu_targets_microblaze? ( fdt ) - qemu_softmmu_targets_mips64el? ( fdt ) - qemu_softmmu_targets_ppc64? ( fdt ) - qemu_softmmu_targets_ppc? ( fdt ) - qemu_softmmu_targets_riscv32? ( fdt ) - qemu_softmmu_targets_riscv64? ( fdt ) - static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) - static-user? ( !plugins ) - virtfs? ( xattr ) - vte? ( gtk ) - plugins? ( !static !static-user ) -" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# and user/softmmu targets (qemu-*, qemu-system-*). -# -# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. -# -# The attr lib isn't always linked in (although the USE flag is always -# respected). This is because qemu supports using the C library's API -# when available rather than always using the external library. -ALL_DEPEND=" - >=dev-libs/glib-2.0[static-libs(+)] - sys-libs/zlib[static-libs(+)] - python? ( ${PYTHON_DEPS} ) - systemtap? ( dev-util/systemtap ) - xattr? ( sys-apps/attr[static-libs(+)] )" - -# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) -# softmmu targets (qemu-system-*). -SOFTMMU_TOOLS_DEPEND=" - dev-libs/libxml2[static-libs(+)] - xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) - >=x11-libs/pixman-0.28.0[static-libs(+)] - accessibility? ( - app-accessibility/brltty[api] - app-accessibility/brltty[static-libs(+)] - ) - aio? ( dev-libs/libaio[static-libs(+)] ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bzip2? ( app-arch/bzip2[static-libs(+)] ) - capstone? ( dev-libs/capstone:= ) - caps? ( sys-libs/libcap-ng[static-libs(+)] ) - curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) - fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) - glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) - gnutls? ( - dev-libs/nettle:=[static-libs(+)] - >=net-libs/gnutls-3.0:=[static-libs(+)] - ) - gtk? ( - x11-libs/gtk+:3 - vte? ( x11-libs/vte:2.91 ) - ) - infiniband? ( - sys-fabric/libibumad:=[static-libs(+)] - sys-fabric/libibverbs:=[static-libs(+)] - sys-fabric/librdmacm:=[static-libs(+)] - ) - iscsi? ( net-libs/libiscsi ) - io-uring? ( sys-libs/liburing[static-libs(+)] ) - jemalloc? ( dev-libs/jemalloc ) - jpeg? ( virtual/jpeg:0=[static-libs(+)] ) - lzo? ( dev-libs/lzo:2[static-libs(+)] ) - ncurses? ( - sys-libs/ncurses:0=[unicode] - sys-libs/ncurses:0=[static-libs(+)] - ) - nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) - numa? ( sys-process/numactl[static-libs(+)] ) - opengl? ( - virtual/opengl - media-libs/libepoxy[static-libs(+)] - media-libs/mesa[static-libs(+)] - media-libs/mesa[egl,gbm] - ) - png? ( media-libs/libpng:0=[static-libs(+)] ) - pulseaudio? ( media-sound/pulseaudio ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) - sdl? ( - media-libs/libsdl2[video] - media-libs/libsdl2[static-libs(+)] - ) - sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) - seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) - smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) - snappy? ( app-arch/snappy:= ) - spice? ( - >=app-emulation/spice-protocol-0.12.3 - >=app-emulation/spice-0.12.0[static-libs(+)] - ) - ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) - usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) - usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) - vde? ( net-misc/vde[static-libs(+)] ) - virgl? ( media-libs/virglrenderer[static-libs(+)] ) - virtfs? ( sys-libs/libcap ) - xen? ( app-emulation/xen-tools:= ) - xfs? ( sys-fs/xfsprogs[static-libs(+)] ) - zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) -" - -X86_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-201905[binary] - ~sys-firmware/ipxe-1.0.0_p20190728[binary] - ~sys-firmware/seabios-1.12.0[binary,seavgabios] - ~sys-firmware/sgabios-0.1_pre8[binary] - ) - !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf - sys-firmware/ipxe - >=sys-firmware/seabios-1.10.2[seavgabios] - sys-firmware/sgabios - )" -PPC64_FIRMWARE_DEPEND=" - pin-upstream-blobs? ( - ~sys-firmware/seabios-1.12.0[binary,seavgabios] - ) - !pin-upstream-blobs? ( - >=sys-firmware/seabios-1.10.2[seavgabios] - ) -" - -BDEPEND=" - $(python_gen_impl_dep) - dev-lang/perl - sys-apps/texinfo - virtual/pkgconfig - doc? ( dev-python/sphinx ) - gtk? ( nls? ( sys-devel/gettext ) ) - test? ( - dev-libs/glib[utils] - sys-devel/bc - ) -" -CDEPEND=" - !static? ( - ${ALL_DEPEND//\[static-libs(+)]} - ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} - ) - qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) - qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) -" -DEPEND="${CDEPEND} - kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) - static? ( - ${ALL_DEPEND} - ${SOFTMMU_TOOLS_DEPEND} - ) - static-user? ( ${ALL_DEPEND} )" -RDEPEND="${CDEPEND} - acct-group/kvm - selinux? ( sec-policy/selinux-qemu )" - -PATCHES=( - "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch - "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 - "${FILESDIR}"/${PN}-4.2.0-cflags.patch - "${FILESDIR}"/${PN}-5.0.0-epoll-strace.patch -) - -QA_PREBUILT=" - usr/share/qemu/hppa-firmware.img - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper - usr/share/qemu/s390-ccw.img - usr/share/qemu/s390-netboot.img - usr/share/qemu/u-boot.e500" - -QA_WX_LOAD="usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-microblazeel - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-or1k - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus - usr/bin/qemu-s390x - usr/bin/qemu-unicore32" - -DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the -kernel module loaded before running kvm. The easiest way to ensure that the -kernel module is loaded is to load it on boot. - For AMD CPUs the module is called 'kvm-amd'. - For Intel CPUs the module is called 'kvm-intel'. -Please review /etc/conf.d/modules for how to load these. - -Make sure your user is in the 'kvm' group. Just run - $ gpasswd -a kvm -then have re-login. - -For brand new installs, the default permissions on /dev/kvm might not let -you access it. You can tell udev to reset ownership/perms: - $ udevadm trigger -c add /dev/kvm - -If you want to register binfmt handlers for qemu user targets: -For openrc: - # rc-update add qemu-binfmt -For systemd: - # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use the" - ERROR_TUN+=" virtual network device if using -net tap." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" - ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" - ERROR_VHOST_NET+=" support" - - if use amd64 || use x86 || use amd64-linux || use x86-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - use python && CONFIG_CHECK+=" ~DEBUG_FS" - ERROR_DEBUG_FS="debugFS support required for kvm_stat" - - # Now do the actual checks setup above - check_extra_config - fi - fi - - if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then - eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" - eerror "instances are still pointing to it. Please update your" - eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" - eerror "and the right system binary (e.g. qemu-system-x86_64)." - die "update your virt configs to not use qemu-kvm" - fi -} - -# Sanity check to make sure target lists are kept up-to-date. -check_targets() { - local var=$1 mak=$2 - local detected sorted - - pushd "${S}"/default-configs >/dev/null || die - - # Force C locale until glibc is updated. #564936 - detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) - sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "${var}: ${sorted}" - eerror "$(printf '%-*s' ${#var} configure): ${detected}" - die "sync ${var} to the list of targets" - fi - - popd >/dev/null -} - -handle_locales() { - # Make sure locale list is kept up-to-date. - local detected sorted - detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) - sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) - if [[ ${sorted} != "${detected}" ]] ; then - eerror "The ebuild needs to be kept in sync." - eerror "PLOCALES: ${sorted}" - eerror " po/*.po: ${detected}" - die "sync PLOCALES" - fi - - # Deal with selective install of locales. - if use nls ; then - # Delete locales the user does not want. #577814 - rm_loc() { rm po/$1.po || die; } - l10n_for_each_disabled_locale_do rm_loc - else - # Cheap hack to disable gettext .mo generation. - rm -f po/*.po - fi -} - -src_prepare() { - check_targets IUSE_SOFTMMU_TARGETS softmmu - check_targets IUSE_USER_TARGETS linux-user - - default - - # Use correct toolchain to fix cross-compiling - tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB - export WINDRES=${CHOST}-windres - - # Verbose builds - MAKEOPTS+=" V=1" - - # Run after we've applied all patches. - handle_locales - - # Remove bundled copy of libfdt - rm -r dtc || die -} - -## -# configures qemu based on the build directory and the build type -# we are using. -# -qemu_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - local buildtype=$1 - local builddir="${S}/${buildtype}-build" - - mkdir "${builddir}" - - local conf_opts=( - --prefix=/usr - --sysconfdir=/etc - --bindir=/usr/bin - --libdir=/usr/$(get_libdir) - --datadir=/usr/share - --docdir=/usr/share/doc/${PF}/html - --mandir=/usr/share/man - --with-confsuffix=/qemu - --localstatedir=/var - --disable-bsd-user - --disable-guest-agent - --disable-strip - --disable-werror - # We support gnutls/nettle for crypto operations. It is possible - # to use gcrypt when gnutls/nettle are disabled (but not when they - # are enabled), but it's not really worth the hassle. Disable it - # all the time to avoid automatically detecting it. #568856 - --disable-gcrypt - --python="${PYTHON}" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - --host-cc="$(tc-getBUILD_CC)" - $(use_enable debug debug-info) - $(use_enable debug debug-tcg) - $(use_enable doc docs) - $(use_enable plugins) - $(use_enable tci tcg-interpreter) - $(use_enable xattr attr) - ) - - # Disable options not used by user targets. This simplifies building - # static user targets (USE=static-user) considerably. - conf_notuser() { - if [[ ${buildtype} == "user" ]] ; then - echo "--disable-${2:-$1}" - else - use_enable "$@" - fi - } - conf_opts+=( - $(conf_notuser accessibility brlapi) - $(conf_notuser aio linux-aio) - $(conf_notuser bzip2) - $(conf_notuser capstone) - $(conf_notuser caps cap-ng) - $(conf_notuser curl) - $(conf_notuser fdt) - $(conf_notuser glusterfs) - $(conf_notuser gnutls) - $(conf_notuser gnutls nettle) - $(conf_notuser gtk) - $(conf_notuser infiniband rdma) - $(conf_notuser iscsi libiscsi) - $(conf_notuser io-uring linux-io-uring) - $(conf_notuser jemalloc jemalloc) - $(conf_notuser jpeg vnc-jpeg) - $(conf_notuser kernel_linux kvm) - $(conf_notuser lzo) - $(conf_notuser ncurses curses) - $(conf_notuser nfs libnfs) - $(conf_notuser numa) - $(conf_notuser opengl) - $(conf_notuser png vnc-png) - $(conf_notuser rbd) - $(conf_notuser sasl vnc-sasl) - $(conf_notuser sdl) - $(conf_notuser sdl-image) - $(conf_notuser seccomp) - $(conf_notuser smartcard) - $(conf_notuser snappy) - $(conf_notuser spice) - $(conf_notuser ssh libssh) - $(conf_notuser usb libusb) - $(conf_notuser usbredir usb-redir) - $(conf_notuser vde) - $(conf_notuser vhost-net) - $(conf_notuser vhost-user-fs) - $(conf_notuser virgl virglrenderer) - $(conf_notuser virtfs) - $(conf_notuser vnc) - $(conf_notuser vte) - $(conf_notuser xen) - $(conf_notuser xen xen-pci-passthrough) - $(conf_notuser xfs xfsctl) - $(conf_notuser xkb xkbcommon) - $(conf_notuser zstd) - ) - - if [[ ${buildtype} == "user" ]] ; then - conf_opts+=( --disable-libxml2 ) - else - conf_opts+=( --enable-libxml2 ) - fi - - if [[ ! ${buildtype} == "user" ]] ; then - # audio options - local audio_opts=( - # Note: backend order matters here: #716202 - # We iterate from higher-level to lower level. - $(usex pulseaudio pa "") - $(usev sdl) - $(usev alsa) - $(usev oss) - ) - conf_opts+=( - --audio-drv-list=$(printf "%s," "${audio_opts[@]}") - ) - fi - - case ${buildtype} in - user) - conf_opts+=( - --enable-linux-user - --disable-system - --disable-blobs - --disable-tools - ) - local static_flag="static-user" - ;; - softmmu) - conf_opts+=( - --disable-linux-user - --enable-system - --disable-tools - ) - local static_flag="static" - ;; - tools) - conf_opts+=( - --disable-linux-user - --disable-system - --disable-blobs - --enable-tools - ) - local static_flag="static" - ;; - esac - - local targets="${buildtype}_targets" - [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) - - # Add support for SystemTAP - use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) - - # We always want to attempt to build with PIE support as it results - # in a more secure binary. But it doesn't work with static or if - # the current GCC doesn't have PIE support. - if use ${static_flag}; then - conf_opts+=( --static --disable-pie ) - else - tc-enables-pie && conf_opts+=( --enable-pie ) - fi - - echo "../configure ${conf_opts[*]}" - cd "${builddir}" - ../configure "${conf_opts[@]}" || die "configure failed" - - # FreeBSD's kernel does not support QEMU assigning/grabbing - # host USB devices yet - use kernel_FreeBSD && \ - sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak -} - -src_configure() { - local target - - python_setup - - softmmu_targets= softmmu_bins=() - user_targets= user_bins=() - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - if use "qemu_softmmu_targets_${target}"; then - softmmu_targets+=",${target}-softmmu" - softmmu_bins+=( "qemu-system-${target}" ) - fi - done - - for target in ${IUSE_USER_TARGETS} ; do - if use "qemu_user_targets_${target}"; then - user_targets+=",${target}-linux-user" - user_bins+=( "qemu-${target}" ) - fi - done - - softmmu_targets=${softmmu_targets#,} - user_targets=${user_targets#,} - - [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" - [[ -n ${user_targets} ]] && qemu_src_configure "user" - qemu_src_configure "tools" -} - -src_compile() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - default - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - default - fi - - cd "${S}/tools-build" - default -} - -src_test() { - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - pax-mark m */qemu-system-* #515550 - emake check - fi -} - -qemu_python_install() { - python_domodule "${S}/python/qemu" - - python_doscript "${S}/scripts/kvm/vmxcap" - python_doscript "${S}/scripts/qmp/qmp-shell" - python_doscript "${S}/scripts/qmp/qemu-ga-client" -} - -# Generate binfmt support files. -# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) -# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) -generate_initd() { - local out="${T}/qemu-binfmt" - local out_systemd="${T}/qemu.conf" - local d="${T}/binfmt.d" - - einfo "Generating qemu binfmt scripts and configuration files" - - # Generate the debian fragments first. - mkdir -p "${d}" - "${S}"/scripts/qemu-binfmt-conf.sh \ - --debian \ - --exportdir "${d}" \ - --qemu-path "${EPREFIX}/usr/bin" \ - || die - # Then turn the fragments into a shell script we can source. - sed -E -i \ - -e 's:^([^ ]+) (.*)$:\1="\2":' \ - "${d}"/* || die - - # Generate the init.d script by assembling the fragments from above. - local f qcpu package interpreter magic mask - cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die - for f in "${d}"/qemu-* ; do - source "${f}" - - # Normalize the cpu logic like we do in the init.d for the native cpu. - qcpu=${package#qemu-} - case ${qcpu} in - arm*) qcpu="arm";; - mips*) qcpu="mips";; - ppc*) qcpu="ppc";; - s390*) qcpu="s390";; - sh*) qcpu="sh";; - sparc*) qcpu="sparc";; - esac - - # we use 'printf' here to be portable across 'sh' - # implementations: #679168 - cat <>"${out}" - if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then - printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register - fi -EOF - - echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" - - done - cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die -} - -src_install() { - if [[ -n ${user_targets} ]]; then - cd "${S}/user-build" - emake DESTDIR="${ED}" install - - # Install binfmt handler init script for user targets. - generate_initd - doinitd "${T}/qemu-binfmt" - - # Install binfmt/qemu.conf. - insinto "/usr/share/qemu/binfmt.d" - doins "${T}/qemu.conf" - fi - - if [[ -n ${softmmu_targets} ]]; then - cd "${S}/softmmu-build" - emake DESTDIR="${ED}" install - - # This might not exist if the test failed. #512010 - [[ -e check-report.html ]] && dodoc check-report.html - - if use kernel_linux; then - udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules - fi - - if use python; then - python_foreach_impl qemu_python_install - fi - fi - - cd "${S}/tools-build" - emake DESTDIR="${ED}" install - - # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 - pushd "${ED}"/usr/bin >/dev/null - pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 - popd >/dev/null - - # Install config file example for qemu-bridge-helper - insinto "/etc/qemu" - doins "${FILESDIR}/bridge.conf" - - cd "${S}" - dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt - newdoc pc-bios/README README.pc-bios - - # Disallow stripping of prebuilt firmware files. - dostrip -x ${QA_PREBUILT} - - if [[ -n ${softmmu_targets} ]]; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${ED}/usr/share/qemu/bios.bin" - rm "${ED}/usr/share/qemu/bios-256k.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin - fi - - # Remove vgabios since we're using the seavgabios packaged one - rm "${ED}/usr/share/qemu/vgabios.bin" - rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" - rm "${ED}/usr/share/qemu/vgabios-qxl.bin" - rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" - rm "${ED}/usr/share/qemu/vgabios-virtio.bin" - rm "${ED}/usr/share/qemu/vgabios-vmware.bin" - # PPC64 loads vgabios-stdvga - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then - dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin - dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin - dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin - dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin - dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin - dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin - fi - - # Remove sgabios since we're using the sgabios packaged one - rm "${ED}/usr/share/qemu/sgabios.bin" - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin - fi - - # Remove iPXE since we're using the iPXE packaged one - rm "${ED}"/usr/share/qemu/pxe-*.rom - if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then - dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom - dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom - dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom - dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom - dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom - dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom - fi - fi - - DISABLE_AUTOFORMATTING=true - readme.gentoo_create_doc -} - -firmware_abi_change() { - local pv - for pv in ${REPLACING_VERSIONS}; do - if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then - return 0 - fi - done - return 1 -} - -pkg_postinst() { - if [[ -n ${softmmu_targets} ]] && use kernel_linux; then - udev_reload - fi - - xdg_icon_cache_update - - [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ - fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper - - DISABLE_AUTOFORMATTING=true - readme.gentoo_print_elog - - if use pin-upstream-blobs && firmware_abi_change; then - ewarn "This version of qemu pins new versions of firmware blobs:" - ewarn " $(best_version sys-firmware/edk2-ovmf)" - ewarn " $(best_version sys-firmware/ipxe)" - ewarn " $(best_version sys-firmware/seabios)" - ewarn " $(best_version sys-firmware/sgabios)" - ewarn "This might break resume of hibernated guests (started with a different" - ewarn "firmware version) and live migration to/from qemu versions with different" - ewarn "firmware. Please (cold) restart all running guests. For functional" - ewarn "guest migration ensure that all" - ewarn "hosts run at least" - ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." - fi -} - -pkg_info() { - echo "Using:" - echo " $(best_version app-emulation/spice-protocol)" - echo " $(best_version sys-firmware/edk2-ovmf)" - if has_version 'sys-firmware/edk2-ovmf[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/ipxe)" - echo " $(best_version sys-firmware/seabios)" - if has_version 'sys-firmware/seabios[binary]'; then - echo " USE=binary" - else - echo " USE=''" - fi - echo " $(best_version sys-firmware/sgabios)" -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/app-emulation/qemu/qemu-5.1.0.ebuild b/app-emulation/qemu/qemu-5.1.0.ebuild new file mode 100644 index 000000000000..dc2c1447afa0 --- /dev/null +++ b/app-emulation/qemu/qemu-5.1.0.ebuild @@ -0,0 +1,843 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +PYTHON_REQ_USE="ncurses,readline" + +PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN" + +FIRMWARE_ABI_VERSION="4.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 \ + udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + tests/fp/berkeley-{test,soft}float-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc + +fdt glusterfs gnutls gtk infiniband iscsi io-uring + jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap tci test usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs +xkb zstd" + +COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel + mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x + sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" +IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} + avr lm32 moxie rx tricore unicore32" +IUSE_USER_TARGETS="${COMMON_TARGETS} + aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus + tilegx" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + virtfs? ( caps xattr ) + vte? ( gtk ) + plugins? ( !static !static-user ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + >=dev-libs/glib-2.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] )" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + dev-libs/libxml2[static-libs(+)] + xkb? ( x11-libs/libxkbcommon[static-libs(+)] ) + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing[static-libs(+)] ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl,gbm] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-201905[binary] + ~sys-firmware/ipxe-1.0.0_p20190728[binary] + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre8[binary] + ) + !pin-upstream-blobs? ( + sys-firmware/edk2-ovmf + sys-firmware/ipxe + >=sys-firmware/seabios-1.10.2[seavgabios] + sys-firmware/sgabios + )" +PPC64_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-1.12.0[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-1.10.2[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + ) + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} ) +" +DEPEND="${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 + "${FILESDIR}"/${PN}-4.2.0-cflags.patch + "${FILESDIR}"/${PN}-5.1.0-pixman-for-vhost-user-gpu.patch +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500" + +QA_WX_LOAD="usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-ppc64abi32 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a kvm +then have re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/default-configs >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +handle_locales() { + # Make sure locale list is kept up-to-date. + local detected sorted + detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u)) + sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "PLOCALES: ${sorted}" + eerror " po/*.po: ${detected}" + die "sync PLOCALES" + fi + + # Deal with selective install of locales. + if use nls ; then + # Delete locales the user does not want. #577814 + rm_loc() { rm po/$1.po || die; } + l10n_for_each_disabled_locale_do rm_loc + else + # Cheap hack to disable gettext .mo generation. + rm -f po/*.po + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Run after we've applied all patches. + handle_locales + + # Remove bundled copy of libfdt + rm -r dtc || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --with-confsuffix=/qemu + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable plugins) + $(use_enable tci tcg-interpreter) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(conf_notuser fdt) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_notuser sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser vhost-user-fs) + $(conf_notuser virgl virglrenderer) + $(conf_notuser virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + $(conf_notuser xkb xkbcommon) + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=dtrace ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + # PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + rm "${ED}/usr/share/qemu/sgabios.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + rm "${ED}"/usr/share/qemu/pxe-*.rom + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 8b929852984f..dc2c1447afa0 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -16,7 +16,6 @@ inherit eutils linux-info toolchain-funcs multilib python-r1 \ if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" EGIT_SUBMODULES=( - slirp tests/fp/berkeley-{test,soft}float-3 ui/keycodemapdb ) @@ -36,8 +35,10 @@ SLOT="0" IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc +fdt glusterfs gnutls gtk infiniband iscsi io-uring jemalloc +jpeg kernel_linux - kernel_FreeBSD lzo ncurses nfs nls numa opengl +oss +pin-upstream-blobs + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp smartcard snappy spice ssh static static-user systemtap tci test usb usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen xfs +xkb zstd" @@ -46,7 +47,7 @@ COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb" IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} - lm32 moxie rx tricore unicore32" + avr lm32 moxie rx tricore unicore32" IUSE_USER_TARGETS="${COMMON_TARGETS} aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx" @@ -68,7 +69,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} qemu_softmmu_targets_riscv64? ( fdt ) static? ( static-user !alsa !gtk !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) - virtfs? ( xattr ) + virtfs? ( caps xattr ) vte? ( gtk ) plugins? ( !static !static-user ) " @@ -124,6 +125,7 @@ SOFTMMU_TOOLS_DEPEND=" jemalloc? ( dev-libs/jemalloc ) jpeg? ( virtual/jpeg:0=[static-libs(+)] ) lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) ncurses? ( sys-libs/ncurses:0=[unicode] sys-libs/ncurses:0=[static-libs(+)] @@ -146,6 +148,7 @@ SOFTMMU_TOOLS_DEPEND=" ) sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp ) smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) snappy? ( app-arch/snappy:= ) spice? ( @@ -221,6 +224,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch "${FILESDIR}"/${PN}-4.0.0-mkdir_systemtap.patch #684902 "${FILESDIR}"/${PN}-4.2.0-cflags.patch + "${FILESDIR}"/${PN}-5.1.0-pixman-for-vhost-user-gpu.patch ) QA_PREBUILT=" @@ -279,7 +283,7 @@ For systemd: pkg_pretend() { if use kernel_linux && kernel_is lt 2 6 25; then - eerror "This version of KVM requres a host kernel of 2.6.25 or higher." + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." elif use kernel_linux; then if ! linux_config_exists; then eerror "Unable to check your kernel for KVM support" @@ -410,6 +414,7 @@ qemu_src_configure() { --with-confsuffix=/qemu --localstatedir=/var --disable-bsd-user + --disable-containers # bug #732972 --disable-guest-agent --disable-strip --disable-werror @@ -458,6 +463,7 @@ qemu_src_configure() { $(conf_notuser jpeg vnc-jpeg) $(conf_notuser kernel_linux kvm) $(conf_notuser lzo) + $(conf_notuser multipath mpath) $(conf_notuser ncurses curses) $(conf_notuser nfs libnfs) $(conf_notuser numa) @@ -468,6 +474,7 @@ qemu_src_configure() { $(conf_notuser sdl) $(conf_notuser sdl-image) $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) $(conf_notuser smartcard) $(conf_notuser snappy) $(conf_notuser spice) diff --git a/app-emulation/slirp4netns/Manifest b/app-emulation/slirp4netns/Manifest index 78ffd3c563b0..2f0c54a7c264 100644 --- a/app-emulation/slirp4netns/Manifest +++ b/app-emulation/slirp4netns/Manifest @@ -1,5 +1,9 @@ DIST slirp4netns-1.0.1.tar.gz 51911 BLAKE2B d125dd2c24fd7a817d2b8f16c6bac66399a4a0f37c49d43541f336e7ff09673bca2d6ed2c62cc856034b8e2f6e11ac1ff3753d3546148e68ddf085e8b9aca354 SHA512 4947e32d88c3c8f1b7b2e94a1e73041a48cc8ddf75ffaf691d44cb6ebeaef5cf0b0abb7a8df8919682dfc854a76d73fc5bdebcf01b3ace97be187068d704bf63 DIST slirp4netns-1.1.1.tar.gz 55391 BLAKE2B 346fd9a0e52247488573182bf747d3ba249ba5cb8d991ede8d0dedb7a5b9c8c64ee56fe4a94ae6deffc98f85866aa100300b42c75f1fc4de3af2564a00082ac5 SHA512 365293c82f58c89b82515428f157c7e4709b8b04b6736e75cc549bddb3ec2a85b33b198ae55ee173b93472cb33dec64949e50e8473b052ce33c61ff777f1393f +DIST slirp4netns-1.1.3.tar.gz 55231 BLAKE2B bbe0803ae2ad453519963865e53a3e020bebb9ee9658ae552745247be4b08397e8649bd52ed46a00062aa3ca804529daa5454fb591e2b128d3f1f31f9d4229c2 SHA512 6259099eb8896aef086961d1a6dbbdaffe24af255a7ed55f2243a87e9af54956041a28de3f8af9c8a17e59925822109545c53757af2feeeefa7ce603a3b99930 +DIST slirp4netns-1.1.4.tar.gz 55346 BLAKE2B 86716ec9f42ae0087e9e7d142683f53b986275bce20b5ab0a33d0cdd63778adfeeadc86e5abb52d4a7e3e89baa0440c1a99bde920eeb2ed5293046e451d8ad01 SHA512 a6a26c55bdd4f50e668f7feeee3cd1d077e1ca9bd5bad5bbb8c47b15d366af4b1f2900241bedcd5a974a7597f43b17f970662271ec1987fbb6291c50470fa0a8 EBUILD slirp4netns-1.0.1.ebuild 942 BLAKE2B 970fc2e131a194f9387230c3ce6b2516797f9cf72a0e9a7456068716cc3cff9cad4df827b55f751b44497a253eba9566bd3b175963c28f4fa7c3637553560f15 SHA512 340f4ec282e903a44770c10b7b74580bf14562f627a8fcf53b148a37d55ea85da8849960a9ebcd69a146f7a9ee1fe95c87a374c36da32149234a9eef0a86aa2b EBUILD slirp4netns-1.1.1.ebuild 942 BLAKE2B 970fc2e131a194f9387230c3ce6b2516797f9cf72a0e9a7456068716cc3cff9cad4df827b55f751b44497a253eba9566bd3b175963c28f4fa7c3637553560f15 SHA512 340f4ec282e903a44770c10b7b74580bf14562f627a8fcf53b148a37d55ea85da8849960a9ebcd69a146f7a9ee1fe95c87a374c36da32149234a9eef0a86aa2b +EBUILD slirp4netns-1.1.3.ebuild 942 BLAKE2B 970fc2e131a194f9387230c3ce6b2516797f9cf72a0e9a7456068716cc3cff9cad4df827b55f751b44497a253eba9566bd3b175963c28f4fa7c3637553560f15 SHA512 340f4ec282e903a44770c10b7b74580bf14562f627a8fcf53b148a37d55ea85da8849960a9ebcd69a146f7a9ee1fe95c87a374c36da32149234a9eef0a86aa2b +EBUILD slirp4netns-1.1.4.ebuild 942 BLAKE2B 970fc2e131a194f9387230c3ce6b2516797f9cf72a0e9a7456068716cc3cff9cad4df827b55f751b44497a253eba9566bd3b175963c28f4fa7c3637553560f15 SHA512 340f4ec282e903a44770c10b7b74580bf14562f627a8fcf53b148a37d55ea85da8849960a9ebcd69a146f7a9ee1fe95c87a374c36da32149234a9eef0a86aa2b MISC metadata.xml 601 BLAKE2B eac6bf1b21371c913f648e944a1ba75314e772c1f0f5fdeda9d4c49cf279a15c19c9f6347ec1a3df236a6147c3d01f4084e161a81c2ee1e4db55cc9f8508d26f SHA512 d81b6889e71bf3fdc539f6c5ca057a8900f13009eafb711c4d83bb0cb349cf49f9253c0b8207a4c1f4c3b084bc9c9b0b91e75109843662fb72d25a2485cbf7dd diff --git a/app-emulation/slirp4netns/slirp4netns-1.1.3.ebuild b/app-emulation/slirp4netns/slirp4netns-1.1.3.ebuild new file mode 100644 index 000000000000..2d9af4a06ab7 --- /dev/null +++ b/app-emulation/slirp4netns/slirp4netns-1.1.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="User-mode networking for unprivileged network namespaces" +HOMEPAGE="https://github.com/rootless-containers/slirp4netns" +SRC_URI="https://github.com/rootless-containers/slirp4netns/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + dev-libs/glib:2= + dev-libs/libpcre:= + net-libs/libslirp:= + sys-libs/libseccomp:= + sys-libs/libcap:=" + +DEPEND="${RDEPEND} + virtual/pkgconfig" +RESTRICT="test" + +src_prepare() { + # Respect AR variable for bug 722162. + sed -e 's|^AC_PROG_CC$|AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])\nAC_PROG_AR\n\0|' \ + -i configure.ac || die + eautoreconf + default +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "You need to have the tun kernel module loaded in order to have" + elog "slirp4netns working" + fi +} diff --git a/app-emulation/slirp4netns/slirp4netns-1.1.4.ebuild b/app-emulation/slirp4netns/slirp4netns-1.1.4.ebuild new file mode 100644 index 000000000000..2d9af4a06ab7 --- /dev/null +++ b/app-emulation/slirp4netns/slirp4netns-1.1.4.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="User-mode networking for unprivileged network namespaces" +HOMEPAGE="https://github.com/rootless-containers/slirp4netns" +SRC_URI="https://github.com/rootless-containers/slirp4netns/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +KEYWORDS="~amd64" +LICENSE="GPL-2" +SLOT="0" + +RDEPEND=" + dev-libs/glib:2= + dev-libs/libpcre:= + net-libs/libslirp:= + sys-libs/libseccomp:= + sys-libs/libcap:=" + +DEPEND="${RDEPEND} + virtual/pkgconfig" +RESTRICT="test" + +src_prepare() { + # Respect AR variable for bug 722162. + sed -e 's|^AC_PROG_CC$|AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])\nAC_PROG_AR\n\0|' \ + -i configure.ac || die + eautoreconf + default +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "You need to have the tun kernel module loaded in order to have" + elog "slirp4netns working" + fi +} diff --git a/app-emulation/spice-protocol/Manifest b/app-emulation/spice-protocol/Manifest index 7559e8512a14..5ef17c05821a 100644 --- a/app-emulation/spice-protocol/Manifest +++ b/app-emulation/spice-protocol/Manifest @@ -1,4 +1,4 @@ DIST spice-protocol-0.14.1.tar.bz2 73444 BLAKE2B 12050c38ee3d24814b57a340a88423352edae6412b5a20e27d59b7235e753f51aaf757f7e9e6ce702d0b0c0afeadfde7f3937725ae4715ae4dc4da20ee7fd663 SHA512 88b0e652564a1f826ee6d3c165ab05c40d13f366567db3840805f03d433d13d7f722225219c26759770d2cde33221fe6d97528521d0eb14bc069cd7ce9af8482 -EBUILD spice-protocol-0.14.1.ebuild 391 BLAKE2B ea5409351da04760ffd9c1bf5466f8044bff868d5612940882c5b440337086ee140a709799e78c43abb8d784db4d0d0764f2a2277665669b91feb25084884a6c SHA512 74b4e9d993bcc9eedcdb2b63b64ebaa7b343c80f27dbb921455f0cabf0201c550a3e7d30ea6817e6e6a4d6874161c7451b0fb070d7e93e1e3fe0f0ed68fd5879 +EBUILD spice-protocol-0.14.1.ebuild 390 BLAKE2B 2fe31beff3e75d2282bbbee4e0386844cb248f61a737c1c76a731d7896b154b889b2ccc1d2dab36814e6607630d687d07a89aed3ac0539be37a479c1be54b978 SHA512 cf80db041d23c6a89fda4a6cfd066e69931e5aed09783cebc84917ea3b7148de7494554b20522271bb918c2795b76d600e7a5d9b04f4c2d286b4ce41952a63eb EBUILD spice-protocol-9999.ebuild 566 BLAKE2B 19bfd31a646d468f0b77ccc704156ca2e723acb6c3974d6bd036bf9fe25afd4152c6c4a4defd7165cdf4c5f8fcf597e09fde7caa2f047bf141029e7ea13f186d SHA512 dea4bf3539e88112fd65b23cf192ecdf9695723aee89986460d357010ca816cff64f4ee7d6541e3aa0dda9176c16ace57d979691e533028d0940b432f5acc20d MISC metadata.xml 271 BLAKE2B 0ac34325897226d2062f0b77cc069fcacd6026432b276adcdc2e7c9ef532cc1900855dd821d0b6314ac77488fd0695f916e821fc11148f3b9f2753bc97afbe2f SHA512 0cd444be2e9b4a1530671dc4fc88a2177541dceb453dca10a1778938d8f114caaa55a01551b662c29e0e775aa9e9df9389b4a5d5ab4fba643da447ac2e7aca32 diff --git a/app-emulation/spice-protocol/spice-protocol-0.14.1.ebuild b/app-emulation/spice-protocol/spice-protocol-0.14.1.ebuild index 909700ae97c4..4c27cafcadab 100644 --- a/app-emulation/spice-protocol/spice-protocol-0.14.1.ebuild +++ b/app-emulation/spice-protocol/spice-protocol-0.14.1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2" LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" IUSE="" DEPEND="" diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest index 10fe7c9fe6ab..e94321c7482f 100644 --- a/app-emulation/spice/Manifest +++ b/app-emulation/spice/Manifest @@ -1,5 +1,5 @@ AUX README.gentoo 270 BLAKE2B 979c3e8d2a3c1d4f30af8f2d9954434dd685abf42992abf0e63e9dbe2d16d8fb3b135ecf3b81344e12d585ed92543d6b8adffb01e55772964de0f97f320d785c SHA512 9202046d629d12eee0435bb0ee8bafc1d8a0b52784275a7b3989fd430de8ed0ec2e59cfdf963a58494a05296a55bc99fe7095e661398182d62286e8816895dd1 DIST spice-0.14.3.tar.bz2 1504304 BLAKE2B be655e1d4c48dae29903ab8e0dc52da63723e3252052afccc9587065531f28c8af7dbab4c585093f26d98f2273c6e734a553c18d4779a9f4464334ae1764f682 SHA512 9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4 -EBUILD spice-0.14.3.ebuild 2391 BLAKE2B 39cdcbee8e91e11c224db2352678d047db192e68d06211c8edafb8e2890ba84e73d6b180d1fde144de861dea4ed5833e733cd978fd2345e0afd221d18bf01d36 SHA512 8bd3bda2b7eb97de0059bd28505f0d906a385c969ecbbcec5965a21cc372a4123e1546fb6550e06c82fc4e5d5495e7e22ec2da9c7b09c1a6892ff3e3359ead60 +EBUILD spice-0.14.3.ebuild 2390 BLAKE2B 6ce0f9e0fb8d84ff21d378a31ce732c45d8aaf415f2cbf088b25981914c4f1272808897c7f04bc6b1a797751949d0b36891e61d426d43f1bf26d017617d4888c SHA512 bdaa32b67bd7c306c7f8cebf0253a428f84ed8affbd33ff67b400406370842b816ff757aa262cb6c7aa8cea833cd11a0f44188727fd6331ee17b1fbb8f31ba66 EBUILD spice-9999.ebuild 2262 BLAKE2B 2edd72bcb60e1ad6bf71cc26d17bfc85182c352e2e8985eb65e6493b8213a23ebca0b9cf701ba256caa18041c5e1c4539434462ee65fefe4ac362b284dfdf4aa SHA512 ec1f171704b23bb24080f5e009158dc91ccff653c958751ce038472d0ef16f0e534200c47cfecb99bb1484ecff3644f0ede6a6b92a87d8ba70f0c55ed73ddc17 MISC metadata.xml 385 BLAKE2B 599bae33d9264b8b3b4474b0d2234d66e6c6f2cd3da1710bfea64f75570264da7f4de712cecb95408a059f70e3dba2de2a421c02f1f728e39c2bf913c2c570a0 SHA512 c75966298d69fb56b3e16c98b0cc7b3b2514d2ad2a6b790777c00493754e678388f0eb17fbabc6f58a667883e87d2a4f19c2a1c34f5c87f81fb13a8948ab85c8 diff --git a/app-emulation/spice/spice-0.14.3.ebuild b/app-emulation/spice/spice-0.14.3.ebuild index 625486fef66e..cfce2f9d50a5 100644 --- a/app-emulation/spice/spice-0.14.3.ebuild +++ b/app-emulation/spice/spice-0.14.3.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://www.spice-space.org/download/releases/spice-server/${P}.tar.bz2 LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 x86" +KEYWORDS="amd64 arm64 ~ppc64 x86" IUSE="libressl lz4 sasl smartcard static-libs gstreamer" # the libspice-server only uses the headers of libcacard diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest index 4f87f101695d..0378b37cec4c 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -3,4 +3,4 @@ DIST vagrant-2.2.7.tar.gz 2173893 BLAKE2B bf905cb25a905e4fb79ce9c1fb59ad5520b517 DIST vagrant-2.2.9.tar.gz 2215868 BLAKE2B 6d40827c91c86f6b11865d9949e5313c419456c573686944ecd0d1874323aa81d6f26178d5b7a16fee701c513a98b3483dbea0531d9d77dee7b7e284004e17b3 SHA512 15e230bcf336615f0d49a2c40db36f7f26a9f0f6fd42d2ce801f28afc663aadded4fa373e33f9102b21ee70d98563fc68e2b24ffa6c3eec321f58b2c42b0d260 EBUILD vagrant-2.2.7-r1.ebuild 2559 BLAKE2B dcb267f7c75f4bd744f2a83e416aa7005c8576f8d36326efd38b6dc634034b366ddf99016f24b5ced6a8ee87d8b7247db5c16e362f171be98ecd81c46d7d133f SHA512 e4f0a36c8b36625ad0ae660ed1eb4987f1a12f0d9c96316734cdcc31975f75621ea1e3f7a18162d780dc3d33e266e66f4fdd9014be557d50fbc1894ba602d852 EBUILD vagrant-2.2.9-r1.ebuild 2561 BLAKE2B 4b510524099dddaa98fcc3a5df7a92b16e5ec2bc9983e55699a3d31689a5b1cc83c9467c248f25309ca9d9f226763664a33b4f9e4594a7e7459894586d1697a2 SHA512 e7ca458227e86b43cf01d3c76bd20342560256f8f35a483767a0e65ebd0a34d513de35d93f1b83c3e94441b5657c7bf5185127f85061eadaaeafbf0798a1eec5 -MISC metadata.xml 413 BLAKE2B 1b57ae29cf2bcdf4bd7d97071e081818e114104bd5a22438e0fe47bd4bce9b2fc1b831c544579cc8b652860c9637caa9134e6f1a4abcb21216e39e62fa058862 SHA512 417deb9af12420ac037b15b526d77ea3fdad12d047c4ea9ede5465ea9ea772fe96ee1625714e74e6dbad6ee224916e9b9304c38293aec4c5e2a52555e1c9f4e8 +MISC metadata.xml 329 BLAKE2B 9bd92975f5ac2c34e47cbb532ef809d366cfdab4d76d31fde5d256b9b6b257a71fc516d8cd0975bdc52c7929d9a789094a7dad83aad106104340537b2e10861d SHA512 939b3f253fdb9b5479faec858d37e39c79c9fd6e31381d4f6bfe019c46c3bfd8bf7d94aac80f55a59e68f981cab6a452f7f1485bd36606898bbb563d92777855 diff --git a/app-emulation/vagrant/metadata.xml b/app-emulation/vagrant/metadata.xml index b63908369576..4f92768cfae5 100644 --- a/app-emulation/vagrant/metadata.xml +++ b/app-emulation/vagrant/metadata.xml @@ -1,10 +1,7 @@ - - gyakovlev@gentoo.org - Georgy Yakovlev - + Use VirtualBox provider. diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index ac16103c71fb..603dfd2a1c4c 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -1,4 +1,4 @@ DIST virt-manager-2.2.1.tar.gz 2623754 BLAKE2B c81e730f2d685152bd0ef0a0327a74a70c50bff91e80ed0e3de92d0b848183c4bc092be333f2f0785c6a0b39f0b6d6abbd1f38c902f52ba4af7c56d64ee9b026 SHA512 aa97af52b3552c087beab8701762c21e8e6d818c9787d5376ed4e1ae40a34d5e8870c4c00fda9cb17a2340d1dff5b17e853182df720cdd9ea4c91cf01502a33a -EBUILD virt-manager-2.2.1-r3.ebuild 2400 BLAKE2B 212ac3471bc70dc30bbdded3aee764b953605f3fdf7f54b34510b9f219e208020747622c1cad69e58eb24c0b555e2c6474bab87814c99dffd0478042469d386f SHA512 7f1b3aafd4e3b4c63e2f0817e4e165d8a7ed774db02a1451526293fef7b08c45c65e697576ef3054c819fca53b1dd00e3159c0f8f977799912821cb309ef12c5 +EBUILD virt-manager-2.2.1-r3.ebuild 2399 BLAKE2B 485d58f990fab2c4c051886982474b5e8cba67486b357b5e56ba914fc7a58aa4d8eb5cbe132ebb50421520b42dab6150986563ffa8917e80ab6e0fcfdd1158dd SHA512 7017f9d6aa1e6dddf9a81a32bd4a45cbed7c42d93c58f5e85ca691f78576ebdd1f328c2b3db46fea0f1b51cdce2b06b78502644b0617bffecfad1736782796e8 EBUILD virt-manager-9999.ebuild 2428 BLAKE2B 888383dd0aed1b3fd74b84d459a5c53a4ce6f2afec94b3f8040557f4fdf0d3a39e20c68afb621994181231ceea21257a59bc861f89676dec6ca6627f5ab37b51 SHA512 a14d5ed1599853312ce9de17fef7ffdde022c618a24e1d686fed2cbdd8196ef1e37114353a88655a5202bcee77b627381be0b45e90946cca1941b15d5c5ff28a MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild b/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild index a3d31c22afdd..2297b799d92f 100644 --- a/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild +++ b/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild @@ -15,7 +15,7 @@ HOMEPAGE="http://virt-manager.org" if [[ ${PV} = *9999* ]]; then inherit git-r3 SRC_URI="" - KEYWORDS="amd64 ~arm64 x86" + KEYWORDS="amd64 arm64 x86" EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git" else SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz" diff --git a/app-emulation/virtio-win/Manifest b/app-emulation/virtio-win/Manifest index 43099d3880f1..cadc779ddf04 100644 --- a/app-emulation/virtio-win/Manifest +++ b/app-emulation/virtio-win/Manifest @@ -1,5 +1,7 @@ DIST virtio-win-0.1.173.iso 393902080 BLAKE2B a90da9d4e23a95c4cf9f02cc010664d87c987d7a9b82a90b534ec69041f763d73d7b37b1378078a162e7ef4f06b9d4cd6c5b7c4b98d77ff75bcd0d06a8ede8a2 SHA512 49cba35d74a3f480f6d23a57b68217f5732e8bcfb7657a4a87f16b286ad2c6ffd2509f034d0b4f363a389ce50d4d0e80e241f7ddff3e93b5dc315dad1713f08a DIST virtio-win-0.1.185.iso 413564928 BLAKE2B 84aa2d0ce16292b95431044618538f6dc176ff834f5e01b245414e27a74775a0e202c7b9262495de9d5f54476fe4dfa5e853f30b994e301080fee1a1c840f823 SHA512 62992baafce1f2eb52c23ba62291765c535c513e2598910083a8519eff58e8c57366d46add702e791fb07ec96c0fb65c9cff03b57e8f32b4357799c86b46c198 +DIST virtio-win-0.1.187.iso 433235968 BLAKE2B 0df10aa5f46cd70f7530f6d677b882df364a0b1a859d7e9fe777817136213d4f856116cf73b8521e8720c203bca3321b9a7bdae057f867e655764a8b7d5dc0b2 SHA512 db9938f1f17b723a994d1bd5bb0e0ffce47ae2bbfa96f9bdf1d895750502600f9a71f0486a97af9301659e05ebd5365d1f08dc0e062d1f9e4c3acaac8b7f0bf5 EBUILD virtio-win-0.1.173.9.ebuild 630 BLAKE2B 5d5d9ddedd33ca2ad52c1b213edd46f7fbf2b3c310e2cbc176398bcdd29dd576bb542d1ba280720c8e717aa2f37e8aa88aa22f92c04cf42d520e45e99cb9a46c SHA512 7adef1a78a2173de5c41cb2bb2b0325a3163800c0089f6936dd21fa56d7aa8f94889c7b9da7c2a387342c27623e7e6ff55fb55ff5cd15a08025d89dec6b7a96b EBUILD virtio-win-0.1.185.1.ebuild 697 BLAKE2B 107141d59a78989c5cc47a712ace77c3c40be624a50fe76d0a576ed9581249701ba2edda868a5cab56f863978824817273e516137d62ee469e6dc4f816183de7 SHA512 37872fc77a00eb0c0ea43be87e53fce6743a249511861c8b357c489bc656664c4d0101ae1aac6d5875c93179965f17ed2b8c8fd626d964acc8f541ae7b2f74ba +EBUILD virtio-win-0.1.187.1.ebuild 697 BLAKE2B 107141d59a78989c5cc47a712ace77c3c40be624a50fe76d0a576ed9581249701ba2edda868a5cab56f863978824817273e516137d62ee469e6dc4f816183de7 SHA512 37872fc77a00eb0c0ea43be87e53fce6743a249511861c8b357c489bc656664c4d0101ae1aac6d5875c93179965f17ed2b8c8fd626d964acc8f541ae7b2f74ba MISC metadata.xml 359 BLAKE2B 6a34261ec10702f5bec40975ab7723eee34e015afa5a4544146834c43a9a3b040d9ead5d5a617da0b8253e9e9a7e05fe9efae38588b02b8fa16f653d9bfc5340 SHA512 43bdd93da8962e2ca6d852356e206511754f1e5f0bda721ac6458c54abab89367fc137f686583dd9df6d83be82bad66f9858efc52ed1e5a002d6b3bacd8fdbb4 diff --git a/app-emulation/virtio-win/virtio-win-0.1.187.1.ebuild b/app-emulation/virtio-win/virtio-win-0.1.187.1.ebuild new file mode 100644 index 000000000000..317b5b926c06 --- /dev/null +++ b/app-emulation/virtio-win/virtio-win-0.1.187.1.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PV=$(ver_cut 1-3) +MY_DW=$(ver_rs 3 -) + +DESCRIPTION="VirtIO drivers for Windows virtual machines running on KVM" +HOMEPAGE="https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html" +SRC_URI="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/${PN}-${MY_DW}/${PN}-${MY_PV}.iso" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +S="${WORKDIR}" + +src_install() { + insinto /usr/share/drivers/windows + doins "${DISTDIR}/${PN}-${MY_PV}.iso" + dosym "${PN}-${MY_PV}.iso" "/usr/share/drivers/windows/${PN}.iso" +} diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 1d80d2ce095b..52023c2b4769 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,13 +1,15 @@ DIST VBoxGuestAdditions_5.2.40.iso 49770496 BLAKE2B 4d9ca6cde78da325575f56f0b12d7beccfd09a564b98c808495ac8425f47bd0ce1b86a5cfb79c30256b36b109032013a0677ff07c45808324ca3b85efe5b7f51 SHA512 a2ea5539de454bb062dffa0b61ac4962c8932539ab0cdaae98f7703528c201bc856b0597b92c20e83fab5b97981be3811061386022ca3687d8c102983e05ec7b DIST VBoxGuestAdditions_5.2.42.iso 49833984 BLAKE2B cd9d32db3d6bf54375c95fb7729e19f07348c8111aa3cda73e0512f8b036e0b0a550352d0acebf2e6ee7e5379a5d9711f56607a73bbf31fcaa8296a49d8a49e8 SHA512 eea1d5c6f3dfb42a4b8f916279eb2c426925e20de517d7011c3f41c115d9fbf098fb6988fcc9f192e68f15094f44fd811128e5f42dffe33934c67b1b42e025bb -DIST VBoxGuestAdditions_6.0.20.iso 77297664 BLAKE2B 72c3e6b3c757d866bbf94cb2593b81d05362dcb1485db8412c8c3a95a7619754eeeaa75f8d813bd26bb3c27a718e3f687fb5904dd2574d29eb96988f48fcc67b SHA512 16c69ddee28650ac35ee25bead96568cdfe269042ed6a4138b5870322ff9dab405ea844d75886a0b52c44f0c47a34814a30d48734a6683df6b6ad042b1bea68d +DIST VBoxGuestAdditions_5.2.44.iso 49829888 BLAKE2B c86660b5a00692c22dea8a02480c5de4b7df5f6bef81a16d78b2fdcd4cef1fa7bcc9fae9884c209d16f36b5c49718d53ec1f6e4073a0a7d90d33bea32f972f2a SHA512 6bec3b5b31c962bdc3d1321ed276898600ab494d41ec5dbb6d82cbbab1dbafc1331c146d33266d428355d9767bab1e220e8c2299f8011feb8bf8744420e64ade DIST VBoxGuestAdditions_6.0.22.iso 77352960 BLAKE2B e71447a3e6efbc4b921276d212ae3b9314184240219e5d8dc7cfd8684c9f944cfa65895fcebe72a45a332ed60ea6c9e47cafde142119a86f46bf1781679b1409 SHA512 04e16b11e64087fee2ae440fe523db4a546b5706ba517af15349e2acb5706af717105af29b6655ab84ddffc7370a7fce7cc0945069c6c9e59f4dcfc61baef0dd +DIST VBoxGuestAdditions_6.0.24.iso 77355008 BLAKE2B 3bb611323ba41ad94a75d5d28198aaf732bd7c36965abc65755c0ffeec29bd378cf4351b838675667958086e499f5791b942a8e3877c1ed815a22c4d564147a1 SHA512 aea64aff216a0cfa3535d2215ec74dd46243f9aba0c1b95f476bb8f0b3d561994f4fc8cc7d454f03482e1cec9a227014f10045e75756767bd8006e8beb9aaade DIST VBoxGuestAdditions_6.1.10.iso 60448768 BLAKE2B 99841d7a516ea18d6138c9ff39801c8bcf85eb2dd5bf163d441933362275c96b21ca5f5147979dafa1be26c98f7e2ec2af2666089da0d09004baab4d80f33e95 SHA512 fe16ccc8d9e7bdb56fb464864795b7ca9d59ae6aadbd8ef80bc1b2e36267158bfc04fd5a8e4a0999112a6b1d8818b1cf1eaf2cbd0a1d8341c6fd5808c245df3b -DIST VBoxGuestAdditions_6.1.6.iso 59760640 BLAKE2B dac4f92c851d37ad995ff631f1b7ecda702c3dce5b299232fc7ec956009fb13e09fc0e5d6980d09c4a9f1b58ab5fcff93c791ecc0fb184cefa701f072e68b87c SHA512 b87cc85d46ffcbf6ae8b21ef5932144b956f59925a1c5a87bbcc81dd9dbd845b1f3f282b92cea3dcc15d3e338e676dd58f81762e27019c1fb6736c541b1fdd9a +DIST VBoxGuestAdditions_6.1.12.iso 60626944 BLAKE2B cb16f72f9c010e7e97e6ae5d86d02c81bbae2593fd502a3e6d911e794fa15254b631e37587f7ba636686e8897fe27a05f8dee58870200cbb50e2fbbe57142cc3 SHA512 dd0a7705477620205529090e37965a09906e864d3d293405414ba09c951c33d9586ac6f5e1f35e35ece1e2bae0919cc7740b21e302f9c5e2160e5458168372c0 EBUILD virtualbox-additions-5.2.40.ebuild 710 BLAKE2B 5cc278d912a575945517dca38dd421209cb449ec1a75ead026dee8bf7664f38824aea1b16e378493d61d1d01eb564fa10886aa2c5a37e5ce67c1f53b40f4c745 SHA512 a0b54219ba2d003e3af5986bec95c6aedb97aa529ab72ea5f3cc80a6b8ee457cb5d8608d1e115c8661d700e694b19533cb1a65e4f59784bc30d6b87e73c6d3d2 EBUILD virtualbox-additions-5.2.42.ebuild 712 BLAKE2B 1687bbddedcd529dca1cba020e6f87156cb3c25b60a1fe59ea05d249316a1bc37cfa259c99f16997acd9afd6691539536ad10bd62249547d7a704d1dfdff5e5a SHA512 ba9dec4feb5449fa5aba94e63bd3e0abf2cb0db2b450c4311e2f3b07ddb75d73a29b3a9d44e26c799fb41064bc42c9fa4e0b9c614c085dd933abe59e64e43ede -EBUILD virtualbox-additions-6.0.20.ebuild 768 BLAKE2B bf059ba8cc66f0cd95ed56f055a0c552621817f036996a5df95f664f7689a642453d3b065eea0b2cc510ca7a0fdcb1d39c72704e935b04ed21aa870c3a3bc8c8 SHA512 4c3281e2c7069f644e9e8b2d2ac181fe5be9b4805c7788a8009f3269595d800af17f4e97101ff3696d4a9568f104502fa162c92c3883b0808bafa3b82e07ce18 +EBUILD virtualbox-additions-5.2.44.ebuild 712 BLAKE2B 1687bbddedcd529dca1cba020e6f87156cb3c25b60a1fe59ea05d249316a1bc37cfa259c99f16997acd9afd6691539536ad10bd62249547d7a704d1dfdff5e5a SHA512 ba9dec4feb5449fa5aba94e63bd3e0abf2cb0db2b450c4311e2f3b07ddb75d73a29b3a9d44e26c799fb41064bc42c9fa4e0b9c614c085dd933abe59e64e43ede EBUILD virtualbox-additions-6.0.22.ebuild 768 BLAKE2B bf059ba8cc66f0cd95ed56f055a0c552621817f036996a5df95f664f7689a642453d3b065eea0b2cc510ca7a0fdcb1d39c72704e935b04ed21aa870c3a3bc8c8 SHA512 4c3281e2c7069f644e9e8b2d2ac181fe5be9b4805c7788a8009f3269595d800af17f4e97101ff3696d4a9568f104502fa162c92c3883b0808bafa3b82e07ce18 +EBUILD virtualbox-additions-6.0.24.ebuild 768 BLAKE2B bf059ba8cc66f0cd95ed56f055a0c552621817f036996a5df95f664f7689a642453d3b065eea0b2cc510ca7a0fdcb1d39c72704e935b04ed21aa870c3a3bc8c8 SHA512 4c3281e2c7069f644e9e8b2d2ac181fe5be9b4805c7788a8009f3269595d800af17f4e97101ff3696d4a9568f104502fa162c92c3883b0808bafa3b82e07ce18 EBUILD virtualbox-additions-6.1.10.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 -EBUILD virtualbox-additions-6.1.6.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 +EBUILD virtualbox-additions-6.1.12.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.44.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.44.ebuild new file mode 100644 index 000000000000..89a7f0a2a620 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.44.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.20.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.20.ebuild deleted file mode 100644 index 1afb82dc197a..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.20.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild new file mode 100644 index 000000000000..1afb82dc197a --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.24.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild new file mode 100644 index 000000000000..97264897ea7d --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.12.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.6.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.6.ebuild deleted file mode 100644 index 97264897ea7d..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.6.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="mirror" - -RDEPEND="!app-emulation/virtualbox-bin - !=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 854774845557..fbe5323ef78c 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -6,28 +6,33 @@ AUX virtualbox-bin-config 28 BLAKE2B 86d452db92ceb19e9389ca83c800955066b84f4c3a2 AUX virtualbox-bin.desktop-2 205 BLAKE2B cb0ab2e87d0e82e88656f3288eb4af255fd1c9f732dbd6e1aa545d30d4176526fa38aebd3eccb4acb46c638056504be37231dc042fa030fcb04020e00d7d401c SHA512 7e9555aaa317e1cb551e5ff591b9d20bbb76a738f9e923c13d206e02c1e6bfc8f4eb17b498b235ac0aa2062e4acbd5f24d2522de2da3cff2e12c264875bc476d DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.42-137960.tar.gz 26740542 BLAKE2B 0246148d436c163eab0363b6b5ed05ec43f2ce9a1124ef504cdf9f30e0bdd479567225f013d2fa2ef39bae0af18e60ef4996d37f65552cca74d8fc76d2976f40 SHA512 0f3a963abf99599094d6bff9617d401338209ce6dba08285a006e17a68b927cd19ea5e17151afc5466c9e00df1fe75ca01fdc5d11a45be5a9d7d4e7649916fc6 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c +DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.44-139111.tar.gz 26740456 BLAKE2B dfec5893d0cf194bfe277c834e8477a0a3c91c5e8426b14155e8c5e34e949130d1402ee823bb698a3025834d196608d82b54df240ba1adbd8d8bc2967608f9a9 SHA512 f3a09b906df41c1de008ac7abe80cde9076a24a3175e9ac84101b95ccabeb9b374660b6d23b131ad27ed9038b4916201b0166d98e0c18e346af4132bc44000c9 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.22-137980.tar.gz 23238402 BLAKE2B ea7105747fe776475ae66bf99354017c7a3e33343bb044722ccf5245daefa33581e2092fd04e03e9916b1150a7b46eb691ef4faaf28ecedb82a8e5c66b02a22f SHA512 c45cad50fbb521307fed127499955c261416fbc6958e87770238ef45865caefdd61837db17d61e57ef030a712f53ec1f452b89849fa5f7881f3cd62d481185eb +DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.24-139119.tar.gz 23238486 BLAKE2B cad4e6822b51db05fb0b919f4c44ace1743a9d2b5ebcc0da6fe3c9ec43612ec6079614f5d3a9423c320e65b5438089aeef42f331946eb74093e3f8b1ef137300 SHA512 4be76fffb8508dda561e74daf68c71641a0903e554ecdf6b102f3fe35af03883bc88c2ac3cbdae2b3ddfb7ee5c9bdfa8df670662eef139f2a894dea4aa6f2e18 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.tar.gz 10999054 BLAKE2B cf802b561882541399baff74c2d75b33aa70bf8f909b616bbddcde0d98b41927f65ec5ac25e5d89598ae931c1c3c9fe7cc9cba17cb52b87b8d7f46ef935a376b SHA512 9cea8f8547eb4e90df1ec43ee4d2bf4be17f6ec8dd62013589f23019a30e0dd15e37945dca67790628d3f49d6103cf1dc9c53344589d2ce785fef8acf7c81cb9 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.tar.gz 11141691 BLAKE2B ac4cae428d15fa503b47337c5d2bab3e21197b82192fa2009216e438d06b867b17a62890c7525d232919751a5eec770f0ecd835c93aa3e67bcbf13b94d8d5344 SHA512 2abc9f6aaadfd6b0bb65df7eb9c45155ea2ec0d215aedd7589a76753b7323fef47c4799322ed973ef92baf1d64835dc813a235001be2cf4e166e474d5b6e2afc DIST VirtualBox-5.2.40-137108-Linux_amd64.run 83865043 BLAKE2B d44f3ee6b05446fbe36b5672ec00d2ffcf5b8592ebfdfc6d091dd1bf92d821644976bad55ca390ad834d274dbe738341457888fb78030de9ddadd680362c4b11 SHA512 1f068f776ef65ed930eed0ecc6304a374ea36339c21dfc7b41a61b6e82d61f5c8de13f4b93f19500f9eccbe9e3d0f1a816c46b7b7b4d5ed195ce1ddc45c57e7f DIST VirtualBox-5.2.40-137108-Linux_x86.run 82994639 BLAKE2B 4f90a72d5d8952ae05bff9c50262e377c0ffbc134741eddc0aa6dccd9a575de746bcdcf0e0fc2db8f5ee36e730bcf814e0fd1291a739dd33260be7219f11c44a SHA512 580f8a6c7a1fe04132789b60ce4cb4db39f980590731e18b9c2cd7727d59efdd5250fbe80704a4542f8876d8fdc89cc048b669259e8170a28350157901bc14c4 DIST VirtualBox-5.2.42-137960-Linux_amd64.run 83926483 BLAKE2B b57d50604a8d867cc8b508d3448dcd835415f669759e1e8a947e30e2cf0392a87e16560c0f4d970c6afbe593b874ff463f5407c14e6e15a3429d67fb9ba7c956 SHA512 29a870f35d783dd4e079d2d44f33154f9a990ab1639a0b0427a7721c4a98625490d978db51655de6961bc0d89aabbff0804cd1744014952b4207c411945c3f6e DIST VirtualBox-5.2.42-137960-Linux_x86.run 83056078 BLAKE2B ad58f0693eb0d936833ad09b213707ed0bc66e2705d2f9f407e21b0681cd0d7f1fe062323f61e84e1f0bd0c88b9c0860fdfa2ea6085ac6c6e57ed2f7b5631bfb SHA512 16e2d4383a4ae0f86180222e14912fed25675290bcd8815a3c310cd8fad28081799b6d743d88197ebe78076612462bca0774c54fc8837cca03606ae87067f3d6 -DIST VirtualBox-6.0.20-137117-Linux_amd64.run 127231448 BLAKE2B 2fa6307add56b318708cdb88615aa15e39577f43c0d65e74037d6f184a3937144ae8f5abcf217809776dd19e4f3141e5bb78adadebc0be63d47bc69786cfa0c7 SHA512 9ac9b893c7cad4dc58833f6132ec0da6564a11112d8bef881bf1dab584abf046e167513c2e4c4ed3c5ce2e4b845c9cf99721fda657b2993b5692eb4ca15d2f5b +DIST VirtualBox-5.2.44-139111-Linux_amd64.run 83936723 BLAKE2B ec1edb5f173adc0108f6abde97ae7941ecdd1dae55a9df9a93bf53f52ee7e97e7fdbd82b330ea405a5a8e0fccd4c4f5bdc05e8f12cc21fe5686581f6d95e84e8 SHA512 fa604b3af4e6654fee49fe0f4bb7733a5a2fa753a18c0ec1698ee0bf82ef2cc096ea081da7f65cca33a76b658f7151da3347a35763edb059ec5e2f078c779008 +DIST VirtualBox-5.2.44-139111-Linux_x86.run 83066319 BLAKE2B 1a8f27d1066c9e33adbea4868c1a7ab88326b6556a006ba558e7eca51c1aca1d353b671ba334b919b77bee996f0bce83f4664b13d6d46e64f078bf897aa656a3 SHA512 dbd2c019b43376651fd64bda15787f429ea13d16ae4314863603c0c8fb4e6c01337fbe54fc108c512b7d1b00a0975d652fb14713f239060191bb64af900c5d34 DIST VirtualBox-6.0.22-137980-Linux_amd64.run 127405529 BLAKE2B 0f27d84c2e30ed6956921db3aa611ea2a959d11a20051a5c633560f2ab42d2b100ce3c886439226f6634461de6ccfcd564f194257c88b581d75422007ccb771c SHA512 a7d454112580639866c40506d3718d841600338dc33937382e16a52e7baf624fef7efcc98481eaa8633d32d11e74a37d23e5282bb22415e94790decc51a58dd2 +DIST VirtualBox-6.0.24-139119-Linux_amd64.run 127354329 BLAKE2B cad5a93e3586168535eb9e25969e90183dfed3a293e6b2e36449198b8713cd34f006083403b4c721be3670beabb5f8bc0362db3662cf268d54e95c492b965b5d SHA512 5ec11bb5303eacd948b457ba29f74039a438f99264294dcada602a99ec44f0f8a5ad45ea3334f90f10fa5ff946d659cac4a74487e0f4aa7e79fd9a196b1fc159 DIST VirtualBox-6.1.10-138449-Linux_amd64.run 111513049 BLAKE2B e97393873dc270fb7acf130aa8632ee12fc8c14b9f678cbe20bf9dc1c095aaccfbd0ed1c64dd4dfd9243b10728d9feb84d3dc283365e5dd736d300ce8d72a411 SHA512 a1df1805b056d6abe26782d2f7b98668a929282c4a3f25062da3cb806c709a0a93b3d3c6f6a9a8c5140882ff2f5b11a6226c8917776dcf7ad256b82144f2bed9 -DIST VirtualBox-6.1.6-137129-Linux_amd64.run 110530008 BLAKE2B 9f2f2e65ace7bc5919dcaba23b0a979a1b246af65722fd955dfb6110bda0fc119f9388e8d404bbdbf00bd8a96c25c505dc7a3589fc98680cdb115f1c1327936d SHA512 a4ea1a37bcbc70a9be3bf201dac06e31bb5d8e4dd9d9f04fb8f2fc6387c6ae165c0812d357062e1593a2d5a6d7902ba068984bc8658750df49d991025b96dc05 +DIST VirtualBox-6.1.12-139181-Linux_amd64.run 111584728 BLAKE2B 48dd72975032e689481b333a1f255677afe3b750ac5d6c7df40780619968e721d54226aaeaf1d2f114968c379c1e0dcb3c15a24bfe01e2c7e0f48a6dd316e8ef SHA512 ad8984fa5c6c9433b5989ccbc4f6119202fb1befa35f8f5f0bd9a1d34a94e3f088d7c558b934ee49eb4b4ef2a6c877404c11e8026892c3e0dc1beeb2ca462264 DIST VirtualBoxSDK-5.2.40-137108.zip 10201020 BLAKE2B db4a2fd69fdc3ab4201c086c15f14144dd1f75e87d13c4493aaeaf2b69e06a599623416e17a3715c9836b7b7bf36aaba34c06e27ddd70900ca6c5fdd43e311e1 SHA512 15bf89ca622396a5b2f66fb42762959548e8d0b2e0bd3b63223bcccff449f5c094af0315deecae167e105276915fb6b2e61a1f71465be4e85b52a58e313a2830 DIST VirtualBoxSDK-5.2.42-137960.zip 10203875 BLAKE2B 8979e023679daa17eda97037b8e5f40250c7dd34f2caad2b4ac0f7680c90418da050ce866a3099f20969932b559527accdabe20eb0b5593cbe8acacebd873d1d SHA512 70ff706c50937dcad9dbc3554b5dd88f2d8b674221fbe08e2124055c0a07f1c1ca00342cb5dcdb64e38583e3bb68bf9ecc7eaf5e88e381f205ffb3a4eaa64487 -DIST VirtualBoxSDK-6.0.20-137117.zip 10803680 BLAKE2B aaec9c6b9f0d758528f8490920bc98c594e8aa2bd241f941e9093553d5353b4999f4041519198740344da92af3d7fb7992dcb6945a55d5471d9952a76daea4f5 SHA512 b2574f7d93c3d92a09a2cd18f68db3ac78d5c51d454cc322800b0d8555c4fdb541b5c797e11795dda51f5998f98dc9ed4839b836f4c64f8f95211b6ae71c198d +DIST VirtualBoxSDK-5.2.44-139111.zip 10202240 BLAKE2B ca6ffb315fca369874a327da141d9c8eb28a58ccf8b44577ed879d25e5d5c0606c9a15af95ee935e0e8aff6063d93e7ecd2aad37733c5fb1cec7db4bf35df4b6 SHA512 8c64b28f8ba7c758c2c5d699e3a0276a5ce3bd1b740b3120c283f0048a00c587bf47376714cd7ada1b96dc35f9565ce7effc7aa0b5a1caa8e82e548f03bbc057 DIST VirtualBoxSDK-6.0.22-137980.zip 10804146 BLAKE2B f1a4ce9ef767343146d5f01bd75dbc9409e1ee4a8e3a73cb0546679421c2c013f24405c5353ded3bc34af477892d39205ca0e43a36b79bd1b884d59ef3ae7969 SHA512 5693c4b773c0ed3d3a502b8347129d3ec464da021cf904b7ae252db787cce93d7633cc4d8679da168d90239a03ae66de959e237765eeb56d9f4b17c74def7c50 +DIST VirtualBoxSDK-6.0.24-139119.zip 10804800 BLAKE2B d8adad44be45384b1f48f6eb09ccb7894021d0c12332e1d0fc5b175691495430b9d8929ee76d83c8e924b7845b8601e465f23d8101b3d3378c4856b09df92f01 SHA512 709d8c77144ef55acf42330c1b87e1bc3bd940b97639a1e9256d833ea4a09c9051a236d793ecd2c064d9353f70871b68b80dd1c31a4ed6cd3c690d76101dffe9 DIST VirtualBoxSDK-6.1.10-138449.zip 11178059 BLAKE2B 6eddb1ea9110d8d96506dc1be048aabdb77993b3bed0407f0cb9976c99f21d66065d9e622dbc78a812a4ad30e285073798e57187f27126c6c70dc9b20db1b724 SHA512 21d453d5932ad93c4d6509a2b97c61edcbc64f89ccfeed2af8392031c41168724842a346f4b61e86d520567e8c04a5a09d43ed7a112d6abee35784ad6a2bdef9 -DIST VirtualBoxSDK-6.1.6-137129.zip 11176791 BLAKE2B 9ad2592604e9b007c8d302d8efb67a3b5e069549bca7e6330a417d1c719e2de533e0f429909f95cfb77a5633eb806955c4ae4113ad6707af33854b7605215531 SHA512 d46549657fd8f2eb95196c310a9d81163fb231ce663ac7e24e1e8ac15b5830b25188c547db91fdca5b9524c2ba340f0b638e34863f8e26b4d118bf832b7f99bf +DIST VirtualBoxSDK-6.1.12-139181.zip 11203140 BLAKE2B 15e27959fd26e4d15f1500fe6733a2ff862b87943fa86f57cb4cbd18e34fdf5e9c8c7475885f81f2440e8cc1a412a0fa1865063347a8c462f3f7d282361cb8cd SHA512 f848cefc27cf9cbf3118881db3ff71bd9b54e8727052a49d93c9017e702caeb7c3bf008e0017bd04c27a8f7202d3a36161393b8dc2cbea5aaa4299264223ed56 EBUILD virtualbox-bin-5.2.40.137108.ebuild 8328 BLAKE2B 374f7989bef23f23edda495f8cb44b561d4174b4e90c3eeef3ee7f7865f6a2532532fb8d66c9f42bd4be9fe8042d3162f4f83b3d1ac9f322b2965ce6da69b74a SHA512 86301b658c8266ffecdf87cca476be3041f7ed89aaeb878b4abd2c0cfb8c9e1519b369ceb06c75b582f208e1fb7305f0fac9e34418972d0f50f656fa1fb84e4c EBUILD virtualbox-bin-5.2.42.137960.ebuild 8330 BLAKE2B 68efee04823b6716f607e8667ed0516adadb1c7e892aca9a217873e1396d179c1621117567ef3e664bf3fc85aad8df75e4be97fb047eb89c4f3f3b6e2b61b69b SHA512 a4d89a1521d095834c3298f10844a3fa09e9182f81316194aab82efbcef264127bb97fd191627ffe8086262cc619dfa2e5f7ed078402e24762813a9fc4ff5227 -EBUILD virtualbox-bin-6.0.20.137117.ebuild 8513 BLAKE2B a7f8888ac85d53c08e8c70602c951e1c0432c5b908d29e1a1e9dfe762778f5d11d6e28b6bd392c6a9d40d00cd1c1a964fe6400b79d0c59422d950ef53b38c9ff SHA512 1f6fe943790a95332b7fe3c240fc355b842dd34e193605f73171507fca7fec77cc0da322cc0815580930c29a21594dfbe2305bf831ef49fb280a72e9fef23a1f +EBUILD virtualbox-bin-5.2.44.139111.ebuild 8330 BLAKE2B 68efee04823b6716f607e8667ed0516adadb1c7e892aca9a217873e1396d179c1621117567ef3e664bf3fc85aad8df75e4be97fb047eb89c4f3f3b6e2b61b69b SHA512 a4d89a1521d095834c3298f10844a3fa09e9182f81316194aab82efbcef264127bb97fd191627ffe8086262cc619dfa2e5f7ed078402e24762813a9fc4ff5227 EBUILD virtualbox-bin-6.0.22.137980.ebuild 8513 BLAKE2B a7f8888ac85d53c08e8c70602c951e1c0432c5b908d29e1a1e9dfe762778f5d11d6e28b6bd392c6a9d40d00cd1c1a964fe6400b79d0c59422d950ef53b38c9ff SHA512 1f6fe943790a95332b7fe3c240fc355b842dd34e193605f73171507fca7fec77cc0da322cc0815580930c29a21594dfbe2305bf831ef49fb280a72e9fef23a1f +EBUILD virtualbox-bin-6.0.24.139119.ebuild 8513 BLAKE2B a7f8888ac85d53c08e8c70602c951e1c0432c5b908d29e1a1e9dfe762778f5d11d6e28b6bd392c6a9d40d00cd1c1a964fe6400b79d0c59422d950ef53b38c9ff SHA512 1f6fe943790a95332b7fe3c240fc355b842dd34e193605f73171507fca7fec77cc0da322cc0815580930c29a21594dfbe2305bf831ef49fb280a72e9fef23a1f EBUILD virtualbox-bin-6.1.10.138449.ebuild 8513 BLAKE2B fd3084df313b23a8c45282bc0b0aeabc3e1796182f2388b255c6f2af83c7808995f5c6beacc222e8bc49d500ccddf8b0b8ea7fa3fb237f83363894a28231cfa7 SHA512 413336dc5117771963b1ddc5601a752240d41f5f990103c511639ad1aa716639eca1ff827229a4db0b95ae7a552f1a6ffd95a09228a1e89ca899361582f2b9d3 -EBUILD virtualbox-bin-6.1.6.137129.ebuild 8513 BLAKE2B fd3084df313b23a8c45282bc0b0aeabc3e1796182f2388b255c6f2af83c7808995f5c6beacc222e8bc49d500ccddf8b0b8ea7fa3fb237f83363894a28231cfa7 SHA512 413336dc5117771963b1ddc5601a752240d41f5f990103c511639ad1aa716639eca1ff827229a4db0b95ae7a552f1a6ffd95a09228a1e89ca899361582f2b9d3 +EBUILD virtualbox-bin-6.1.12.139181.ebuild 8513 BLAKE2B fd3084df313b23a8c45282bc0b0aeabc3e1796182f2388b255c6f2af83c7808995f5c6beacc222e8bc49d500ccddf8b0b8ea7fa3fb237f83363894a28231cfa7 SHA512 413336dc5117771963b1ddc5601a752240d41f5f990103c511639ad1aa716639eca1ff827229a4db0b95ae7a552f1a6ffd95a09228a1e89ca899361582f2b9d3 MISC metadata.xml 599 BLAKE2B 2af2e738880f4fb9b684baa124df483d90548177fc8f5a8223dc13a5c96a3bf7f84754a41c4d2bd5821140dd2479874b4d7c8b99b04a83febc5027f4370fb70f SHA512 4306caf88c97be9f63238727dd70ad834011dc33650aa809eaf4ac285febecd7604dc030b285a31167ecb338434fc68eff011528533cda53acdd72ad6a5b5aa0 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.44.139111.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.44.139111.ebuild new file mode 100644 index 000000000000..07efd355cdec --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.44.139111.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="bindist mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + media-libs/libsdl[X] + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S="${WORKDIR}" + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl + fperms 4750 /opt/VirtualBox/VBoxNetDHCP + fperms 4750 /opt/VirtualBox/VBoxNetNAT + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} VirtualBox; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + xdg_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.20.137117.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.20.137117.ebuild deleted file mode 100644 index 0b44094702c5..000000000000 --- a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.20.137117.ebuild +++ /dev/null @@ -1,292 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - KEYWORDS="~amd64" #~x86 -fi -VBOX_BUILD_ID="$(ver_cut 4)" -VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" -MY_P="VirtualBox-${VBOX_PV}-Linux" -# needed as sometimes the extpack gets another build ID -EXTP_PV="${VBOX_PV}" -EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" -EXTP_P="${EXTP_PN}-${EXTP_PV}" -# needed as sometimes the SDK gets another build ID -SDK_PV="${VBOX_PV}" -SDK_P="VirtualBoxSDK-${SDK_PV}" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) - https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" - #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) - -LICENSE="GPL-2 PUEL" -SLOT="0" -IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" -RESTRICT="bindist mirror" - -if [[ "${PV}" != *beta* ]] ; then - SRC_URI+=" - sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" - IUSE+=" sdk" -fi - -DEPEND="app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="!!app-emulation/virtualbox - !app-emulation/virtualbox-additions - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${MAIN_PV} - !headless? ( - dev-libs/glib - media-libs/fontconfig - media-libs/freetype - media-libs/libpng - media-libs/libsdl[X] - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXft - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - chm? ( dev-libs/expat ) - ) - dev-libs/libxml2 - sys-fs/lvm2 - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXmu - x11-libs/libSM - x11-libs/libICE - x11-libs/libXdmcp - ${PYTHON_DEPS}" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -S="${WORKDIR}" - -QA_PREBUILT="opt/VirtualBox/*" - -PYTHON_UPDATER_IGNORE="1" - -src_unpack() { - unpack_makeself ${MY_P}_${ARCH}.run - unpack ./VirtualBox.tar.bz2 - - mkdir "${S}"/${EXTP_PN} || die - pushd "${S}"/${EXTP_PN} &>/dev/null || die - unpack ${EXTP_P}.tar.gz - popd &>/dev/null || die - - if [[ "${PV}" != *beta* ]] && use sdk ; then - unpack VirtualBoxSDK-${SDK_PV}.zip - fi -} - -src_configure() { - :; -} - -src_compile() { - :; -} - -src_install() { - # create virtualbox configurations files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-config" vbox.cfg - - if ! use headless ; then - newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop - - # set up symlinks (bug #572012) - dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml - - local size ico icofile - for size in 16 24 32 48 64 72 96 128 256 ; do - pushd "${S}"/icons/${size}x${size} &>/dev/null || die - if [[ -f "virtualbox.png" ]] ; then - doicon -s ${size} virtualbox.png - fi - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="virtualbox-${ico}.png" - if [[ -f "${icofile}" ]] ; then - doicon -s ${size} ${icofile} - fi - done - popd &>/dev/null || die - done - doicon -s scalable "${S}"/icons/scalable/virtualbox.svg - insinto /usr/share/pixmaps - newins "${S}"/icons/48x48/virtualbox.png ${PN}.png - fi - - pushd "${S}"/${EXTP_PN} &>/dev/null || die - insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom - popd &>/dev/null || die - rm -rf "${S}"/${EXTP_PN} - - insinto /opt/VirtualBox - dodir /opt/bin - - doins UserManual.pdf - - if [[ "${PV}" != *beta* ]] && use sdk ; then - doins -r sdk - fi - - if use additions; then - doins -r additions - fi - - if use vboxwebsrv; then - doins vboxwebsrv - fowners root:vboxusers /opt/VirtualBox/vboxwebsrv - fperms 0750 /opt/VirtualBox/vboxwebsrv - dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - if use rdesktop-vrdp; then - doins rdesktop-vrdp - doins -r rdesktop-vrdp-keymaps - fperms 0750 /opt/VirtualBox/rdesktop-vrdp - dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp - fi - - if ! use headless && use chm; then - doins kchmviewer VirtualBox.chm - fowners root:vboxusers /opt/VirtualBox/kchmviewer - fperms 0750 /opt/VirtualBox/kchmviewer - fi - - # This ebuild / package supports only py2.7. When py3 comes is unknown. - # The compile phase makes VBoxPython2_7.so. - # py3 support would presumably require a binary pre-compiled by py3. - use python && doins VBoxPython.so - - rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ - vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ - VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ - webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ - 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ - VBoxPython?_*.so - - if use headless ; then - rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so - fi - - doins -r * - - # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) - dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so - dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so - dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so - dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so - dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so - - local each - for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 0750 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. - for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 4750 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - - if ! use headless ; then - # Hardened build: Mark selected binaries set-user-ID-on-execution - for each in VBox{SDL,Headless} ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 4510 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - - dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL - else - # Hardened build: Mark selected binaries set-user-ID-on-execution - fowners root:vboxusers /opt/VirtualBox/VBoxHeadless - fperms 4510 /opt/VirtualBox/VBoxHeadless - pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless - fi - - exeinto /opt/VirtualBox - newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" - fowners root:vboxusers /opt/VirtualBox/VBox.sh - fperms 0750 /opt/VirtualBox/VBox.sh - - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless - dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - local udevdir="$(get_udevdir)" - insinto ${udevdir}/rules.d - doins "${FILESDIR}"/10-virtualbox.rules - sed "s@%UDEVDIR%@${udevdir}@" \ - -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die - # move udev scripts into ${udevdir} (bug #372491) - mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - - udevadm control --reload-rules && udevadm trigger --subsystem-match=usb - - elog "" - if ! use headless ; then - elog "To launch VirtualBox just type: \"VirtualBox\"" - elog "" - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Please visit http://www.virtualbox.org/wiki/Editions for" - elog "an overview about the different features of ${PN}" - elog "and virtualbox-ose" - if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.24.139119.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.24.139119.ebuild new file mode 100644 index 000000000000..0b44094702c5 --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.24.139119.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + KEYWORDS="~amd64" #~x86 +fi +VBOX_BUILD_ID="$(ver_cut 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + +LICENSE="GPL-2 PUEL" +SLOT="0" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="bindist mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + media-libs/libsdl[X] + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S="${WORKDIR}" + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so + fi + + doins -r * + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.12.139181.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.12.139181.ebuild new file mode 100644 index 000000000000..067dfbaf487d --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.12.139181.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + KEYWORDS="~amd64" #~x86 +fi +VBOX_BUILD_ID="$(ver_cut 4)" +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" +MY_P="VirtualBox-${VBOX_PV}-Linux" +# needed as sometimes the extpack gets another build ID +EXTP_PV="${VBOX_PV}" +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" +EXTP_P="${EXTP_PN}-${EXTP_PV}" +# needed as sometimes the SDK gets another build ID +SDK_PV="${VBOX_PV}" +SDK_P="VirtualBoxSDK-${SDK_PV}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + +LICENSE="GPL-2 PUEL" +SLOT="0" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="bindist mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${MY_PV,,} + !headless? ( + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + media-libs/libsdl[X] + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S="${WORKDIR}" + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so + fi + + doins -r * + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so + + local each + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 0750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4750 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + if ! use headless ; then + # Hardened build: Mark selected binaries set-user-ID-on-execution + for each in VBox{SDL,Headless} ; do + fowners root:vboxusers /opt/VirtualBox/${each} + fperms 4510 /opt/VirtualBox/${each} + pax-mark -m "${ED%/}"/opt/VirtualBox/${each} + done + + dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL + else + # Hardened build: Mark selected binaries set-user-ID-on-execution + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless + fperms 4510 /opt/VirtualBox/VBoxHeadless + pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless + fi + + exeinto /opt/VirtualBox + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" + fowners root:vboxusers /opt/VirtualBox/VBox.sh + fperms 0750 /opt/VirtualBox/VBox.sh + + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + local udevdir="$(get_udevdir)" + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.6.137129.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.6.137129.ebuild deleted file mode 100644 index 067dfbaf487d..000000000000 --- a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.6.137129.ebuild +++ /dev/null @@ -1,292 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - KEYWORDS="~amd64" #~x86 -fi -VBOX_BUILD_ID="$(ver_cut 4)" -VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}" -MY_P="VirtualBox-${VBOX_PV}-Linux" -# needed as sometimes the extpack gets another build ID -EXTP_PV="${VBOX_PV}" -EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack" -EXTP_P="${EXTP_PN}-${EXTP_PV}" -# needed as sometimes the SDK gets another build ID -SDK_PV="${VBOX_PV}" -SDK_P="VirtualBoxSDK-${SDK_PV}" - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) - https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" - #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) - -LICENSE="GPL-2 PUEL" -SLOT="0" -IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" -RESTRICT="bindist mirror" - -if [[ "${PV}" != *beta* ]] ; then - SRC_URI+=" - sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" - IUSE+=" sdk" -fi - -DEPEND="app-arch/unzip - ${PYTHON_DEPS}" - -RDEPEND="!!app-emulation/virtualbox - !app-emulation/virtualbox-additions - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${MY_PV,,} - !headless? ( - dev-libs/glib - media-libs/fontconfig - media-libs/freetype - media-libs/libpng - media-libs/libsdl[X] - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXft - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - chm? ( dev-libs/expat ) - ) - dev-libs/libxml2 - sys-fs/lvm2 - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXmu - x11-libs/libSM - x11-libs/libICE - x11-libs/libXdmcp - ${PYTHON_DEPS}" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -S="${WORKDIR}" - -QA_PREBUILT="opt/VirtualBox/*" - -PYTHON_UPDATER_IGNORE="1" - -src_unpack() { - unpack_makeself ${MY_P}_${ARCH}.run - unpack ./VirtualBox.tar.bz2 - - mkdir "${S}"/${EXTP_PN} || die - pushd "${S}"/${EXTP_PN} &>/dev/null || die - unpack ${EXTP_P}.tar.gz - popd &>/dev/null || die - - if [[ "${PV}" != *beta* ]] && use sdk ; then - unpack VirtualBoxSDK-${SDK_PV}.zip - fi -} - -src_configure() { - :; -} - -src_compile() { - :; -} - -src_install() { - # create virtualbox configurations files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-config" vbox.cfg - - if ! use headless ; then - newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop - - # set up symlinks (bug #572012) - dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml - - local size ico icofile - for size in 16 24 32 48 64 72 96 128 256 ; do - pushd "${S}"/icons/${size}x${size} &>/dev/null || die - if [[ -f "virtualbox.png" ]] ; then - doicon -s ${size} virtualbox.png - fi - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="virtualbox-${ico}.png" - if [[ -f "${icofile}" ]] ; then - doicon -s ${size} ${icofile} - fi - done - popd &>/dev/null || die - done - doicon -s scalable "${S}"/icons/scalable/virtualbox.svg - insinto /usr/share/pixmaps - newins "${S}"/icons/48x48/virtualbox.png ${PN}.png - fi - - pushd "${S}"/${EXTP_PN} &>/dev/null || die - insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom - popd &>/dev/null || die - rm -rf "${S}"/${EXTP_PN} - - insinto /opt/VirtualBox - dodir /opt/bin - - doins UserManual.pdf - - if [[ "${PV}" != *beta* ]] && use sdk ; then - doins -r sdk - fi - - if use additions; then - doins -r additions - fi - - if use vboxwebsrv; then - doins vboxwebsrv - fowners root:vboxusers /opt/VirtualBox/vboxwebsrv - fperms 0750 /opt/VirtualBox/vboxwebsrv - dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - if use rdesktop-vrdp; then - doins rdesktop-vrdp - doins -r rdesktop-vrdp-keymaps - fperms 0750 /opt/VirtualBox/rdesktop-vrdp - dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp - fi - - if ! use headless && use chm; then - doins kchmviewer VirtualBox.chm - fowners root:vboxusers /opt/VirtualBox/kchmviewer - fperms 0750 /opt/VirtualBox/kchmviewer - fi - - # This ebuild / package supports only py2.7. When py3 comes is unknown. - # The compile phase makes VBoxPython2_7.so. - # py3 support would presumably require a binary pre-compiled by py3. - use python && doins VBoxPython.so - - rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ - vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ - VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ - webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ - 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ - VBoxPython?_*.so - - if use headless ; then - rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so - fi - - doins -r * - - # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) - dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so - dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so - dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so - dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so - dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so - - local each - for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 0750 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. - for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 4750 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - - if ! use headless ; then - # Hardened build: Mark selected binaries set-user-ID-on-execution - for each in VBox{SDL,Headless} ; do - fowners root:vboxusers /opt/VirtualBox/${each} - fperms 4510 /opt/VirtualBox/${each} - pax-mark -m "${ED%/}"/opt/VirtualBox/${each} - done - - dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL - else - # Hardened build: Mark selected binaries set-user-ID-on-execution - fowners root:vboxusers /opt/VirtualBox/VBoxHeadless - fperms 4510 /opt/VirtualBox/VBoxHeadless - pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless - fi - - exeinto /opt/VirtualBox - newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" - fowners root:vboxusers /opt/VirtualBox/VBox.sh - fperms 0750 /opt/VirtualBox/VBox.sh - - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP - dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless - dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - local udevdir="$(get_udevdir)" - insinto ${udevdir}/rules.d - doins "${FILESDIR}"/10-virtualbox.rules - sed "s@%UDEVDIR%@${udevdir}@" \ - -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die - # move udev scripts into ${udevdir} (bug #372491) - mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update - - udevadm control --reload-rules && udevadm trigger --subsystem-match=usb - - elog "" - if ! use headless ; then - elog "To launch VirtualBox just type: \"VirtualBox\"" - elog "" - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Please visit http://www.virtualbox.org/wiki/Editions for" - elog "an overview about the different features of ${PN}" - elog "and virtualbox-ose" - if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update - xdg_mimeinfo_database_update -} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 75646af17fe9..c9368f912fb9 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,13 +1,15 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.42-137960.tar.gz 26740542 BLAKE2B 0246148d436c163eab0363b6b5ed05ec43f2ce9a1124ef504cdf9f30e0bdd479567225f013d2fa2ef39bae0af18e60ef4996d37f65552cca74d8fc76d2976f40 SHA512 0f3a963abf99599094d6bff9617d401338209ce6dba08285a006e17a68b927cd19ea5e17151afc5466c9e00df1fe75ca01fdc5d11a45be5a9d7d4e7649916fc6 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c +DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.44-139111.tar.gz 26740456 BLAKE2B dfec5893d0cf194bfe277c834e8477a0a3c91c5e8426b14155e8c5e34e949130d1402ee823bb698a3025834d196608d82b54df240ba1adbd8d8bc2967608f9a9 SHA512 f3a09b906df41c1de008ac7abe80cde9076a24a3175e9ac84101b95ccabeb9b374660b6d23b131ad27ed9038b4916201b0166d98e0c18e346af4132bc44000c9 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.22-137980.tar.gz 23238402 BLAKE2B ea7105747fe776475ae66bf99354017c7a3e33343bb044722ccf5245daefa33581e2092fd04e03e9916b1150a7b46eb691ef4faaf28ecedb82a8e5c66b02a22f SHA512 c45cad50fbb521307fed127499955c261416fbc6958e87770238ef45865caefdd61837db17d61e57ef030a712f53ec1f452b89849fa5f7881f3cd62d481185eb +DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.24-139119.tar.gz 23238486 BLAKE2B cad4e6822b51db05fb0b919f4c44ace1743a9d2b5ebcc0da6fe3c9ec43612ec6079614f5d3a9423c320e65b5438089aeef42f331946eb74093e3f8b1ef137300 SHA512 4be76fffb8508dda561e74daf68c71641a0903e554ecdf6b102f3fe35af03883bc88c2ac3cbdae2b3ddfb7ee5c9bdfa8df670662eef139f2a894dea4aa6f2e18 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.tar.gz 10999054 BLAKE2B cf802b561882541399baff74c2d75b33aa70bf8f909b616bbddcde0d98b41927f65ec5ac25e5d89598ae931c1c3c9fe7cc9cba17cb52b87b8d7f46ef935a376b SHA512 9cea8f8547eb4e90df1ec43ee4d2bf4be17f6ec8dd62013589f23019a30e0dd15e37945dca67790628d3f49d6103cf1dc9c53344589d2ce785fef8acf7c81cb9 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.tar.gz 11141691 BLAKE2B ac4cae428d15fa503b47337c5d2bab3e21197b82192fa2009216e438d06b867b17a62890c7525d232919751a5eec770f0ecd835c93aa3e67bcbf13b94d8d5344 SHA512 2abc9f6aaadfd6b0bb65df7eb9c45155ea2ec0d215aedd7589a76753b7323fef47c4799322ed973ef92baf1d64835dc813a235001be2cf4e166e474d5b6e2afc EBUILD virtualbox-extpack-oracle-5.2.40.137108.ebuild 1016 BLAKE2B 9049f56537acc2a23a9e69123a052573551722850f8f32fe65caa0d017f6763df7fecd31ca427256e427cc2bb8210b50296e81d205d9ff20460ec6e44b22d07f SHA512 c27d915ee2998e99d1ecd1edb11f6c19ff96be24df9ff3dc43baad205d65ab47865547ce8b250b3b76fbb3b621fa363e508aba9f7ca61577b8d943358408ef39 EBUILD virtualbox-extpack-oracle-5.2.42.137960.ebuild 1015 BLAKE2B 6af84530124431fd6e8241cb385b0b27cb41c12b5d04edbe5373e4affe7c34797b6d98cc0d6afaf71fd23ed988ef6ca9d99a14be72e556a91ccb1d1a6a89bf24 SHA512 f192bd763c026bf0f27896e2befd06e08c5f47c954b7870a7819bda2663d4f7cec1f4d1ccb5b6f8508334c3a37601d1af95cba7ecc8eccf16343294ceb2e2539 -EBUILD virtualbox-extpack-oracle-6.0.20.137117.ebuild 1076 BLAKE2B 834c70f79df82d91264a8112981662904434e7f1239c55f18d6a04cbd75816ec39748850dbc94efa6f991ebd4bf77461a461547b48af5c1c1d5918df766d249b SHA512 aff585b17b9a5331f395fda5540fe066b5069e6940de3c4846a5d8a2052e0d6e5430a612278741d8db35f9f6b7c99a90a7ee3a4d21f16c87f556e88ffb003bd3 +EBUILD virtualbox-extpack-oracle-5.2.44.139111.ebuild 1015 BLAKE2B 6af84530124431fd6e8241cb385b0b27cb41c12b5d04edbe5373e4affe7c34797b6d98cc0d6afaf71fd23ed988ef6ca9d99a14be72e556a91ccb1d1a6a89bf24 SHA512 f192bd763c026bf0f27896e2befd06e08c5f47c954b7870a7819bda2663d4f7cec1f4d1ccb5b6f8508334c3a37601d1af95cba7ecc8eccf16343294ceb2e2539 EBUILD virtualbox-extpack-oracle-6.0.22.137980.ebuild 1073 BLAKE2B d8455cc34906468bcca74b6b97d036697f73ccaa7a9e4dd8e75c0788d77992fa47cf17b36af62252d1ab60d414139d2e6d91573205e511bdab74811dea664fae SHA512 be6697071823d650e389c892bf09fb84b5aa5ca98211ee2b13e9af3aaa5182890ab3f1d3b7fc004c9995c645e9c2a2a279dd2c8676ced2802406a7ce9d1e46a6 +EBUILD virtualbox-extpack-oracle-6.0.24.139119.ebuild 1073 BLAKE2B d8455cc34906468bcca74b6b97d036697f73ccaa7a9e4dd8e75c0788d77992fa47cf17b36af62252d1ab60d414139d2e6d91573205e511bdab74811dea664fae SHA512 be6697071823d650e389c892bf09fb84b5aa5ca98211ee2b13e9af3aaa5182890ab3f1d3b7fc004c9995c645e9c2a2a279dd2c8676ced2802406a7ce9d1e46a6 EBUILD virtualbox-extpack-oracle-6.1.10.138449.ebuild 1068 BLAKE2B 33ade4b37520ea9e963ccdb462ab3e84b9670440490d30eed75dadf10facdbca1573e438d011365c8489240c06cb9ec6c208c1cc2197ad9f40e8623afcef9fa6 SHA512 0bf4c4bb7bde40d808056b2ac8877bda00c5e529f3056f1e476222ab7c8bbcb0eb6478c3636e012037c00407ae9b9a3f47271742272fa9262270b435a3312611 -EBUILD virtualbox-extpack-oracle-6.1.6.137129.ebuild 1071 BLAKE2B d8c46395b88466c746fbc274c119a5652d880f644acd0576414376f6d82252721d49411419c753b80f15e3fa705db2382cfbe342e7e763ac7c08a6220205e627 SHA512 fa526b387146216ef4f0482b0da80e24507600c3203b1bc7042fec5d1e1a417c22158f27938ee6d2751c647458ccc03a429ec0bf1d14fd431e60accfc0df3bcd +EBUILD virtualbox-extpack-oracle-6.1.12.139181.ebuild 1069 BLAKE2B 1dbace4c1b88337c04a09a89c32533a36b88d4ba82e00ff239220efb12160f7326f412e62d6db72e9f6c36f8008071f9fb23496dabde8ffb3e30979c078dec38 SHA512 64a1dd45b2981757e7e2f43b16ea88f885f1de58291e49d8d70ac1a3aa0a82e608475f9cc47a097160ef7fa3b37d346fdae826a589c786b6ad496892db154dc1 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.44.139111.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.44.139111.ebuild new file mode 100644 index 000000000000..2fc240e4fcb4 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.44.139111.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.20.137117.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.20.137117.ebuild deleted file mode 100644 index 3d25ea18f426..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.20.137117.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL-10" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="~app-emulation/virtualbox-${DEP_PV}" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild new file mode 100644 index 000000000000..f47c45cca29a --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.24.139119.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild new file mode 100644 index 000000000000..292f61b0055b --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.12.139181.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +MAIN_PV="$(ver_cut 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(ver_cut 5-6)" + DEP_PV="${MY_PV}" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" + DEP_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(ver_cut 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="bindist mirror strip" + +RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.6.137129.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.6.137129.ebuild deleted file mode 100644 index f7bc23ab4f99..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.6.137129.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL-10" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="~app-emulation/virtualbox-${DEP_PV}" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 3116637ff69a..bb4147a90d87 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -7,19 +7,22 @@ AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18 DIST VirtualBox-5.2.42.tar.bz2 124013981 BLAKE2B e22c80861727b14175db6eb476e78ad620e35cdfd480e83331306bbc251e1cf6d21a3dba15b0db1c516c530f0a58dca7d9c70748c8b194a2cf5fe7dfc9c0b80c SHA512 d396d34c0cbc652ad66b7c0e5b8bf206f29e751612543173f01f498f16e113ace0da64e674cd398c1fc0309f46ff99823c8b1000ffc8a7a453bcf8646af2900a -DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f +DIST VirtualBox-5.2.44.tar.bz2 124016934 BLAKE2B da75f107a16d28663a491846a730541b406b68b34962c5ac8bbaee5c05558a2ca1a80ebe67b993bad95b0df5ea5f599e33d037d566e03427dff7e02769ac14d6 SHA512 329b5f8bc4902214d740b2089731c41d1185e76621a5438045e13d03dae739f902fb159b70cb22d1fecbecdf5c2b516ef49ad426cdc606a018e65713dec4ed26 DIST VirtualBox-6.0.22.tar.bz2 159831666 BLAKE2B 7c8878aec9ce1d5caf44677fa64119f0c0e99a111780a68c93702ff6681c48760d9622e91260b92096ca881fdf715bcb382e6eb2112b82567232b0014f1d975d SHA512 83aa7469e99abbe2d9da99102fb4e15bc5347bae06fe954f82d07eaaeccded1d92cf56b01c238c6cbc2b611fcb30e5dd6af91444278c166529c5b8972acdb657 +DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534 DIST VirtualBox-6.1.10.tar.bz2 164989732 BLAKE2B 0f6d681462245dec10f651c1fac9e7ff5ee1e361d86cb764d84df46a4a51a0e413f8b1ab233e34af53fa3fda14ca17542e4d5c148e857548e03ff80ad2af22ee SHA512 729840d669281ed3ba2936923a50410e52bcec3fcfd5b6b740d5991aa1c25c2a8f5a5a05b4e3e39ef1a271ab3431d4c4f4b3a1262703d1e281d7111f0d4e8a3b -DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a +DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193 DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c -DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d +DIST virtualbox-5.2.44-patches-01.tar.xz 3608 BLAKE2B 6656f1eef7281dcd89e685cfc5403a6e7cd8d3f226d8cca8efa12c2c20339cb68b6f9b259c3de7925fc55433aa93ef7552dfe0441b9ef4a17a733282f791a62e SHA512 0f6a78e9b60b4fff71e87ba13c6a2af255a234f64e2a5f2be79aaf52146e2ab94c0e52def9096a32baf67c66e048f7ae9606a5e4010e9a1de5f31eec831ee892 DIST virtualbox-6.0.22-patches-01.tar.xz 3464 BLAKE2B 03ec3460f1f072c4f673e14a66b1f36de95f55c0c893482434049e077e0eff6d3724a8f1f6046d5ddff66675a9a39ecd2e40a6f43904bd575ba86505ed5e0ade SHA512 44875f8eda2e433bfe3b85551d3157c5b5d1740689e05c54772c78f9feba80ed08df88f99f9dd0d0f26d0912b00919e7ed5c38583a8ddc8e8e7e962d89cd2374 -DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42 +DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029 DIST virtualbox-6.1.10-patches-01.tar.xz 2640 BLAKE2B 4aeeb596bcaf6b57a707c08211408d760092187710ce468f3e60bb7e66f22b04db4f4c58d06cea4cf7d4b69c9cfd2ebee5c2c5b8b93766097cf8c7cf9ebd8ae5 SHA512 24393d6e7cb62b65d79dc407f25fba42994d37a761c6c111ab952800715b1ee966ba4f7403a4e79fbf67035c72ef5aa3d1f203bdd69c6078894564018aa284c0 -EBUILD virtualbox-guest-additions-5.2.40.ebuild 6142 BLAKE2B d8408ad427b7799bee605a69fe3924ab51d79308ac864abd0bfa686fb388eccba5488beeab6b70546a144052f9c6b1d577ebc2d6966550f1d28409c4098ac5c5 SHA512 5f4bcc70576a4c9140deab81c7033496b54a8854c92e8c628d6f78773333a7604b38697f2869f79c1d21c72584b9c57e1cde38bbfca33a7f5657c728825fe4ef -EBUILD virtualbox-guest-additions-5.2.42.ebuild 6333 BLAKE2B 6946f09df7973fe5b2df6e4c5c10edd16f49fb2620aac6b64d168090ddd6dc5033b1ae9b1cdc87503475d72e6781fd49c90f92fa02247228f3932e141310befc SHA512 c2559589c4cc69e189fb2a355ff9e01b75c9f3a1f2cb0a61283273b9360b7f0fad02f7937721a436997694a591a8ef9d82846f88c0951931e484f4c0b8289ee3 -EBUILD virtualbox-guest-additions-6.0.20.ebuild 5971 BLAKE2B d2aca16b35685ff57a6ff7242e2e97f1b57a36e20f168217ee3a00b13b4331797a9fffd33f58b8a12fcb6b69a35582050d244f4a4b57710f857b530490ca61ad SHA512 7d8b04f85ef1cac52ddda9db7c18788968528343b8f111d68eac8cb7ac155b507067486aa9d77151f20e2423f987208be9648fa554a20cac9cf34d90b0f43eb5 -EBUILD virtualbox-guest-additions-6.0.22.ebuild 6161 BLAKE2B 37939d8463f3c9b6de3b5a3663cad04992845ec9fdd976b450e2df94154cdbef71aa3630c31a43141b1b41369a551c5624e1b0c5e8aee870ec26bdefebc17b76 SHA512 b82b2625505701aa9fc12024fb2ba9780fb8806ede4a476def8988b8601256e37823d7cb0e1fd8fdb6ba3889594980a1b05af6d68ca4106e269dec806f554f72 -EBUILD virtualbox-guest-additions-6.1.10.ebuild 6095 BLAKE2B 73efe63b18e5d9b5cf18d434de968f62f25821f616e62d63105b0ac556c5f88411b93c0f7ff1d79d8b7f614c9b733858453cf2cde430b04d80b04e46dac47f1b SHA512 42a3e45c5263f152b4bfafe777475e8a5d292004d6845908d1e2ffeb711291e40fa164b793aa71b22a26cdd087bb4b87288b7dabb8af470aea0fe3c0de8bd61f -EBUILD virtualbox-guest-additions-6.1.6.ebuild 5908 BLAKE2B 66efeeec93ad81817b29a91a7d11ce925175f9ed4a6090b73bc0c8680872c62fe9758f22bab238dd52e957cb04060e248697ad47cc2d6eceae772672fc33113b SHA512 4c82f114e15a190ad72e87a670ce45b042e8220b6a0c84b572b108d593fa516572bc2865871da66fdcd3ef4ae917dcf8c46a6c947a9aa1f434a855ddc94bb7bf +DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 +EBUILD virtualbox-guest-additions-5.2.40-r1.ebuild 6142 BLAKE2B d8408ad427b7799bee605a69fe3924ab51d79308ac864abd0bfa686fb388eccba5488beeab6b70546a144052f9c6b1d577ebc2d6966550f1d28409c4098ac5c5 SHA512 5f4bcc70576a4c9140deab81c7033496b54a8854c92e8c628d6f78773333a7604b38697f2869f79c1d21c72584b9c57e1cde38bbfca33a7f5657c728825fe4ef +EBUILD virtualbox-guest-additions-5.2.42-r1.ebuild 6333 BLAKE2B 6946f09df7973fe5b2df6e4c5c10edd16f49fb2620aac6b64d168090ddd6dc5033b1ae9b1cdc87503475d72e6781fd49c90f92fa02247228f3932e141310befc SHA512 c2559589c4cc69e189fb2a355ff9e01b75c9f3a1f2cb0a61283273b9360b7f0fad02f7937721a436997694a591a8ef9d82846f88c0951931e484f4c0b8289ee3 +EBUILD virtualbox-guest-additions-5.2.44-r1.ebuild 6333 BLAKE2B aae6b20eff132ea1a98353ece042a27c3f57d2329acf8cac6614d3c5b97bdb8b9b1d962ac25899e41f7cc756ae447c64912a451b6eb7efb7bcd51f24442e1b31 SHA512 60bb791acc7c06a8b03d659c4357378a5c7ba93f51365c4613ec7cf7908ed38bb80b21d6a7a01b9f03fa84e2a5251b94799fd895c5446034015b40d77d3a4926 +EBUILD virtualbox-guest-additions-6.0.22-r1.ebuild 6095 BLAKE2B 9cfc5cd216875ecd304c5cfeeb67ab34a476b3842295b2855939c0fb894888347da0ae10166411d370a61584c3d41ac3bfc2d9ad48b150d287db36e32c87f49c SHA512 585349f67d7ff9bcee9600fa1547d850d5a343ba165b6c4cc8b9dc6f9ab96668786c5816e510f0090d79e113d2c66c6938f118f71b28bd9a7abe4274e1b74894 +EBUILD virtualbox-guest-additions-6.0.24-r1.ebuild 6161 BLAKE2B a9de5b39184d397bfe72c97b2f82848cba33a4efc68a0dbdb8381e0baa8a5009b3127006d561c4537295598f4fdcd413dd44fa9979e776ff911a264b4010fbdb SHA512 1b7d3e973b067e80597bc87726aaa3184497a38bb61354a73590c8451428f8557a8ac7156fa25e8643718f36ddc5885979eb4b693717183aeacb36483b951dbb +EBUILD virtualbox-guest-additions-6.1.10-r1.ebuild 6095 BLAKE2B 73efe63b18e5d9b5cf18d434de968f62f25821f616e62d63105b0ac556c5f88411b93c0f7ff1d79d8b7f614c9b733858453cf2cde430b04d80b04e46dac47f1b SHA512 42a3e45c5263f152b4bfafe777475e8a5d292004d6845908d1e2ffeb711291e40fa164b793aa71b22a26cdd087bb4b87288b7dabb8af470aea0fe3c0de8bd61f +EBUILD virtualbox-guest-additions-6.1.12a-r1.ebuild 6189 BLAKE2B 3b87e29e0f2b91213f8288ab026f9f7d7d9bb3b5a48d7e6a7547ce1e841c45644f801075a4e30fdd3d5834a6e62c39f3135c56ba9558a11dba9de8469164e29d SHA512 95a3ba85b89173a4950741acde4c9eeb081d7825a93fd0859f614ec263c6058fe14c3730fd5ef0e3fb5488d99bea60ae4b7696f6763086a886889d9eabe9ddc2 MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40-r1.ebuild new file mode 100644 index 000000000000..0950ac45f197 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40-r1.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd user toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="X" + +RDEPEND=" + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) + vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}" +} + +src_unpack() { + unpack ${A} + + # Create and unpack a tarball with the sources of the Linux guest + # kernel modules, to include all the needed files + "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" + unpack ./vbox-kmod.tar.gz + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + cd "${S}" + rm -rf kBuild/bin tools +} + +src_prepare() { + # PaX fixes (see bug #298988) + pushd "${WORKDIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # stupid new header references... + local vboxheader mdir + for vboxheader in {product,revision,version}-generated.h ; do + for mdir in vbox{guest,sf} ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/${mdir}/${vboxheader}" + done + done + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_preinst() { + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40.ebuild deleted file mode 100644 index 0950ac45f197..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.40.ebuild +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd user toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="X" - -RDEPEND=" - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) - vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}" -} - -src_unpack() { - unpack ${A} - - # Create and unpack a tarball with the sources of the Linux guest - # kernel modules, to include all the needed files - "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" - unpack ./vbox-kmod.tar.gz - - # Remove shipped binaries (kBuild,yasm), see bug #232775 - cd "${S}" - rm -rf kBuild/bin tools -} - -src_prepare() { - # PaX fixes (see bug #298988) - pushd "${WORKDIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # stupid new header references... - local vboxheader mdir - for vboxheader in {product,revision,version}-generated.h ; do - for mdir in vbox{guest,sf} ; do - ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ - "${WORKDIR}/${mdir}/${vboxheader}" - done - done - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" \ - emake TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_preinst() { - enewgroup vboxguest - enewuser vboxguest -1 /bin/sh /dev/null vboxguest - # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist - enewgroup vboxsf -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42-r1.ebuild new file mode 100644 index 000000000000..b4430dc522ef --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd user toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND=" + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) + vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_unpack() { + unpack ${A} + + # Create and unpack a tarball with the sources of the Linux guest + # kernel modules, to include all the needed files + "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" + unpack ./vbox-kmod.tar.gz + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + cd "${S}" + rm -rf kBuild/bin tools +} + +src_prepare() { + # PaX fixes (see bug #298988) + pushd "${WORKDIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # stupid new header references... + local vboxheader mdir + for vboxheader in {product,revision,version}-generated.h ; do + for mdir in vbox{guest,sf} ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/${mdir}/${vboxheader}" + done + done + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake\ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_preinst() { + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42.ebuild deleted file mode 100644 index b4430dc522ef..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.42.ebuild +++ /dev/null @@ -1,232 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd user toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="X" - -RDEPEND=" - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) - vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_unpack() { - unpack ${A} - - # Create and unpack a tarball with the sources of the Linux guest - # kernel modules, to include all the needed files - "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" - unpack ./vbox-kmod.tar.gz - - # Remove shipped binaries (kBuild,yasm), see bug #232775 - cd "${S}" - rm -rf kBuild/bin tools -} - -src_prepare() { - # PaX fixes (see bug #298988) - pushd "${WORKDIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # stupid new header references... - local vboxheader mdir - for vboxheader in {product,revision,version}-generated.h ; do - for mdir in vbox{guest,sf} ; do - ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ - "${WORKDIR}/${mdir}/${vboxheader}" - done - done - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake\ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_preinst() { - enewgroup vboxguest - enewuser vboxguest -1 /bin/sh /dev/null vboxguest - # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist - enewgroup vboxsf -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.44-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.44-r1.ebuild new file mode 100644 index 000000000000..7c62694fd2ac --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.44-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd user toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.44-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND=" + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) + vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_unpack() { + unpack ${A} + + # Create and unpack a tarball with the sources of the Linux guest + # kernel modules, to include all the needed files + "${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz" + unpack ./vbox-kmod.tar.gz + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + cd "${S}" + rm -rf kBuild/bin tools +} + +src_prepare() { + # PaX fixes (see bug #298988) + pushd "${WORKDIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # stupid new header references... + local vboxheader mdir + for vboxheader in {product,revision,version}-generated.h ; do + for mdir in vbox{guest,sf} ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/${mdir}/${vboxheader}" + done + done + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake\ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_preinst() { + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.20.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.20.ebuild deleted file mode 100644 index c4a0a45622b2..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.20.ebuild +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.20-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" \ - emake TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22-r1.ebuild new file mode 100644 index 000000000000..edc3f50b8fc7 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22-r1.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.22-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22.ebuild deleted file mode 100644 index 1740ba5d8a38..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.22.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.22-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild new file mode 100644 index 000000000000..cb1ff36699e4 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.24-r1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.24-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10-r1.ebuild new file mode 100644 index 000000000000..85bf1540849b --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10-r1.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="VirtualBox-${MY_PV}" +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.10-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10.ebuild deleted file mode 100644 index 85bf1540849b..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.10.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.10-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ - TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild new file mode 100644 index 000000000000..24c3f7e1b184 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.12a-r1.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-mod systemd toolchain-funcs + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="${MY_PN}-${MY_PV}" +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die + eend + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd ${PN} + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ + || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.6.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.6.ebuild deleted file mode 100644 index 6779b7c6ccc0..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.6.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit linux-mod systemd toolchain-funcs - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P="VirtualBox-${MY_PV}" -DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.0_rc1-patches-01.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="X" - -# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist -RDEPEND=" - acct-group/vboxguest - acct-group/vboxsf - acct-user/vboxguest - X? ( x11-apps/xrandr - x11-apps/xrefresh - x11-libs/libXmu - x11-libs/libX11 - x11-libs/libXt - x11-libs/libXext - x11-libs/libXau - x11-libs/libXdmcp - x11-libs/libSM - x11-libs/libICE ) - sys-apps/dbus -" -DEPEND=" - ${RDEPEND} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/pam - sys-power/iasl - x11-base/xorg-proto -" -PDEPEND=" - X? ( x11-drivers/xf86-video-vboxvideo ) -" -BUILD_TARGETS="all" -BUILD_TARGET_ARCH="${ARCH}" - -S="${WORKDIR}/${MY_P}" -VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" - -pkg_setup() { - export DISTCC_DISABLE=1 #674256 - MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) - vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" - use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" - - linux-mod_pkg_setup - BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Provide kernel sources - pushd src/VBox/Additions &>/dev/null || die - ebegin "Extracting guest kernel module sources" - kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die - eend - popd &>/dev/null || die - - # PaX fixes (see bug #298988) - pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die - eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch - popd &>/dev/null || die - - # Disable things unused or splitted into separate ebuilds - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk - - # Remove pointless GCC version check - sed -e '/^check_gcc$/d' -i configure || die - - eapply "${WORKDIR}/patches" - - eapply_user -} - -src_configure() { - # build the user-space tools, warnings are harmless - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - MAKE="kmk" \ - emake TOOL_YASM_AS=yasm \ - VBOX_ONLY_ADDITIONS=1 \ - KBUILD_VERBOSE=2 - - # Now creating the kernel modules. We must do this _after_ - # we compiled the user-space tools as we need two of the - # automatically generated header files. (>=3.2.0) - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install - - cd "${S}"/out/linux.${ARCH}/release/bin/additions || die - - insinto /sbin - newins mount.vboxsf mount.vboxsf - fperms 4755 /sbin/mount.vboxsf - - newinitd "${FILESDIR}"/${PN}-8.initd ${PN} - - insinto /usr/sbin/ - newins VBoxService vboxguest-service - fperms 0755 /usr/sbin/vboxguest-service - - insinto /usr/bin - doins VBoxControl - fperms 0755 /usr/bin/VBoxControl - - # VBoxClient user service and xrandr wrapper - if use X ; then - doins VBoxClient - fperms 0755 /usr/bin/VBoxClient - - pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \ - || die - newins 98vboxadd-xclient VBoxClient-all - fperms 0755 /usr/bin/VBoxClient-all - popd &>/dev/null || die - fi - - # udev rule for vboxdrv - local udev_rules_dir="/lib/udev/rules.d" - dodir ${udev_rules_dir} - echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ - >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ - || die - - # VBoxClient autostart file - insinto /etc/xdg/autostart - doins "${FILESDIR}"/vboxclient.desktop - - # sample xorg.conf - dodoc "${FILESDIR}"/xorg.conf.vbox - docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox - - systemd_dounit "${FILESDIR}/${PN}.service" -} - -pkg_postinst() { - linux-mod_pkg_postinst - if ! use X ; then - elog "use flag X is off, enable it to install the" - elog "X Window System video driver." - fi - elog "" - elog "Please add users to the \"vboxguest\" group so they can" - elog "benefit from seamless mode, auto-resize and clipboard." - elog "" - elog "The vboxsf group has been added to make automount services work." - elog "These services are part of the shared folders support." - elog "" - elog "Please add:" - elog "/etc/init.d/${PN}" - elog "to the default runlevel in order to start" - elog "needed services." - elog "To use the VirtualBox X driver, use the following" - elog "file as your /etc/X11/xorg.conf:" - elog " /usr/share/doc/${PF}/xorg.conf.vbox" - elog "" - elog "Also make sure you use the Mesa library for OpenGL:" - elog " eselect opengl set xorg-x11" - elog "" - elog "An autostart .desktop file has been installed to start" - elog "VBoxClient in desktop sessions." - elog "" - elog "You can mount shared folders with:" - elog " mount -t vboxsf " - elog "" - elog "Warning:" - elog "this ebuild is only needed if you are running gentoo" - elog "inside a VirtualBox Virtual Machine, you don't need" - elog "it to run VirtualBox itself." - elog "" -} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 8fec2791b11e..012eb6cb6381 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -4,14 +4,16 @@ AUX virtualbox.conf 38 BLAKE2B 4f03cb09a1cca36013beb2a38220115d63510fd0aa63e2df1 AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a DIST vbox-kernel-module-src-5.2.40.tar.xz 644200 BLAKE2B 0083423831bcec17f4960747c3ae939a8b4a5d2f89d6f09ad88308b078035bc6f068314d2c74182c9bb7ea0007e9c6a5b3eaa8f48ce58330294a78f66ed3faa5 SHA512 b62359104fdd0a1fd2b506cec2e4b71fa9582f1a89088d3a45791835981e1cd2e0895861b688cfbd7306454aa66c18bcd1444b26181f084b7af69f43d3e9b499 DIST vbox-kernel-module-src-5.2.42.tar.xz 644208 BLAKE2B c96e5f6dcfb695ab04327d484e532f291a7f25b1eeaaed8394edf911fa70190317af4732b9c4e5cc7d2402bbaf0cc3dba3cf474968ab67bbbc18cfc23baa88c5 SHA512 67d5881bcc1dd23a41e27c0ba51d5f9b7c768590906baec33d341758aef2f525c4f0df95a9b477c2b5a0f5f41476bfe96120bca45eec748974b17e667dd6785e -DIST vbox-kernel-module-src-6.0.20.tar.xz 670656 BLAKE2B ccd4130272545e57fa64f56adcc3b16d96dac2e6e44f8057a447fddb9c51e3be7729298b835b7e335a7d0e58e0603d96ee084547375a331209cf6fa3751868cd SHA512 fa7fd8dbff39bf65852522481c4725be7aeedb3052f7a628f15defd78dd8353ae3466a294f25bc51b555db9da774ad8ca756fa8d01f45af250ab57f7e2ce7193 +DIST vbox-kernel-module-src-5.2.44.tar.xz 644468 BLAKE2B 520dbe8ca7a01e2f6f62ea13f1031b03473d56095ca174962ccc88549fbef3615332193e17593119956317f2d93da9e63ffa7fb14b6783d40bcee88360a74444 SHA512 61cc3b1c8ad58adfc0451b1a03b213ce4fff78e8c55f12ddce89cf7f6bb1abe94f035d2fc2867270f6f36f773019b1a66a2f6ae735fdc70aeba1ff9645de02d3 DIST vbox-kernel-module-src-6.0.22.tar.xz 670780 BLAKE2B dc4055e3db4a59ff174989a0dc63e844bb70aa13a0ee7d9fc49db22cf1106df956aca11b039df5e67bfcfe848f8c287842e8ec30d8025ac1474ee26d10745354 SHA512 f1b2e4b3acc5effbc0b513e27623959e87d65001b0dd5c42ee09aa2db5261d534cc193329db09d01e7a7105a1f6f80e53a68f9312205d2b4e18e38834d82a1db +DIST vbox-kernel-module-src-6.0.24.tar.xz 670960 BLAKE2B 26e4b1b6b9ab8c8fd0312b2162fe745dc11ef3f8a7e2f08f49df9d9ef346ec21b64e4a0a480bd726e9cca6ab2ce5d3cf2637aa8923c0843bf78a3ed160b98810 SHA512 9b1093307dffeb64f3ec22c4797268858e1fcc729403e89294c2e3cf0852662b7b0aad4416a593fd25b2107a1995d6bc17078f072b6f7718ed111ab61df8324e DIST vbox-kernel-module-src-6.1.10.tar.xz 666960 BLAKE2B e1f393a0f7735f4cb692d9feb22c3b6ec371fef04793b1a2f7cc2cadab450539c464f1a97f026c323ae162b853b738b3d6bb3bfde0c3bb854be4da2d251af5e8 SHA512 7ae56ac2d982649448e4dfe93beff22630c35ad40f764cffaaecf3b00c1a598043b7675e1f8eebf17059aa73da6273f0982dbc8377d9878be0712895d1332560 -DIST vbox-kernel-module-src-6.1.6.tar.xz 667048 BLAKE2B 00cdddc108d54cb829e771eac1c95f254e97465960b50f6f95595cf4f25485146d9d807de903152f3472a9e57246379f15ea82f6464fc00053e4b6b6e9dbeebe SHA512 5fb91051d6f41c25f4ac642249f2dac289c06134d3815578c094db089dc36903a573913933c34d32e8bbf5d704f7225eabb849fd559430247a89a713f059012e -EBUILD virtualbox-modules-5.2.40.ebuild 1470 BLAKE2B 1d02bf0795851604467a9df85d63d6de1793706f816e72a4d706be12aa0c1d338fff794588c5bf1e34855348904053ae3914895391b38cb8f593db0cdd3d4ab5 SHA512 36aaf5718aa036dc162cb16579eaa21069cc900098fa5f8e3d10fb1cbf67509a350ea1a7effce5931988f54ce9b625518695ee70e77ae4bca780443cfc1eaa24 -EBUILD virtualbox-modules-5.2.42.ebuild 1472 BLAKE2B 76c697e33543678cae5e7c1840d5e2307378c453924a2c42d68e2adb4570b2531d31659e6166a975d2b987e80e61299d6480aa214601400704f56e45a3542775 SHA512 7880a11d683190338a388e488cfcb6a56ebb352e07f6433709f1254d0dbc113ac23abcfb1e87ead4eaaf35b27c85d45d122e56179b7d2781a38c47548ba1854b -EBUILD virtualbox-modules-6.0.20.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be -EBUILD virtualbox-modules-6.0.22.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be -EBUILD virtualbox-modules-6.1.10.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 -EBUILD virtualbox-modules-6.1.6.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 +DIST vbox-kernel-module-src-6.1.12.tar.xz 667312 BLAKE2B 31b3f7cd60d00e26c3177c4956d493a243e39d6251aeb3f3d72331d2fa85f2c90e884aa3f27e994502d86a34b1683c7d7db54eb1cc233e220f147119f6e9ed5e SHA512 ec4903fdc74e4be28003e8b231a4c8feb6e807bc59789c2729a8ab4199c6decc878468b67bce3a17625f60a33bb1d7c611e7306815091607b1fade2be521ed44 +EBUILD virtualbox-modules-5.2.40-r1.ebuild 1470 BLAKE2B 1d02bf0795851604467a9df85d63d6de1793706f816e72a4d706be12aa0c1d338fff794588c5bf1e34855348904053ae3914895391b38cb8f593db0cdd3d4ab5 SHA512 36aaf5718aa036dc162cb16579eaa21069cc900098fa5f8e3d10fb1cbf67509a350ea1a7effce5931988f54ce9b625518695ee70e77ae4bca780443cfc1eaa24 +EBUILD virtualbox-modules-5.2.42-r1.ebuild 1472 BLAKE2B 76c697e33543678cae5e7c1840d5e2307378c453924a2c42d68e2adb4570b2531d31659e6166a975d2b987e80e61299d6480aa214601400704f56e45a3542775 SHA512 7880a11d683190338a388e488cfcb6a56ebb352e07f6433709f1254d0dbc113ac23abcfb1e87ead4eaaf35b27c85d45d122e56179b7d2781a38c47548ba1854b +EBUILD virtualbox-modules-5.2.44-r1.ebuild 1472 BLAKE2B 76c697e33543678cae5e7c1840d5e2307378c453924a2c42d68e2adb4570b2531d31659e6166a975d2b987e80e61299d6480aa214601400704f56e45a3542775 SHA512 7880a11d683190338a388e488cfcb6a56ebb352e07f6433709f1254d0dbc113ac23abcfb1e87ead4eaaf35b27c85d45d122e56179b7d2781a38c47548ba1854b +EBUILD virtualbox-modules-6.0.22-r1.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be +EBUILD virtualbox-modules-6.0.24-r1.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be +EBUILD virtualbox-modules-6.1.10-r1.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 +EBUILD virtualbox-modules-6.1.12-r1.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345 MISC metadata.xml 353 BLAKE2B d7de13b3a8966ab3bca54ae77f7f6c7dfd57f2c5941f09ab1b5f79ac798687ffaaa183afdf9c034a9d50fda8507a3aaa2ef0c11d0fdfa6e09a55a1bdb9f30f4a SHA512 40029c9a246dde5ed51119f42ec5448b7ae08a47ee4d6be201fef282305c809d7d3182abf807dd2444ffe1a980abcd670878567d948bcd3661a55c6848a37000 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40-r1.ebuild new file mode 100644 index 000000000000..4d5d660417e6 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs user + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + enewgroup vboxusers + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40.ebuild deleted file mode 100644 index 4d5d660417e6..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.40.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs user - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" -# The following is a security measure that comes directly from usptream. -# Do NOT remove this!!! -MODULESD_VBOXPCI_ADDITIONS=( - "blacklist vboxpci" - "install vboxpci /bin/true" -) - -pkg_setup() { - enewgroup vboxusers - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42-r1.ebuild new file mode 100644 index 000000000000..b19665b4c8cb --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs user + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + enewgroup vboxusers + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42.ebuild deleted file mode 100644 index b19665b4c8cb..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.42.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs user - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" -# The following is a security measure that comes directly from usptream. -# Do NOT remove this!!! -MODULESD_VBOXPCI_ADDITIONS=( - "blacklist vboxpci" - "install vboxpci /bin/true" -) - -pkg_setup() { - enewgroup vboxusers - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.44-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.44-r1.ebuild new file mode 100644 index 000000000000..b19665b4c8cb --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.44-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs user + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + enewgroup vboxusers + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.20.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.20.ebuild deleted file mode 100644 index 0dac94ce21ac..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.20.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" -# The following is a security measure that comes directly from usptream. -# Do NOT remove this!!! -MODULESD_VBOXPCI_ADDITIONS=( - "blacklist vboxpci" - "install vboxpci /bin/true" -) - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22-r1.ebuild new file mode 100644 index 000000000000..0dac94ce21ac --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22.ebuild deleted file mode 100644 index 0dac94ce21ac..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.22.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" -# The following is a security measure that comes directly from usptream. -# Do NOT remove this!!! -MODULESD_VBOXPCI_ADDITIONS=( - "blacklist vboxpci" - "install vboxpci /bin/true" -) - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild new file mode 100644 index 000000000000..0dac94ce21ac --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.24-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" +# The following is a security measure that comes directly from usptream. +# Do NOT remove this!!! +MODULESD_VBOXPCI_ADDITIONS=( + "blacklist vboxpci" + "install vboxpci /bin/true" +) + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10-r1.ebuild new file mode 100644 index 000000000000..6ad5644e2ed2 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + # Remove vboxpci.ko from current running kernel + find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10.ebuild deleted file mode 100644 index 6ad5644e2ed2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.10.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild new file mode 100644 index 000000000000..6ad5644e2ed2 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.12-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from virtualbox-bin + +EAPI=7 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +BUILD_TARGETS="all" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" +MODULESD_VBOXDRV_ENABLED="yes" +MODULESD_VBOXNETADP_ENABLED="no" +MODULESD_VBOXNETFLT_ENABLED="no" + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if use pax_kernel && kernel_is -ge 3 0 0 ; then + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} + +pkg_postinst() { + # Remove vboxpci.ko from current running kernel + find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete + linux-mod_pkg_postinst +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.6.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.6.ebuild deleted file mode 100644 index 6ad5644e2ed2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.6.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from virtualbox-bin - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax_kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" -} - -src_prepare() { - if use pax_kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index aa4dd40b8565..b8b36d265b48 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -5,27 +5,28 @@ AUX vboxwebsrv-initd 646 BLAKE2B d71673a3afea56aea69ab1d795d8b265bb5fc62296e35d6 AUX virtualbox-4-config 38 BLAKE2B 8eab341f3264a056a89633fe43dd58f274d0d877602156d97a4dcc6260dd8e446509173742988fa40346e62b1fe9368ff3fc9a97e3316cb919962d9a03340d52 SHA512 5455b70b8ac6f25365bae776b78c3ef5710ae2d5a9e939c7013d72c35f65f178268966ebd291a42666913e45f43c7196f8953331be0b0cc88eba66df39205b08 AUX virtualbox-5-localconfig 1553 BLAKE2B dc1e946e97eb6b19a99b5ecf34640ef09c444637c19ea55ae7f0e34583a048b20ea4049e83ef3714a51e44545c50922b1f2758210145319f9881ca71b7d561d4 SHA512 1ec62f872a19ad76ce7d10ed70ee0503c65e817e123d82c20753e6ae4ac7d2ceb4e236da6be1fe3d63b0b104dd355de2cffd6e9d0ec0603c82fbf89662eeb34b AUX virtualbox-5.2.8-paxmark-bldprogs.patch 2732 BLAKE2B a3966e0f1a990c648cba0dfd245229d66040294f068f5fa3f52d7cd55f56819fa1ed505465bc6e524c147f958af3460ecc9e4c3b1628dcb456067181521b7ef5 SHA512 2c436dd64ff3135ce31dc7ab2c05a38fe0b1b1a2b2cc687b1f58fa09f7de2384a6f067ff67c0ab4ecb5ddd42a94a9379517e1901a085e3cb7f43c38a07c28a16 -AUX virtualbox-6.0.20-qt-5.15.patch 2901 BLAKE2B 8bfae6b0be61dadf2cf7c1abc3d53c4b5ec81da7eda5e3ba9e8cde57b514430ae51d30d6182fcc9ff62bae4e611d44d50d088539991b431ea4dc6e59269e2731 SHA512 695f71848e549d9794e8f3690828ee1a20cfd8e51682710c35a8fb24405c0eb11bf9bcbebdb77eecc282f291588340de0d79fa23a9a609da30b6145ea2bf2455 -AUX virtualbox-6.1.6-qt-5.15.patch 411 BLAKE2B 1fd5cd928daa30e9b7b6c96ef4fe601339083be935ad58655e353793c93615788192b1e0dd6d59391e884709b0898bd361b8002641af00b44060da944612301a SHA512 09e82dcf39d3f281720c638557f5bdec4d4a22ab3f20fbee53271f0527b6a3b814ce6a656b2eb14508118edb1d6dda4e502aced970539f7bb69fa86da35d00ac AUX virtualbox-ose-5-wrapper 3405 BLAKE2B 92001ed3397a22abb5955617451bfb78d1f1f62f9be99cf87c57c42d118abb42b9436a0a83736d882b34360c9f8e67f9a8adaeffe7e9a3456c4ddc93a7850e53 SHA512 96f9ab8e2a83b5aebbb66916cbca0a7af0e2d69285296fe87869f096149791e0491dec2408f21f7249b68d928eebe396ab710a4ec6b6d6bc9c67120d323effa0 AUX virtualbox-ose-6-wrapper 3570 BLAKE2B 730747f4e7517fae218d8abf311e1f30f90bbf0810bdd1ee358dd4250359d501803c2213782310788b2c54a3c57f5195455b89331f02d35be0c5f4713a235b54 SHA512 e7e1e161fa8030234973e18d9d033238ded1f0b511323b642d8102dc062a16e69b6fa63729e88dcf1ef16fa02befd1f36e7242e23db12fa838b25d83f19810ea AUX virtualbox-ose.desktop-2 201 BLAKE2B 05fbf657e8c1d8ec46f1b88e681efd50a4e5ab2a0f32f3fd25ca956e1e9bff6357c69a96628e3eba26b01869b6dc596f68f739f9330fa3018c186dfa0fdcea06 SHA512 a678e237ad0451e8785f242ebf822b4f3b03d2e2280a62f71728f79bdcfc84d3465ee60cad90db75e64b2c89a1b0b224de00519728fb605df67ca7c9aee0874c AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171 DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18 DIST VirtualBox-5.2.42.tar.bz2 124013981 BLAKE2B e22c80861727b14175db6eb476e78ad620e35cdfd480e83331306bbc251e1cf6d21a3dba15b0db1c516c530f0a58dca7d9c70748c8b194a2cf5fe7dfc9c0b80c SHA512 d396d34c0cbc652ad66b7c0e5b8bf206f29e751612543173f01f498f16e113ace0da64e674cd398c1fc0309f46ff99823c8b1000ffc8a7a453bcf8646af2900a -DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f +DIST VirtualBox-5.2.44.tar.bz2 124016934 BLAKE2B da75f107a16d28663a491846a730541b406b68b34962c5ac8bbaee5c05558a2ca1a80ebe67b993bad95b0df5ea5f599e33d037d566e03427dff7e02769ac14d6 SHA512 329b5f8bc4902214d740b2089731c41d1185e76621a5438045e13d03dae739f902fb159b70cb22d1fecbecdf5c2b516ef49ad426cdc606a018e65713dec4ed26 DIST VirtualBox-6.0.22.tar.bz2 159831666 BLAKE2B 7c8878aec9ce1d5caf44677fa64119f0c0e99a111780a68c93702ff6681c48760d9622e91260b92096ca881fdf715bcb382e6eb2112b82567232b0014f1d975d SHA512 83aa7469e99abbe2d9da99102fb4e15bc5347bae06fe954f82d07eaaeccded1d92cf56b01c238c6cbc2b611fcb30e5dd6af91444278c166529c5b8972acdb657 +DIST VirtualBox-6.0.24.tar.bz2 159833756 BLAKE2B 321f7988a5b55a794e2d51937a0752d96eaefb376c12e2fb23be08dff81b164153e19a7d5963a0404f630fb38d6047b9d954a67923f26b2aa16d861a0c6a1b63 SHA512 e6f98d0036cdebc52c78c5ddbce369d9ef0a036c366647b299060e1ccf6942f6b6f899201dfa08c410a039f353b767a41a0d14579c741dc5c034a035cb16c534 DIST VirtualBox-6.1.10.tar.bz2 164989732 BLAKE2B 0f6d681462245dec10f651c1fac9e7ff5ee1e361d86cb764d84df46a4a51a0e413f8b1ab233e34af53fa3fda14ca17542e4d5c148e857548e03ff80ad2af22ee SHA512 729840d669281ed3ba2936923a50410e52bcec3fcfd5b6b740d5991aa1c25c2a8f5a5a05b4e3e39ef1a271ab3431d4c4f4b3a1262703d1e281d7111f0d4e8a3b -DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a +DIST VirtualBox-6.1.12a.tar.bz2 165246721 BLAKE2B e9ee7c10d92b151ab10833c68d0c71a09419bba4dbf86f21401263a98273f5ad5cf628347215d641e80e11d8e77bafeda606822cdd4d02344490fca6b95814ef SHA512 27fe66daf7fa254d9fc4a2cca4a8bbcfbfe6c3387a9f4a740c8ac1297587b5083bccbeef97dcc4e482c4974c843450212e02415b4952eb38b82e179615741193 DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c -DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d +DIST virtualbox-5.2.44-patches-01.tar.xz 3608 BLAKE2B 6656f1eef7281dcd89e685cfc5403a6e7cd8d3f226d8cca8efa12c2c20339cb68b6f9b259c3de7925fc55433aa93ef7552dfe0441b9ef4a17a733282f791a62e SHA512 0f6a78e9b60b4fff71e87ba13c6a2af255a234f64e2a5f2be79aaf52146e2ab94c0e52def9096a32baf67c66e048f7ae9606a5e4010e9a1de5f31eec831ee892 DIST virtualbox-6.0.22-patches-01.tar.xz 3464 BLAKE2B 03ec3460f1f072c4f673e14a66b1f36de95f55c0c893482434049e077e0eff6d3724a8f1f6046d5ddff66675a9a39ecd2e40a6f43904bd575ba86505ed5e0ade SHA512 44875f8eda2e433bfe3b85551d3157c5b5d1740689e05c54772c78f9feba80ed08df88f99f9dd0d0f26d0912b00919e7ed5c38583a8ddc8e8e7e962d89cd2374 +DIST virtualbox-6.0.24-patches-01.tar.xz 3640 BLAKE2B e55c30395978471edd0f291cd34ecb772cce2f27bea88c6fe348e83046777638be9bdd36bf3a2fd1967357ea7ff53936398cd94ee74d8e55d31c1896069404ff SHA512 b8d9395083769a641a5d7f78ac734a86220fec817e3e49461208f8e72ef7d11c19fe4507e6766fe7c8c815c9888f793fd66f3fae36d6e3a217e53620b5d95029 DIST virtualbox-6.1.10-patches-01.tar.xz 2640 BLAKE2B 4aeeb596bcaf6b57a707c08211408d760092187710ce468f3e60bb7e66f22b04db4f4c58d06cea4cf7d4b69c9cfd2ebee5c2c5b8b93766097cf8c7cf9ebd8ae5 SHA512 24393d6e7cb62b65d79dc407f25fba42994d37a761c6c111ab952800715b1ee966ba4f7403a4e79fbf67035c72ef5aa3d1f203bdd69c6078894564018aa284c0 -DIST virtualbox-6.1.4-patches-01.tar.xz 2344 BLAKE2B cb89af8ffe0ecaa54929349abfb1541ca8630063d8282e773e4c66c3eec3ed108328b1ee81247d997981e5d49792b4019e1358b270c3622508b62e647c544ae4 SHA512 b08c2f66a050270a5c8b4d7264b1cf0afaf7809c3888c48a9b55ac75f0906bdb6bc28eef136ce032c777a810f2ce0a3cf6bb3df0259e5a6737f9ecc3ea708bba +DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 EBUILD virtualbox-5.2.40.ebuild 14429 BLAKE2B 1cb2f4e3a7c88984ad60aece1250e4bc1f6fb6355f13ac8b2f933427ff3036b3b93fe881727a34f1dac1e8d157ff146cf1cd8ef13b444d841432901bed97aeaa SHA512 6cfe81f12807d6622a8caec221fa2e03018e49fc3eb5ca962aa4e49a721aff0cab75d8c08b0133f05d53cff09c789975fc95b7729f58b85e172f91c4a81123de EBUILD virtualbox-5.2.42.ebuild 14269 BLAKE2B f90265001cf0b4e5c5595e2c186ec57c12d274958d418cffb38b1671094460dae3683f762c6ce3d6b8f5d6e7eba3a7bc166f20ed6f541237ecaf0681c3233f75 SHA512 364d837d39f08905fbb133ff0cbdf83383f7f59733590c13f3cf88f637e3c6f5f7d51d9bfb618fa01610c667cbdc1fbf7bd11318183812e6100c0578bd0ff72e -EBUILD virtualbox-6.0.20.ebuild 14663 BLAKE2B 5ece72f1aebadd85661d5af78e683067faecde668c7da1f3399c9bcf647ccb7b7da6aaf29f5a97915ba341aeadcb68d8f5521f203d33a3ba4ddf8b68bb1be84e SHA512 a5b7d584deeaf72e0970c592b36d96b7ec8a450c28c068615109d7ce09b915427ebf193b741d002a45c35540f4679c76851790e9e202e7616df8c5778ab76fed +EBUILD virtualbox-5.2.44.ebuild 14269 BLAKE2B 5bf62f6d250fc3a513c816439d37c4583c96a25db71a771e51cc19b9ac3a9d6f3c862e0fd0571afebcb475daafaef51d8f753e54bbdce50b1f84983f859fb069 SHA512 a7544b61fffd58a01856b9ab0c6ce3339fd64be7bee51ff0a79ec18aedd903927d1745811dc63fabf0d97aa14d461f57b43ddb79bc8bf964aefe6ffa0c56b44a EBUILD virtualbox-6.0.22.ebuild 14363 BLAKE2B 0445a9c2f57615035d217dcf0a8a27978893b97ad7015dd930581d75b0640a7db5d1ae487b19f99d5191e28aa25e0c38c085048a75c73dfc4bbf394a4f5dbba0 SHA512 35fd8870bd1eac3199846d023eb2e68caed508189f1bc80b9a542cf494af81598dfea89be441277be17a33311b52f554412575f32310a5aa56ed9bf8ce86f879 +EBUILD virtualbox-6.0.24.ebuild 14363 BLAKE2B 5ee143dc015d84814ec2c4e96eaef023c28b82f60e15034be0f15758f032177c4be14c4ec5dbd26b24a9807b784b04e2f40b99adb936ec820c02001b60688547 SHA512 097d3e2c620c7e67be3decca031bd564b133e912c44aa5461d32be7dccbb41a58c8632000f5b7507799ae573d245a71cb612b816f4fad2f0652ca62d203e0adf EBUILD virtualbox-6.1.10-r1.ebuild 14407 BLAKE2B 8251d9a86e45884268d7edc7c3267d13d5ee8563b18e40e82ef318063f326c244b1969a37d2c14541fc528e46f9d5d3cd732bc1d3631fdde07546c9570d8cf86 SHA512 f38efad5689f2e1ef6ea8012069f9ee38a07ff038b0e95098cd032e9663451f393f9d6a068c1f06a41d899ee11428c7d565588bd033459b160316a95a17a4a4b -EBUILD virtualbox-6.1.6.ebuild 14594 BLAKE2B 5b2ae3063e1e46a9808824f21666f67b7a95bba447b4811009678041c825d20728db80d9b446213b9b718478df262140bf89a6d55807382c2046cb63aa78a621 SHA512 ff526c7444a9c1c27535d8d24fb52d60e80d5a82b224e3926df4749459703a85924ad1be7b3df70feef1fcbc61da32da7d4ee184c64c14b1f8e25c115010259f +EBUILD virtualbox-6.1.12a.ebuild 14525 BLAKE2B 83cdb452422ee74cc71629f74a06a6066c5de18c71e74170b8db0712585acd04ccaadcfa36779b200b53642d1ac53393d458c8b96bad6fa138cf52f5461b9f91 SHA512 450baecd1cb9376be0eead28e02fd0f459f21dd566a514cd2d2f125a7a733bde3eb1d92a157c5b1d59308ac5d04515677d51017c997533291a808838391902ce MISC metadata.xml 774 BLAKE2B 74d422bee5013b3875828aa2f192a8269815c567ae79c135b7cab1cc71175a923668e1c7e6f5ff76f19c7c359dbb1a20edfcc59570e95ec83418d8a6a0dae46b SHA512 bea193854ac55683c6c4fdcab3c2a4e9144ca4806b261ff7a6bf50f7fffd005f7de3dbb44a4a833ba7bf7f0cb535a46a4586c59bca9a46bf664b4b06ce425549 diff --git a/app-emulation/virtualbox/files/virtualbox-6.0.20-qt-5.15.patch b/app-emulation/virtualbox/files/virtualbox-6.0.20-qt-5.15.patch deleted file mode 100644 index 7ba03f02259c..000000000000 --- a/app-emulation/virtualbox/files/virtualbox-6.0.20-qt-5.15.patch +++ /dev/null @@ -1,82 +0,0 @@ ---- a/src/VBox/Frontends/VirtualBox/src/globals/UIImageTools.cpp 2020-05-29 23:51:41.504432532 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIImageTools.cpp 2020-05-29 23:49:26.943858460 +0300 -@@ -17,6 +17,8 @@ - - /* Qt includes: */ - #include -+#include -+#include - - /* GUI include */ - #include "UIImageTools.h" - ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h 2020-05-30 00:09:50.369275092 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h 2020-05-30 00:01:14.152354690 +0300 -@@ -24,6 +24,7 @@ - /* Qt includes: */ - #include - #include -+#include - - /* GUI includes: */ - #include "UILibraryDefs.h" ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIMenuToolBar.cpp 2020-05-30 00:39:54.773447224 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIMenuToolBar.cpp 2020-05-30 00:41:36.274371761 +0300 -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - /* GUI includes: */ - #include "UIMenuToolBar.h" ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UITabBar.cpp 2020-05-30 00:39:47.613523134 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UITabBar.cpp 2020-05-30 00:41:29.655441857 +0300 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #ifdef VBOX_WS_MAC - # include - #endif ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp 2020-05-30 00:40:01.624374596 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp 2020-05-30 00:41:40.654325376 +0300 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - /* GUI includes: */ - #include "UIFilmContainer.h" ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp 2020-05-30 00:40:08.844298062 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp 2020-05-30 00:41:44.594283652 +0300 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - /* GUI includes: */ - #include "UIPopupBox.h" ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp 2020-05-30 00:40:16.064221530 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp 2020-05-30 00:41:52.014205079 +0300 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #ifdef VBOX_WS_X11 - # include - #endif ---- a/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupPane.cpp 2020-05-30 00:40:34.375027462 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupPane.cpp 2020-05-30 00:42:01.244107347 +0300 -@@ -18,6 +18,7 @@ - /* Qt includes: */ - #include - #include -+#include - - /* GUI includes: */ - #include "UIPopupPane.h" diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.6-qt-5.15.patch b/app-emulation/virtualbox/files/virtualbox-6.1.6-qt-5.15.patch deleted file mode 100644 index 6518f60d0808..000000000000 --- a/app-emulation/virtualbox/files/virtualbox-6.1.6-qt-5.15.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp 2020-05-30 00:40:22.314155286 +0300 -+++ b/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp 2020-05-30 00:41:56.544157111 +0300 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - /* GUI includes: */ - #include "UIGraphicsButton.h" diff --git a/app-emulation/virtualbox/virtualbox-5.2.44.ebuild b/app-emulation/virtualbox/virtualbox-5.2.44.ebuild new file mode 100644 index 000000000000..21e1bf88a0f8 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-5.2.44.ebuild @@ -0,0 +1,493 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.44-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +RDEPEND="!app-emulation/virtualbox-bin + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + media-libs/opus + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( virtual/opengl media-libs/freeglut ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + !headless? ( x11-libs/libXinerama ) + java? ( >=virtual/jdk-1.6 ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) + ${PYTHON_DEPS}" +RDEPEND="${RDEPEND} + java? ( >=virtual/jre-1.6 )" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + all +} + +src_install() { + local binpath="release" + use debug && binpath="debug" + cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binray given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + # *.rc files for x86_64 are only available on multilib systems + local rcfiles="*.rc" + if use amd64 && ! has_multilib_profile ; then + rcfiles="" + fi + for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die + for fwfile in VBoxEFI{32,64}.fd ; do + vbox_inst ${fwfile} 0644 + done + popd &>/dev/null || die + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED%/}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox 4750 + pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox VirtualBox ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + if use vnc ; then + insinto ${vbox_inst_path}/ExtensionPacks + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${vbox_inst_path}/ExtensionPacks + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_postinst() { + gnome2_icon_cache_update + xdg_desktop_database_update + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + gnome2_icon_cache_update + xdg_desktop_database_update +} diff --git a/app-emulation/virtualbox/virtualbox-6.0.20.ebuild b/app-emulation/virtualbox/virtualbox-6.0.20.ebuild deleted file mode 100644 index 7e8e5d10fb39..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.0.20.ebuild +++ /dev/null @@ -1,513 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=VirtualBox-${MY_PV} - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.20-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64 ~x86" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${PV} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( virtual/opengl media-libs/freeglut ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( x11-libs/libXinerama ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_P}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${FILESDIR}"/${P}-qt-5.15.patch # TODO: upstream, bug #726154 - - rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ - TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ - TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ - TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ - VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - # *.rc files for x86_64 are only available on multilib systems - local rcfiles="*.rc" - if use amd64 && ! has_multilib_profile ; then - rcfiles="" - fi - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/virtualbox/virtualbox-6.0.24.ebuild b/app-emulation/virtualbox/virtualbox-6.0.24.ebuild new file mode 100644 index 000000000000..5247548e3595 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.0.24.ebuild @@ -0,0 +1,507 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.24-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +CDEPEND=" + ${PYTHON_DEPS} + !app-emulation/virtualbox-bin + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( virtual/opengl media-libs/freeglut ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +DEPEND=" + ${CDEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( x11-libs/libXinerama ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( >=virtual/jdk-1.6 ) +" +RDEPEND=" + ${CDEPEND} + java? ( >=virtual/jre-1.6 ) +" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus '' --disable-libopus) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + # *.rc files for x86_64 are only available on multilib systems + local rcfiles="*.rc" + if use amd64 && ! has_multilib_profile ; then + rcfiles="" + fi + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst rdesktop-vrdp + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM 4750 + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + domenu ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild b/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild new file mode 100644 index 000000000000..146dd50e0dd4 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.1.12a.ebuild @@ -0,0 +1,509 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}-${MY_PV} +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +CDEPEND=" + ${PYTHON_DEPS} + !app-emulation/virtualbox-bin + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib:= + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( virtual/opengl media-libs/freeglut ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtprintsupport:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + opengl? ( dev-qt/qtopengl:5 ) + x11-libs/libXinerama + ) + ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +DEPEND=" + ${CDEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( x11-libs/libXinerama ) + pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + qt5? ( dev-qt/linguist-tools:5 ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/libcap + sys-power/iasl + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-dtd:4.4 + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( >=virtual/jdk-1.6 ) +" +RDEPEND=" + ${CDEPEND} + java? ( >=virtual/jre-1.6 ) +" + +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so + usr/lib/virtualbox/VBoxSDL.so + usr/lib/virtualbox/VBoxSharedFolders.so + usr/lib/virtualbox/VBoxDD2.so + usr/lib/virtualbox/VBoxOGLrenderspu.so + usr/lib/virtualbox/VBoxPython.so + usr/lib/virtualbox/VBoxDD.so + usr/lib/virtualbox/VBoxDDU.so + usr/lib/virtualbox/VBoxREM64.so + usr/lib/virtualbox/VBoxSharedClipboard.so + usr/lib/virtualbox/VBoxHeadless.so + usr/lib/virtualbox/VBoxRT.so + usr/lib/virtualbox/VBoxREM.so + usr/lib/virtualbox/VBoxSettings.so + usr/lib/virtualbox/VBoxKeyboard.so + usr/lib/virtualbox/VBoxSharedCrOpenGL.so + usr/lib/virtualbox/VBoxVMM.so + usr/lib/virtualbox/VirtualBox.so + usr/lib/virtualbox/VBoxOGLhosterrorspu.so + usr/lib/virtualbox/components/VBoxC.so + usr/lib/virtualbox/components/VBoxSVCM.so + usr/lib/virtualbox/components/VBoxDDU.so + usr/lib/virtualbox/components/VBoxRT.so + usr/lib/virtualbox/components/VBoxREM.so + usr/lib/virtualbox/components/VBoxVMM.so + usr/lib/virtualbox/VBoxREM32.so + usr/lib/virtualbox/VBoxPython2_7.so + usr/lib/virtualbox/VBoxXPCOMC.so + usr/lib/virtualbox/VBoxOGLhostcrutil.so + usr/lib/virtualbox/VBoxNetDHCP.so + usr/lib/virtualbox/VBoxNetNAT.so" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_pretend() { + if ! use headless && ! use qt5 ; then + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." + elif use headless && use qt5 ; then + einfo "You selected USE=\"headless qt5\", defaulting to" + einfo "USE=\"headless\", this build will not include any X11/Qt frontend." + fi + + if ! use opengl ; then + einfo "No USE=\"opengl\" selected, this build will lack" + einfo "the OpenGL feature." + fi + if ! use python ; then + einfo "You have disabled the \"python\" USE flag. This will only" + einfo "disable the python bindings being installed." + fi +} + +pkg_setup() { + java-pkg-opt-2_pkg_setup + python-single-r1_pkg_setup + + tc-ld-disable-gold #bug 488176 + tc-export CC CXX LD AR RANLIB + export HOST_CC="$(tc-getBUILD_CC)" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something less stupid. + # This is needed for the qt5 version check. + sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ + -i configure || die + + # Disable things unused or split into separate ebuilds + sed -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Do not use hard-coded ld (related to bug #488176) + sed -e '/QUIET)ld /s@ld @$(LD) @' \ + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + # Only add nopie patch when we're on hardened + if gcc-specs-pie ; then + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +doecho() { + echo "$@" + "$@" || die +} + +src_configure() { + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --disable-dbus + --disable-kmods + $(usex alsa '' --disable-alsa) + $(usex debug --build-debug '') + $(usex doc '' --disable-docs) + $(usex java '' --disable-java) + $(usex lvm '' --disable-devmapper) + $(usex opus '' --disable-libopus) + $(usex pulseaudio '' --disable-pulse) + $(usex python '' --disable-python) + $(usex vboxwebsrv --enable-webservice '') + $(usex vnc --enable-vnc '') + ) + if ! use headless ; then + myconf+=( + $(usex opengl '' --disable-opengl) + $(usex qt5 '' --disable-qt) + ) + else + myconf+=( + --build-headless + --disable-opengl + ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + doecho ./configure ${myconf[@]} +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \ + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ + VBOX_WITH_VBOXIMGMOUNT=1 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die + + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile + + vbox_inst() { + local binary="${1}" + local perms="${2:-0750}" + local path="${3:-${vbox_inst_path}}" + + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." + + insinto ${path} + doins ${binary} + fowners root:vboxusers ${path}/${binary} + fperms ${perms} ${path}/${binary} + } + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the correct libdir + sed \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Install the wrapper script + exeinto ${vbox_inst_path} + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" + fowners root:vboxusers ${vbox_inst_path}/VBox + fperms 0750 ${vbox_inst_path}/VBox + + # Install binaries and libraries + insinto ${vbox_inst_path} + doins -r components + + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do + vbox_inst ${each} + done + + # These binaries need to be suid root. + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do + vbox_inst ${each} 4750 + done + + # Install EFI Firmware files (bug #320757) + for each in VBoxEFI{32,64}.fd ; do + vbox_inst ${each} 0644 + done + + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) + # VBoxXPCOMIPCD (bug #524202) + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + # Symlink binaries to the shipped wrapper + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount + + if use pam ; then + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + fi + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if ! use headless ; then + vbox_inst rdesktop-vrdp + vbox_inst VBoxSDL 4750 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use qt5 ; then + vbox_inst VirtualBox + vbox_inst VirtualBoxVM 4750 + for each in VirtualBox{,VM} ; do + pax-mark -m "${ED}"${vbox_inst_path}/${each} + done + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL + fi + + for each in virtualbox{,vm} VirtualBox{,VM} ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + doins -r UnattendedTemplates + + domenu ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + doicon -s scalable ${PN}.svg + popd &>/dev/null || die + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die + for size in 16 24 32 48 64 72 96 128 256 512 ; do + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="${PN}-${ico}-${size}px.png" + if [[ -f "${icofile}" ]] ; then + newicon -s ${size} ${icofile} ${PN}-${ico}.png + fi + done + done + popd &>/dev/null || die + fi + + if use lvm ; then + vbox_inst VBoxVolInfo 4750 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo + fi + + if use sdk ; then + insinto ${vbox_inst_path} + doins -r sdk + + if use java ; then + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" + fi + fi + + if use udev ; then + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ + > "${T}"/10-virtualbox.rules || die + doins "${T}"/10-virtualbox.rules + fi + + if use vboxwebsrv ; then + vbox_inst vboxwebsrv + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + # Remove dead symlinks (bug #715338) + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die + + # Fix version string in extensions or else they don't get accepted + # by the virtualbox host process (see bug #438930) + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ + || die + + local extensions_dir="${vbox_inst_path}/ExtensionPacks" + + if use vnc ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/VNC + fi + + if use dtrace ; then + insinto ${extensions_dir} + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack + fi + + if use doc ; then + dodoc UserManual.pdf + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_preinst() { + xdg_pkg_preinst +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf + + if ! use headless && use qt5 ; then + elog "To launch VirtualBox just type: \"virtualbox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" + elog "the \"extension\" USE flag. For installation of the guest additions ISO" + elog "image, please emerge" + elog " app-emulation/virtualbox-additions" + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + if ! use udev ; then + elog "" + elog "WARNING!" + elog "Without USE=udev, USB devices will likely not work in ${PN}." + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/app-emulation/virtualbox/virtualbox-6.1.6.ebuild b/app-emulation/virtualbox/virtualbox-6.1.6.ebuild deleted file mode 100644 index 9cfbb7043705..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.6.ebuild +++ /dev/null @@ -1,510 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=VirtualBox-${MY_PV} - -DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.4-patches-01.tar.xz" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" - -CDEPEND=" - ${PYTHON_DEPS} - !app-emulation/virtualbox-bin - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${PV} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - media-libs/libsdl:0[X,video] - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( virtual/opengl media-libs/freeglut ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - libressl? ( dev-libs/libressl:= ) - !libressl? ( dev-libs/openssl:0= ) - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -DEPEND=" - ${CDEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( x11-libs/libXinerama ) - pam? ( sys-libs/pam ) - pax_kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - qt5? ( dev-qt/linguist-tools:5 ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( >=virtual/jdk-1.6 ) -" -RDEPEND=" - ${CDEPEND} - java? ( >=virtual/jre-1.6 ) -" - -QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so - usr/lib/virtualbox/VBoxSDL.so - usr/lib/virtualbox/VBoxSharedFolders.so - usr/lib/virtualbox/VBoxDD2.so - usr/lib/virtualbox/VBoxOGLrenderspu.so - usr/lib/virtualbox/VBoxPython.so - usr/lib/virtualbox/VBoxDD.so - usr/lib/virtualbox/VBoxDDU.so - usr/lib/virtualbox/VBoxREM64.so - usr/lib/virtualbox/VBoxSharedClipboard.so - usr/lib/virtualbox/VBoxHeadless.so - usr/lib/virtualbox/VBoxRT.so - usr/lib/virtualbox/VBoxREM.so - usr/lib/virtualbox/VBoxSettings.so - usr/lib/virtualbox/VBoxKeyboard.so - usr/lib/virtualbox/VBoxSharedCrOpenGL.so - usr/lib/virtualbox/VBoxVMM.so - usr/lib/virtualbox/VirtualBox.so - usr/lib/virtualbox/VBoxOGLhosterrorspu.so - usr/lib/virtualbox/components/VBoxC.so - usr/lib/virtualbox/components/VBoxSVCM.so - usr/lib/virtualbox/components/VBoxDDU.so - usr/lib/virtualbox/components/VBoxRT.so - usr/lib/virtualbox/components/VBoxREM.so - usr/lib/virtualbox/components/VBoxVMM.so - usr/lib/virtualbox/VBoxREM32.so - usr/lib/virtualbox/VBoxPython2_7.so - usr/lib/virtualbox/VBoxXPCOMC.so - usr/lib/virtualbox/VBoxOGLhostcrutil.so - usr/lib/virtualbox/VBoxNetDHCP.so - usr/lib/virtualbox/VBoxNetNAT.so" - -S="${WORKDIR}/${MY_P}" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup - - tc-ld-disable-gold #bug 488176 - tc-export CC CXX LD AR RANLIB - export HOST_CC="$(tc-getBUILD_CC)" -} - -src_prepare() { - # Remove shipped binaries (kBuild,yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something less stupid. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # Do not use hard-coded ld (related to bug #488176) - sed -e '/QUIET)ld /s@ld @$(LD) @' \ - -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - elog "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch" - fi - - # Only add paxmark patch when we're on pax_kernel - if use pax_kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - eapply "${FILESDIR}"/${PN}-6.0.20-qt-5.15.patch # TODO: upstream, - eapply "${FILESDIR}"/${P}-qt-5.15.patch # ... bug #726154 - - eapply "${WORKDIR}/patches" - - eapply_user -} - -doecho() { - echo "$@" - "$@" || die -} - -src_configure() { - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --disable-dbus - --disable-kmods - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - # not an autoconf script - doecho ./configure ${myconf[@]} -} - -src_compile() { - source ./env.sh || die - - # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) - MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #' - MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" - MAKE="kmk" emake \ - VBOX_BUILD_PUBLISHER=_Gentoo \ - TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ - TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ - TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ - TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ - VBOX_GCC_OPT="${CXXFLAGS}" \ - TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ - VBOX_WITH_VBOXIMGMOUNT=1 \ - all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - # New way of handling USB device nodes for VBox (bug #356215) - local udevdir="$(get_udevdir)" - insinto ${udevdir} - doins VBoxCreateUSBNode.sh - fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh - fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \ - > "${T}"/10-virtualbox.rules || die - doins "${T}"/10-virtualbox.rules - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udevadm control --reload-rules \ - && udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" - elog "" - elog "For advanced networking setups you should emerge:" - elog "net-misc/bridge-utils and sys-apps/usermode-utilities" - elog "" - elog "Starting with version 4.0.0, ${PN} has USB-1 support." - elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - elog "package." - elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and" - elog "the \"extension\" USE flag. For installation of the guest additions ISO" - elog "image, please emerge" - elog " app-emulation/virtualbox-additions" - elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge" - elog " app-emulation/virtualbox-extpack-oracle" - if ! use udev ; then - elog "" - elog "WARNING!" - elog "Without USE=udev, USB devices will likely not work in ${PN}." - elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then - elog "" - elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" - elog "or else USB in ${PN} won't work." - fi -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/app-emulation/vkd3d/Manifest b/app-emulation/vkd3d/Manifest index d5b952667093..81096635e56e 100644 --- a/app-emulation/vkd3d/Manifest +++ b/app-emulation/vkd3d/Manifest @@ -1,6 +1,8 @@ +AUX vkd3d-1.1-Fix-build.patch 707 BLAKE2B 6d9ae111c19c61bbb63115bbd960d32a1c28c37aec8bb49fb631d1931b8f2987ccc6dbe2ff5d293480bda96da406e8045e05c7fc502e865da31beed28d70b54c SHA512 1d5316b4efb48fa8e8af99db675f02a4225a82b5095a6799c060a648977da83f8c3fd54ac3d6a86bfcdb6e05c1f455db68aaea7b7fc636b92f1274ba0fefd63b DIST vkd3d-1.0.tar.xz 461884 BLAKE2B 4dbd729f9e795d3d81178abc1a8774c0bbe6a5257c96c97acf1e4b4cdb5b7e30c77235e8b8fa57f7db3196caf30c55c3b0c07e2981629dd6177436a3cd117d33 SHA512 55712528688cdedc63049e168b371b470dbb8e31ddc36d8b23b0655f4a061726eb8556b9abf3cb887f6bd21379959aed9fab93ba0fd53813aec413ebec71d615 DIST vkd3d-1.1.tar.xz 487452 BLAKE2B 834ca06d2159a5857dde457f27e541f06624e87633af6aca7445867abc38c56a1da1fe34b6795ffbd6aa73e983ac0e4301402ae35ef8358fa8cc79c12972b11d SHA512 e107612bdca95e998f9d819bdf74e4ffe1b4d400d250ab855c4ebf94b7d3f088b3221591fef03b1c6b8ecb030feb1673f74831bd8bd8edda2989d09a8846b0f7 EBUILD vkd3d-1.0.ebuild 926 BLAKE2B 414506ab4d6f240d57ca56e6e3ac080722d2bd375db9c790089ca310ff6340af1d5cd33185af795cdd581405d93f19610b1026087eedd358a3769159b29d4eb1 SHA512 29625db76407d29252f534b11296f0d3df7dcdbc567c9a0e0201765ee75370b28bf9098e96752e128ec4533209eef8dd0bf1f3000f818b5c97bdf12a32404466 +EBUILD vkd3d-1.1-r1.ebuild 987 BLAKE2B e923cf684b5de74005320d49db01ce4983ad3670ad1ef9ed4832f57fcfb9a0ced67276520a30aab7aa77a347ebed62fc36a610e48eea277c8c407b9c25f4d11a SHA512 526ed5f509b567e3b33a46cbb4157b6ee580aba706294f417e7e351d56a3969dc2fb19cceab73ece1268982cc1a59e9abf832497bfeb4b7d3881d1c8c0dc07a5 EBUILD vkd3d-1.1.ebuild 929 BLAKE2B 3b1a8b289d47ab301fec2a45d5bde71759a0c23a36c6f9009ea7626860436a77f3bb3ff45184ed94f1b26cb859b5a6ae874cb66258edb0a52b8bf78b0ae9dfaf SHA512 db1e44ca23bcc636a61f9019a02558efc948bf7347e6ba11034ac0bae7cd0562555788b69dc98f0ccf67f4760b4c02338e81c54d5ccd8ee8d3ccd004bbbf66a4 EBUILD vkd3d-9999.ebuild 1013 BLAKE2B d69666c130b15fa5dea83b104a953b6ac0c79f3854a9b11b09079b64d20c08557e0cc37f87aba29ed7166136b7d14d1fd4599ca258a64819065dc2f1ee552394 SHA512 b6a8fd7302f21d1e5278ab521e8d01769214ba860c413b4981a7c933c457d75f4d2172ae296f8e4a951350632df411674434c8994ea50fdc33bea61695ce8b8b MISC metadata.xml 562 BLAKE2B 2409531d0bc65f547844ae83bfd7aaea4d996f2cdf11ebbf7e95775465d4bed916a39a38a0aae0c6df91a417df484ecaf63b29ea4286fdcfd11b07c8177e3496 SHA512 2150c80fd4315d922521b43c650012008864b3ed1ff7d80e43622ad916e52411c6ef855b46693f96165e9d89fd6a6f18cdc88baab13bec9f7053c0c1795bcd71 diff --git a/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch b/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch new file mode 100644 index 000000000000..048c6c843f55 --- /dev/null +++ b/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch @@ -0,0 +1,22 @@ +diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h +index df44447..53a081a 100644 +--- a/libs/vkd3d/vkd3d_private.h ++++ b/libs/vkd3d/vkd3d_private.h +@@ -47,6 +47,8 @@ + + #define VKD3D_MAX_SHADER_STAGES 5u + ++#define VKD3D_PIPELINE_BIND_POINT_COUNT 2u ++ + struct d3d12_command_list; + struct d3d12_device; + +@@ -625,7 +627,7 @@ struct d3d12_command_list + VkFramebuffer current_framebuffer; + VkPipeline current_pipeline; + VkRenderPass current_render_pass; +- struct vkd3d_pipeline_bindings pipeline_bindings[VK_PIPELINE_BIND_POINT_RANGE_SIZE]; ++ struct vkd3d_pipeline_bindings pipeline_bindings[VKD3D_PIPELINE_BIND_POINT_COUNT]; + + struct d3d12_pipeline_state *state; + diff --git a/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild b/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild new file mode 100644 index 000000000000..1c952142c43e --- /dev/null +++ b/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit multilib-minimal + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://source.winehq.org/git/vkd3d.git" + inherit git-r3 +else + KEYWORDS="~amd64 ~x86" + SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz" +fi + +IUSE="spirv-tools" +RDEPEND="spirv-tools? ( dev-util/spirv-tools:=[${MULTILIB_USEDEP}] ) + media-libs/vulkan-loader[${MULTILIB_USEDEP},X] + x11-libs/xcb-util:=[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms:=[${MULTILIB_USEDEP}] + x11-libs/xcb-util-wm:=[${MULTILIB_USEDEP}]" + +DEPEND="${RDEPEND} + dev-util/spirv-headers + dev-util/vulkan-headers" + +DESCRIPTION="D3D12 to Vulkan translation library" +HOMEPAGE="https://source.winehq.org/git/vkd3d.git/" + +LICENSE="LGPL-2.1" +SLOT="0" + +PATCHES=( + "${FILESDIR}"/${P}-Fix-build.patch +) + +multilib_src_configure() { + local myconf=( + $(use_with spirv-tools) + ) + + ECONF_SOURCE=${S} econf "${myconf[@]}" +} diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 3537079e8e45..037d4ac8380d 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -1,16 +1,15 @@ -DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88c13b6d532f94f319ad29821faa699e828d90cfbe92c02b6e73b72eb16e565707c49885833fe557809ed16f4a6f0f182de9bb6e6 SHA512 a030fad55be5e1d909bc50e430c9a99846b88d7555f12749e101ba83f04df5af23eeb726b5ed78f847a66d11ac0a838bc69bd5bf8cf53da77ad454d2a2fe65cf DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75 -DIST wine-5.10.tar.xz 23859084 BLAKE2B ee4d06f69e0259de4ec6cf1352c610aa2460762be49211e21f0fb91a7463a4e4ca82b7ea9272eac8ea0c8d1be955c2aefcbdabed37581c4fbf82e7b58a070d1c SHA512 669d6861525cd4ab000113e8d9c5e10822b62b293914542ee34a826696df66e1d2f09b09f576f714e4117e79e25d1fd0b2a06c57d29da0efa0bdfcb9fee59c60 -DIST wine-5.11.tar.xz 23881408 BLAKE2B 5da8ab91dcb462f6de460ae80830d6006866970fbc4a23bbd6a2243736ff004c0734282b45196d46e97bb8383c99b415c85f941b2ab613c72ae66995e0162460 SHA512 fac78a98e03e0305c85fff393b7c5d46a3fbe11aff4a0153771187d3ad0212189d1fa88947fc9fe0da7bd8327eb71283f28ff866c4d8b2bc759a2ad2197fc9a1 -DIST wine-5.8.tar.xz 23753648 BLAKE2B 086f37ce469f6d176eab8daa2d124b1774526727e2f6fe4ecdd39862c13ed493ac4164cf98848d5bc8cba3675e13365f6ea2b34591d518c40c34d09556851578 SHA512 7b9df380655a72e8b9e95ca271a62308262d8efabbeb2ad459071afc9ed51518b42b1f75b019fe8d6b53cf5185e9cfc45ac1b8a7092f118fa2aff14f99c012de -DIST wine-5.9.tar.xz 23802356 BLAKE2B 1879c164c647a5b849056e4149a809c390814ae832773a44347cf1902fd49cb6619b4add5ea2d421c189d92b5c907daa0d6f62c37c48a8bd68d0eaa9eb465433 SHA512 edc6d55a275cf37430a62dc6d6d86bff6d5a434e708dbd99d245018db7f6a0abe39581a1d91eb947f204a45ac94cc5c931745169a3b63a2aecf8db277553b74b -DIST wine-staging-5.10-r1.tar.gz 9862728 BLAKE2B 4d70b0e4d71b4e06a57f9fa43a8d4c91dfdb149ab0dd6b92ff93928dc9f35ef56a0f9e3dc278b2db19d6dbab32a58478ed110d4cf0c35a3a598611afd39ca326 SHA512 5d6f495c157d4bd1558f976bd044b62e5ffce188b7d12c1e6d5b3d844aa2070503218778f48ca34a787a8b355ab2c09f76381499b7e474a1c047bdc3b15d803a -DIST wine-staging-5.11.tar.gz 9859071 BLAKE2B ae8abb4b48291864ce6ea80300186da77f422da1790bc1a3fb697719fc1bce0f1b1fd41962fc104bf9792f1ac46d99181a1437f52d290e526671b7d5ac43ea75 SHA512 a5cff848077f937d8f910d6f8b4efc033435c99bc6eeb8cf2a39e812b09c9fad5602e91e761eb1a006a1487299f7d81ecf7597d104fcafd076a8692e086af1a5 -DIST wine-staging-5.8.tar.gz 9878712 BLAKE2B a96f7e4aa1d1dddcda1a9d6a30ab3b564fb365a09efde22e5b7abab1ac015da0bc242b2fec6d4ae14dc5ddad38e3314a5f8c430e6eb10853ed8619e805bf5787 SHA512 3ea2a90ab0613b680274c95cf7ef3d3a7d807571fb792e05fc1df9bbd7a35c80a0d7c38342fea8858c5557ae3f12287a7ce09d0cdab5064000b79ec6c891ad15 -DIST wine-staging-5.9.tar.gz 9861847 BLAKE2B 61eb21e4386b772b98472707ea927f74ee77e8ec39caa494b6db2cdafc4b00e3aee503f9828a8df1cea2bbc6fa3aaf272fe28b60965de26132d4761058b59f25 SHA512 8fcf448be21edc0ccf8afef75013298c8f1634b51cd4d927ee5a1d039552d7c29609f65f283519b6561d09eb6eeae91fa6db70b9e78e4fd8bb5318408b39fb33 -EBUILD wine-staging-5.10-r1.ebuild 20457 BLAKE2B c9779586ce20489b05c6d7fdc69a8ed5811b796b5f6c2690fcf7028b109c48b2d30932e246f7dc56562d8835d0e01566a43463e8009590733f17498cd5ad1817 SHA512 f3ec77be196b94708e14e619946287d9974f7f3f8304f81af19df42a5b11855d0fb63f31fad3a2d49a843aed8f4e32d421a860abd05ff65db74bda7372034556 -EBUILD wine-staging-5.11.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 -EBUILD wine-staging-5.8.ebuild 20335 BLAKE2B b72f4a198a4624222653084b047027cd4d0d376016ea8f903d63355c4b98df48bddafdb52ed43b885265b8496f8ad89c849c456fee9943c17d4a004a11fd8176 SHA512 200aba15c914656205ab9f56e8eca057f3c54a8da6fde14ddcde5a5d5168585720080258661b01a845fd75cbe3743433cdd073986de4dc91ea5d04000f06b2d7 -EBUILD wine-staging-5.9.ebuild 20430 BLAKE2B 657bd5d2ef70dca9d719c5645a41f5c1cdb0455d6550f8c46362b5ac83591075dac1af2573a8a939c78779412a026d14f59ef28d64c1e78831b1c2189633fb3f SHA512 9dbe764a1e8a1357c23fcb2a933da353803900a0228d349faf70d8275ce8d7aa21e50d1d7d44e103f248c7b4d41392eca9a9a0d648018b461cf0054daf6c8795 +DIST wine-5.12.tar.xz 23939672 BLAKE2B 97190653a754100fc2832f8bdc544529dc34cae97b6ae68a579dfb529af5c924d2e9b439f304784028ae84a730f3cf9911a20d132f645ab90532479092b39079 SHA512 1272b143d64ed6083cd797474f18dbd2bca7a38d488474ae5f054f47789b4fc1d386c7bbf8aa1bd86f9507908fc799b4f45e10e1d8c628c5bd52c42b1d74c8a8 +DIST wine-5.13.tar.xz 23955832 BLAKE2B 79cdd8d1f34c866ae239a0b876fdb40396bb19038e1e4eb76abeb445e6a72d281b393283deffa53af3e101660317e856febd173cc5564b4ee587cd594d411434 SHA512 3093be3b974609f83fe2da6ca724237fa07ada260ec503fc00a8729b74d77e22b329044e411ed1e67f287c4e69ef3b16953ddb3e93599d97d3ad1ffffb608704 +DIST wine-5.14.tar.xz 23975804 BLAKE2B bc14b84f4044323cd65c8c0a715a09b296bb8ecad043062513c1a584a7b542bba9934e7563bec8e2d798c27f54683db37ffc227dd4cbf8e58f6ef1931b884c14 SHA512 21240d832497ba9a4313613ae27c21316ef383290dfcce81aebfbbf45edb7db6981739fe2ad42138b6df0a75a434d5aa8e4d87f9745f98c5f14000e1949ec342 +DIST wine-5.15.tar.xz 23999688 BLAKE2B af462d9e4c9fe5e364fd474bc17b6ea61b3390428762845291271811feab13cf6ccd39c8c5847b0cc922bd273d42227d95b871dfa04cf055560a3cff65349275 SHA512 90baf7df915cf1ce88022a4aebe4a6975b4b0defcc043a0c6738fefb9b853e0bfbcc645c39e33cdbb20673fab5df7561ab5b55e38a4e0a68907912a80e556ae3 +DIST wine-staging-150ce22fa21ffa040816e725ead34ed1de516bd8.tar.gz 9840427 BLAKE2B e263d6563a5438973309346ba820acdb5079ef236c5c55694bdfa16c54f3f4fe76750ab324d6c5e1f0b429df634b917f138f4a1db38417ac2b49ce41ee36a211 SHA512 37f05909ca6cb28a3527f31882562146d3971f47345312b96783b5e62bc95ee61779f12f4c13e3d05ec5f331463a7600c16d5bc428d13c42bf3e3568f4d3923e +DIST wine-staging-3f3a05f91c85cb5ccdc4c8185bcc862c6e96cd52.tar.gz 9835238 BLAKE2B 27c0e7fe418e7ee82c7b1cfc13c0c1508a7f4637ef7b8d64675ed4038a42961382170c064221a7bad70a4e168aef7d4e33974d06afc18fc6da4cf5db047b242e SHA512 b2ad84bed89e713f4dc4f01763c40dc785f39f180a8f926c1b9e944a581ffcfd5c422427314201df1359b4b1c27dc2261281353f44ae9408e800d6add7bde366 +DIST wine-staging-5.13.tar.gz 9807468 BLAKE2B 17fea3955affd66082d9cf3d72529b55107fedd86aa7b02c9947f92255042fdab46da2a642977d89a18e05608f7eb7fa1f3ef07df2d52bff450c924bcd30c4d8 SHA512 9bdda76524ea97c9847182d912544a2ecd5efddc03511af151c054d6cce933e40c8cf10722d34d8875115aed7c1888883fdce3e00f481c31116fd33d91304c6d +DIST wine-staging-5.14.tar.gz 9780843 BLAKE2B 03b964fd8b71a8a9e54f53074e4be82dd633a6489cdc30bade6e844e458ca43437bbd34c1a629fd0c1090173e37379a048be45561172bfff8e003daaf4104583 SHA512 da81b572480a6fc12aa39a93070e2b88593bba1463d5b0545083dbd6eaa306ec57fe39e77f24544d2a1a396a3e64c1687c12b69e0643e11a909e4e31a3e46014 +EBUILD wine-staging-5.12.ebuild 20510 BLAKE2B 80256f3a10c9c6088a851de6d3bca3f002530a4f5cab78be7e3769dfa5a3621b6ba02f1f44a3c6351e78e38204f114dc8fc03e51ee322054069da39a101359d9 SHA512 c4af1a4879d379c25184e39be0a8e3367e6bc84df3b86591e1aa4f84a421bfefb9d589b6740f71808830c6c342825b277c77d7e8a53e2ddf9dc82f42f38a508d +EBUILD wine-staging-5.13.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 +EBUILD wine-staging-5.14.ebuild 20430 BLAKE2B 3a6112683291ed2e3856e1dc4317384e38335d0c79ecff56c9e2281c10c2dbb4584a75cfe711bf27a818b8009f94b86f3880bbae99d4f0b1dabc8467ed1bc64a SHA512 bb27944dd8c5a5572b0cc3dd40320e238c81ea0e583d30b20beb7bef88c6013ef27f2d941ddd38aaa65c617549e6eb44b09a03d6a8250258d0e6bba7d31092d2 +EBUILD wine-staging-5.15.ebuild 20510 BLAKE2B 3af262cc7b538088e2ff34679e1f3acbb72569f5f2bc0a2dd7d77f6102c9c4bf6560092a9bc52e78fc9b8e73d4589afe37d1945a4d83f20e160710d9e5d0807d SHA512 7f6f53332e0e91107f77fb0271a3b2381b28f37eb40eb8bda0acdb3f74f08c31fcf1846c534e38b648d6be8d8fe61935cce23e4da1a6dc6f346922d9235b0887 EBUILD wine-staging-9999.ebuild 20355 BLAKE2B 1cff1a2621de3a421e1f8d96cc0c19fe4d8575987847092dad676bda6fdfd95ddddd4cafd0b84529632cc99f7329282a18b781d58e24cb26bf6b29394f0cddb3 SHA512 9d18cb888cecdc39d3ee78fbed3c653ee6fc06a2a4022bfad425888ca86b4e153c3f880fa275226b3b2ebbe29f2faadd86c4b2c6865328c696c06ba90df16bf2 MISC metadata.xml 3813 BLAKE2B de077c2b962c962401ae0922aa8a244f08db7a5f0773d8d1466497dd3d2cd6e8b60186c5025f0806b49238266117035986df25c9c939fb9d9ec98ac7af5ebbf4 SHA512 edac5258e3d47f8c0285eb382cb5209996630bd65722c864a2b548dad09d72073d1c3e797fdda0f0cbf46bb87abbc5cbf1020fec2984b08c164d019a90fc4902 diff --git a/app-emulation/wine-staging/wine-staging-5.10-r1.ebuild b/app-emulation/wine-staging/wine-staging-5.10-r1.ebuild deleted file mode 100644 index b382f9c5f3f4..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.10-r1.ebuild +++ /dev/null @@ -1,620 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" -STAGING_V="044cb930662d61f401a5d1bdd7b8e75d59cea5ea" -STAGING_P="wine-staging-${STAGING_V}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/${STAGING_V}.tar.gz -> wine-staging-5.10-r1.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.0.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - [ "${PV}" == "5.10" ] || die - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/wine-staging-5.11.ebuild b/app-emulation/wine-staging/wine-staging-5.11.ebuild deleted file mode 100644 index 674958ea886a..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.11.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/wine-staging-5.12.ebuild b/app-emulation/wine-staging/wine-staging-5.12.ebuild new file mode 100644 index 000000000000..5be6195c457d --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.12.ebuild @@ -0,0 +1,621 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" +STAGING_COMMIT="3f3a05f91c85cb5ccdc4c8185bcc862c6e96cd52" +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${STAGING_COMMIT}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/${STAGING_COMMIT}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-5.13.ebuild b/app-emulation/wine-staging/wine-staging-5.13.ebuild new file mode 100644 index 000000000000..674958ea886a --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.13.ebuild @@ -0,0 +1,621 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-5.14.ebuild b/app-emulation/wine-staging/wine-staging-5.14.ebuild new file mode 100644 index 000000000000..674958ea886a --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.14.ebuild @@ -0,0 +1,621 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-5.15.ebuild b/app-emulation/wine-staging/wine-staging-5.15.ebuild new file mode 100644 index 000000000000..47944101d56f --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-5.15.ebuild @@ -0,0 +1,621 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" +STAGING_COMMIT="150ce22fa21ffa040816e725ead34ed1de516bd8" +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +STAGING_P="wine-staging-${STAGING_COMMIT}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +if [[ ${PV} == "9999" ]] ; then + STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" +else + SRC_URI="${SRC_URI} + staging? ( https://github.com/wine-staging/wine-staging/archive/${STAGING_COMMIT}.tar.gz -> ${STAGING_P}.tar.gz )" +fi + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + pipelight? ( staging ) + test? ( abi_x86_32 ) + themes? ( staging ) + vaapi? ( staging ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + themes? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/cairo[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${pn_live_val} ]]; then + if use staging; then + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" + eerror "cannot be used to set the commit. Instead, you may use the" + eerror "environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi + fi + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environment variables:" + eerror " EGIT_OVERRIDE_COMMIT_WINE" + eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + if use staging; then + local CURRENT_WINE_COMMIT=${EGIT_VERSION} + + EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack + + local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die + + if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then + einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." + einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." + einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" + fi + fi + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + if use staging; then + ewarn "Applying the Wine-Staging patchset. Any bug reports to the" + ewarn "Wine bugzilla should explicitly state that staging was used." + + local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 + use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" + + # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" + ) + eend $? || die "Failed to apply Wine-Staging patches" + fi + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gcrypt) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + use staging && myconf+=( + --with-xattr + $(use_with themes gtk3) + $(use_with vaapi va) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-staging/wine-staging-5.8.ebuild b/app-emulation/wine-staging/wine-staging-5.8.ebuild deleted file mode 100644 index 59a4de5dea0d..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.8.ebuild +++ /dev/null @@ -1,620 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20191222" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.0.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-staging/wine-staging-5.9.ebuild b/app-emulation/wine-staging/wine-staging-5.9.ebuild deleted file mode 100644 index 206342ea6a8a..000000000000 --- a/app-emulation/wine-staging/wine-staging-5.9.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}" -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -if [[ ${PV} == "9999" ]] ; then - STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git" -else - SRC_URI="${SRC_URI} - staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )" -fi - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - pipelight? ( staging ) - test? ( abi_x86_32 ) - themes? ( staging ) - vaapi? ( staging ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) - themes? ( - dev-libs/glib:2[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - x11-libs/gtk+:3[${MULTILIB_USEDEP}] - ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.0.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - staging? ( - dev-lang/perl - dev-perl/XML-Simple - ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${pn_live_val} ]]; then - if use staging; then - eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" - eerror "cannot be used to set the commit. Instead, you may use the" - eerror "environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi - fi - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environment variables:" - eerror " EGIT_OVERRIDE_COMMIT_WINE" - eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - if use staging; then - local CURRENT_WINE_COMMIT=${EGIT_VERSION} - - EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack - - local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die - - if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then - einfo "The current Staging patchset is not guaranteed to apply on this WINE commit." - einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT." - einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine" - fi - fi - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - if use staging; then - ewarn "Applying the Wine-Staging patchset. Any bug reports to the" - ewarn "Wine bugzilla should explicitly state that staging was used." - - local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176 - use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight" - - # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches - ebegin "Running Wine-Staging patch installer" - ( - set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE} - cd "${STAGING_DIR}/patches" - source "${STAGING_DIR}/patches/patchinstall.sh" - ) - eend $? || die "Failed to apply Wine-Staging patches" - fi - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gcrypt) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - use staging && myconf+=( - --with-xattr - $(use_with themes gtk3) - $(use_with vaapi va) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - else - if use staging; then - eselect wine register --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - else - if use staging; then - eselect wine deregister --staging ${P} || die - fi - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index a7f95e29a5e9..504b1c137f63 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -3,15 +3,17 @@ DIST gentoo-wine-patches-20191222.tar.xz 59236 BLAKE2B 1b2c7b3ab69e5603d0f176a88 DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75 DIST wine-4.0.3.tar.xz 21680420 BLAKE2B a7caf4b82fa2594f77e31f29b2a3da59c08bb58f213268d61bdf48998345162bc36fbfc24db94d11cb07b6da347b3471e9d8976d9abfa0f76c183c0a519aa73e SHA512 a8fde0bcf600eaec56c3ce58c9aa992386784c85cf1c93aa84d50aff4c842b12a6b099c23391d3ad9a0059f3dc9069c0f8e00fad293305ba8a33afc70bf26e14 DIST wine-5.0.1.tar.xz 22476496 BLAKE2B 8fd7729812c0144b6c9ec7f28ecc25bca5bc7801d9927346928f43fc46ca0be89ecb4caefb7a93cf2f3365e088d11e6bd53a028ea8cc9e170ef864ff63f21a5a SHA512 d9756f0a74417ea9e05d08a94ff29b83ebff3db3a3cbaa90979d5312754371ddfcab6bded73a246ef980252b908d8a26e93de2779b766c4bff92c91f8c315d98 -DIST wine-5.10.tar.xz 23859084 BLAKE2B ee4d06f69e0259de4ec6cf1352c610aa2460762be49211e21f0fb91a7463a4e4ca82b7ea9272eac8ea0c8d1be955c2aefcbdabed37581c4fbf82e7b58a070d1c SHA512 669d6861525cd4ab000113e8d9c5e10822b62b293914542ee34a826696df66e1d2f09b09f576f714e4117e79e25d1fd0b2a06c57d29da0efa0bdfcb9fee59c60 -DIST wine-5.11.tar.xz 23881408 BLAKE2B 5da8ab91dcb462f6de460ae80830d6006866970fbc4a23bbd6a2243736ff004c0734282b45196d46e97bb8383c99b415c85f941b2ab613c72ae66995e0162460 SHA512 fac78a98e03e0305c85fff393b7c5d46a3fbe11aff4a0153771187d3ad0212189d1fa88947fc9fe0da7bd8327eb71283f28ff866c4d8b2bc759a2ad2197fc9a1 +DIST wine-5.0.2.tar.xz 22484932 BLAKE2B 93253a86605b32dc8f7c79a16336643e6f84937094f8c96ea336289c2076a4d9f759fc1ad128f7b1a009da5eb2ed25cdc893da99e338093608bf5fc0ef1a85fc SHA512 9ff902ff929d9ac8c81843eea141c96446d26b14f70781a40a3ea1fdef5f412ca4c87374a5a3af9b42b52236159645e55d6e54f8b06178a4d210a72fb1d5358e DIST wine-5.12.tar.xz 23939672 BLAKE2B 97190653a754100fc2832f8bdc544529dc34cae97b6ae68a579dfb529af5c924d2e9b439f304784028ae84a730f3cf9911a20d132f645ab90532479092b39079 SHA512 1272b143d64ed6083cd797474f18dbd2bca7a38d488474ae5f054f47789b4fc1d386c7bbf8aa1bd86f9507908fc799b4f45e10e1d8c628c5bd52c42b1d74c8a8 -DIST wine-5.9.tar.xz 23802356 BLAKE2B 1879c164c647a5b849056e4149a809c390814ae832773a44347cf1902fd49cb6619b4add5ea2d421c189d92b5c907daa0d6f62c37c48a8bd68d0eaa9eb465433 SHA512 edc6d55a275cf37430a62dc6d6d86bff6d5a434e708dbd99d245018db7f6a0abe39581a1d91eb947f204a45ac94cc5c931745169a3b63a2aecf8db277553b74b +DIST wine-5.13.tar.xz 23955832 BLAKE2B 79cdd8d1f34c866ae239a0b876fdb40396bb19038e1e4eb76abeb445e6a72d281b393283deffa53af3e101660317e856febd173cc5564b4ee587cd594d411434 SHA512 3093be3b974609f83fe2da6ca724237fa07ada260ec503fc00a8729b74d77e22b329044e411ed1e67f287c4e69ef3b16953ddb3e93599d97d3ad1ffffb608704 +DIST wine-5.14.tar.xz 23975804 BLAKE2B bc14b84f4044323cd65c8c0a715a09b296bb8ecad043062513c1a584a7b542bba9934e7563bec8e2d798c27f54683db37ffc227dd4cbf8e58f6ef1931b884c14 SHA512 21240d832497ba9a4313613ae27c21316ef383290dfcce81aebfbbf45edb7db6981739fe2ad42138b6df0a75a434d5aa8e4d87f9745f98c5f14000e1949ec342 +DIST wine-5.15.tar.xz 23999688 BLAKE2B af462d9e4c9fe5e364fd474bc17b6ea61b3390428762845291271811feab13cf6ccd39c8c5847b0cc922bd273d42227d95b871dfa04cf055560a3cff65349275 SHA512 90baf7df915cf1ce88022a4aebe4a6975b4b0defcc043a0c6738fefb9b853e0bfbcc645c39e33cdbb20673fab5df7561ab5b55e38a4e0a68907912a80e556ae3 EBUILD wine-vanilla-4.0.3.ebuild 17273 BLAKE2B 31f49631a2eb96a0d20c98891c3ace1874bab916e8c75d6b6a003b7cf35b84f2014891c99defb1da6a77d2ce56353566e212282c4c4f607312245c6ec7e66803 SHA512 341f4e04041395f2b4a46dde9e46854e783936a4dbf0859946d4f7cb4b25072fb28f397b61c1916bb3aa9708d2e6a7a1e04ac157bd36f03be63b4d6180b9fb05 EBUILD wine-vanilla-5.0.1.ebuild 17552 BLAKE2B 45440982bf2bfd3f6a2788af10b3a1712f4a4d82a0d4d0d139e9b9eb8f6c4af2b4a516e23a17ace87a6c6cf0e4cf9f3d1a0738b380203a77798b3fae437f1ed9 SHA512 2a92a7f78ac86289439a6bc507ec48a6f6a44a1d666f8a2b0705c4bb6fbd6b5d1f667347db96ea98ead1b5473b1cb7b0cb396446c84182165145842648795d5a -EBUILD wine-vanilla-5.10.ebuild 17595 BLAKE2B b3a9bbeafd323834ed7d78b5f2e334faae2ea49803979ae8a32ccf36c39d2c23233bc6baa9f5d59ad4c68f0b4d7432575c833bd74962353d00609d3c55b5e8a0 SHA512 05577eb0052b83853d3329d08cfe0d088617adad0871ef86290271a1e01eec970aa8094bd1b6d7f6e8954e586269fbd9da6eff01ab816ae6f3803038376adae2 -EBUILD wine-vanilla-5.11.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 +EBUILD wine-vanilla-5.0.2.ebuild 17554 BLAKE2B 4fb5c237a16645195516f980e6a0bb96a9a263423b7489b8f425326a65ab5b06a75fc705862940220bc762dbaba5816eb340ef9f8427f08a2a6678fdb05b9429 SHA512 33011fd9ba031978b4351f8ff5b8eeffa692062df4a511fb105231e493742d55c0430a256551cc08cc8caf9c546de38eb0a4e1fe1ee98db0a391233b231a5d1c EBUILD wine-vanilla-5.12.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 -EBUILD wine-vanilla-5.9.ebuild 17670 BLAKE2B e29d26c38c91f6acf0ef43ab7a2a1ef607f3a89e5a68aeb1e28b9e8f39dc75bb2e11ed5f9f184c365bdf32200f2133c6d6a012510c2294a149539e54069f45f3 SHA512 db28e1d1ca3c00a72f76bb1d9dd0bc31e45774a465c43f13a8bfdae2a67c681f6b4991f6c9958aec8c0b42f16f82dbee6096215124fa3e9e293d564e933bab8f +EBUILD wine-vanilla-5.13.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 +EBUILD wine-vanilla-5.14.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 +EBUILD wine-vanilla-5.15.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 EBUILD wine-vanilla-9999.ebuild 17595 BLAKE2B 2a15c7d11e0f43e08a947fd13c85754551f14186731f2236d82b73077c34b85cc03777eae2ac4d5343b624cf90c9dca2755025461ec6a6a7794e821184aa7e04 SHA512 47ec787a79a960d84d8439d0a2077dcbac4e5d8050aa95aef254646877596a041afe8f611aeb6d277c0cf8ade047538e20650f5a0d66c8e1c3fb4bdb38cc5655 MISC metadata.xml 3141 BLAKE2B 07e1e174d2acc8cb6e5b2767daa8b70490f75102e95f17d8b55e416aa50c4cc47c163cf7b0d95140bab074213b490fdd0f1297703369d413d7c00486800b8232 SHA512 d5eec710aebe9ae4eab2bb4e9c14079884c60882f1cec1b3e42bcb95008acb29e26ce633b55518bd5bab4c581e1194bdb104f0e630c683360994bfd666b059e4 diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.0.2.ebuild new file mode 100644 index 000000000000..2c8da9a04c68 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.0.2.ebuild @@ -0,0 +1,538 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.0/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20191222" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.9.4 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-5.0-memset-O3.patch" #480508 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG AR RANLIB + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + # set AR and RANLIB to make QA scripts happy; #483342 + tc-export PKG_CONFIG AR RANLIB + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.10.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.10.ebuild deleted file mode 100644 index 3a4af0f9c61c..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.10.ebuild +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.0.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.11.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.11.ebuild deleted file mode 100644 index fed13ca5bb03..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.11.ebuild +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.1.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - tc-export PKG_CONFIG - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.13.ebuild new file mode 100644 index 000000000000..fed13ca5bb03 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.13.ebuild @@ -0,0 +1,539 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + tc-export PKG_CONFIG + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild new file mode 100644 index 000000000000..fed13ca5bb03 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.14.ebuild @@ -0,0 +1,539 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + tc-export PKG_CONFIG + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.15.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.15.ebuild new file mode 100644 index 000000000000..fed13ca5bb03 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-5.15.ebuild @@ -0,0 +1,539 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" +PLOCALE_BACKUP="en" + +inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils + +MY_PN="${PN%%-*}" +MY_P="${MY_PN}-${PV}" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://source.winehq.org/git/wine.git" + EGIT_BRANCH="master" + inherit git-r3 + SRC_URI="" + #KEYWORDS="" +else + MAJOR_V=$(ver_cut 1) + SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86" +fi +S="${WORKDIR}/${MY_P}" + +GWP_V="20200523" +PATCHDIR="${WORKDIR}/gentoo-wine-patches" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE="https://www.winehq.org/" +SRC_URI="${SRC_URI} + https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz +" + +LICENSE="LGPL-2.1" +SLOT="${PV}" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" +REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) + X? ( truetype ) + elibc_glibc? ( threads ) + osmesa? ( opengl ) + test? ( abi_x86_32 ) + vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 + +# FIXME: the test suite is unsuitable for us; many tests require net access +# or fail due to Xvfb's opengl limitations. +RESTRICT="test" + +COMMON_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + )" + +RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:5.1.0 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) + samba? ( >=net-fs/samba-3.0.25[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 )" + +# tools/make_requests requires perl +DEPEND="${COMMON_DEPEND} + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc + X? ( x11-base/xorg-proto ) + prelink? ( sys-devel/prelink ) + xinerama? ( x11-base/xorg-proto )" + +# These use a non-standard "Wine" category, which is provided by +# /etc/xdg/applications-merged/wine.menu +QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop +usr/share/applications/wine-notepad.desktop +usr/share/applications/wine-uninstaller.desktop +usr/share/applications/wine-winecfg.desktop" + +PATCHES=( + "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 + "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 + "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 + "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" +) +PATCHES_BIN=() + +# https://bugs.gentoo.org/show_bug.cgi?id=635222 +if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then + DEPEND+=" dev-util/patchbin" +fi + +wine_compiler_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + if ! eend $?; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 + if ! eend $?; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi + fi + fi + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + if ! eend $?; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" + eerror + return 1 + fi + fi +} + +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 + + if use abi_x86_64; then + if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then + eerror "You need gcc-4.4+ to compile 64-bit wine" + die + elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then + eerror "You need clang-3.8+ to compile 64-bit wine" + die + fi + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then + ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" + ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" + ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" + fi + if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then + if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then + ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" + ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." + ewarn "See package.env in man 5 portage for more information on how to do this." + ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" + fi + fi + + if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then + eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." + eerror "See https://bugs.gentoo.org/487864 for more details." + eerror + return 1 + fi +} + +wine_env_vcs_vars() { + local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" + local pn_live_val="${pn_live_var}" + eval pn_live_val='$'${pn_live_val} + if [[ ! -z ${EGIT_COMMIT} ]]; then + eerror "Commits must now be specified using the environmental variables" + eerror "EGIT_OVERRIDE_COMMIT_WINE" + eerror + return 1 + fi +} + +pkg_pretend() { + wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + if ! has_version ">=media-sound/oss-4"; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi +} + +pkg_setup() { + wine_build_environment_check || die + wine_env_vcs_vars || die + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" +} + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack + fi + + default + + l10n_find_plocales_changes "${S}/po" "" ".po" +} + +src_prepare() { + + eapply_bin(){ + local patch + for patch in ${PATCHES_BIN[@]}; do + patchbin --nogit < "${patch}" || die + done + } + + local md5="$(md5sum server/protocol.def)" + + default + eapply_bin + eautoreconf + + # Modification of the server protocol requires regenerating the server requests + if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then + einfo "server/protocol.def was patched; running tools/make_requests" + tools/make_requests || die #432348 + fi + sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die + if ! use run-exes; then + sed -i '/^MimeType/d' loader/wine.desktop || die #117785 + fi + + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die + + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS + + # Fix manpage generation for locales #469418 and abi_x86_64 #617864 + + # Duplicate manpages input files for wine64 + local f + for f in loader/*.man.in; do + cp ${f} ${f/wine/wine64} || die + done + # Add wine64 manpages to Makefile + if use abi_x86_64; then + sed -i "/wine.man.in/i \ + \\\twine64.man.in \\\\" loader/Makefile.in || die + sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ +\164\2/' loader/Makefile.in || die + fi + + rm_man_file(){ + local file="${1}" + loc=${2} + sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die + } + + while read f; do + l10n_for_each_disabled_locale_do rm_man_file "${f}" + done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) +} + +src_configure() { + wine_compiler_check || die + + export LDCONFIG=/bin/true + use custom-cflags || strip-flags + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" + --sysconfdir="${EPREFIX}/etc/wine" + $(use_with alsa) + $(use_with capi) + $(use_with lcms cms) + $(use_with cups) + $(use_with ncurses curses) + $(use_with udisks dbus) + $(use_with faudio) + $(use_with fontconfig) + $(use_with ssl gnutls) + $(use_enable gecko mshtml) + $(use_with gphoto2 gphoto) + $(use_with gsm) + $(use_with gssapi) + $(use_with gstreamer) + --without-hal + $(use_with jpeg) + $(use_with kerberos krb5) + $(use_with ldap) + --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 + $(use_enable mono mscoree) + $(use_with mp3 mpg123) + $(use_with netapi) + $(use_with nls gettext) + $(use_with openal) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + $(use_with oss) + $(use_with pcap) + $(use_with png) + $(use_with pulseaudio pulse) + $(use_with threads pthread) + $(use_with scanner sane) + $(use_with sdl) + $(use_enable test tests) + $(use_with truetype freetype) + $(use_with udev) + $(use_with unwind) + $(use_with v4l v4l2) + $(use_with vkd3d) + $(use_with vulkan) + $(use_with X x) + $(use_with X xfixes) + $(use_with xcomposite) + $(use_with xinerama) + $(use_with xml) + $(use_with xml xslt) + ) + + local PKG_CONFIG + # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 + tc-export PKG_CONFIG + + if use amd64; then + if [[ ${ABI} == amd64 ]]; then + myconf+=( --enable-win64 ) + else + myconf+=( --disable-win64 ) + fi + + # Note: using --with-wine64 results in problems with multilib.eclass + # CC/LD hackery. We're using separate tools instead. + fi + + ECONF_SOURCE=${S} \ + econf "${myconf[@]}" + emake depend +} + +multilib_src_test() { + # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" + if [[ ${ABI} == x86 ]]; then + if [[ $(id -u) == 0 ]]; then + ewarn "Skipping tests since they cannot be run under the root user." + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" + return + fi + + WINEPREFIX="${T}/.wine-${ABI}" \ + Xemake test + fi +} + +multilib_src_install_all() { + local DOCS=( ANNOUNCE AUTHORS README ) + add_locale_docs() { + local locale_doc="documentation/README.$1" + [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) + } + l10n_for_each_locale_do add_locale_docs + + einstalldocs + prune_libtool_files --all + + if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die + fi + + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die + } + multilib_foreach_abi rm_wineconsole + fi + + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} + + # Avoid double prefix from dosym and make_wrapper + MY_PREFIX=${MY_PREFIX#${EPREFIX}} + + if use abi_x86_64 && ! use abi_x86_32; then + dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 + dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader + fi + + # Failglob for binloops, shouldn't be necessary, but including to stay safe + eshopts_push -s failglob #615218 + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${ED%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + eshopts_pop +} + +pkg_postinst() { + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die + + xdg_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi +} + +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + fi + + eselect wine update --all --if-unset || die +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/wine-vanilla/wine-vanilla-5.9.ebuild b/app-emulation/wine-vanilla/wine-vanilla-5.9.ebuild deleted file mode 100644 index 62a4fcb10e85..000000000000 --- a/app-emulation/wine-vanilla/wine-vanilla-5.9.ebuild +++ /dev/null @@ -1,540 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW" -PLOCALE_BACKUP="en" - -inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils - -MY_PN="${PN%%-*}" -MY_P="${MY_PN}-${PV}" - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://source.winehq.org/git/wine.git" - EGIT_BRANCH="master" - inherit git-r3 - SRC_URI="" - #KEYWORDS="" -else - MAJOR_V=$(ver_cut 1) - SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz" - KEYWORDS="-* ~amd64 ~x86" -fi -S="${WORKDIR}/${MY_P}" - -GWP_V="20200523" -PATCHDIR="${WORKDIR}/gentoo-wine-patches" - -DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" -HOMEPAGE="https://www.winehq.org/" -SRC_URI="${SRC_URI} - https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz -" - -LICENSE="LGPL-2.1" -SLOT="${PV}" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml" -REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - X? ( truetype ) - elibc_glibc? ( threads ) - osmesa? ( opengl ) - test? ( abi_x86_32 ) - vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124 - -# FIXME: the test suite is unsuitable for us; many tests require net access -# or fail due to Xvfb's opengl limitations. -RESTRICT="test" - -COMMON_DEPEND=" - X? ( - x11-libs/libXcursor[${MULTILIB_USEDEP}] - x11-libs/libXext[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-libs/libXi[${MULTILIB_USEDEP}] - x11-libs/libXxf86vm[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) - capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) - cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] ) - fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) - gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) - gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] ) - gstreamer? ( - media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) - jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) - lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) - ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) - netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) - nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) - odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) - openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] - ) - osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) - pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) - png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) - scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] ) - ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) - truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) - udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) - udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) - vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] ) - vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] ) - xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) - xml? ( - dev-libs/libxml2[${MULTILIB_USEDEP}] - dev-libs/libxslt[${MULTILIB_USEDEP}] - )" - -RDEPEND="${COMMON_DEPEND} - app-emulation/wine-desktop-common - >app-eselect/eselect-wine-0.3 - !app-emulation/wine:0 - dos? ( >=games-emulation/dosbox-0.74_p20160629 ) - gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] ) - mono? ( app-emulation/wine-mono:5.0.0 ) - perl? ( - dev-lang/perl - dev-perl/XML-Simple - ) - pulseaudio? ( - realtime? ( sys-auth/rtkit ) - ) - samba? ( >=net-fs/samba-3.0.25[winbind] ) - selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 )" - -# tools/make_requests requires perl -DEPEND="${COMMON_DEPEND} - sys-devel/flex - >=sys-kernel/linux-headers-2.6 - virtual/pkgconfig - virtual/yacc - X? ( x11-base/xorg-proto ) - prelink? ( sys-devel/prelink ) - xinerama? ( x11-base/xorg-proto )" - -# These use a non-standard "Wine" category, which is provided by -# /etc/xdg/applications-merged/wine.menu -QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop -usr/share/applications/wine-notepad.desktop -usr/share/applications/wine-uninstaller.desktop -usr/share/applications/wine-winecfg.desktop" - -PATCHES=( - "${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726 - "${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615 - "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611 - "${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch" -) -PATCHES_BIN=() - -# https://bugs.gentoo.org/show_bug.cgi?id=635222 -if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then - DEPEND+=" dev-util/patchbin" -fi - -wine_compiler_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - # GCC-specific bugs - if tc-is-gcc; then - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - ebegin "Checking for gcc-5 ms_abi compiler bug" - $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - ( "${T}"/pr66838 || false ) >/dev/null 2>&1 - if ! eend $?; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 - fi - fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - ebegin "Checking for gcc-5-3 stack realignment compiler bug" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1 - if ! eend $?; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" - eerror - return 1 - fi - fi - fi - - # Ensure compiler support - if use abi_x86_64; then - ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" - # Compile in subshell to prevent "Aborted" message - ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) - if ! eend $?; then - eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" - eerror - eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" - eerror - return 1 - fi - fi -} - -wine_build_environment_check() { - [[ ${MERGE_TYPE} = "binary" ]] && return 0 - - if use abi_x86_64; then - if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then - eerror "You need gcc-4.4+ to compile 64-bit wine" - die - elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then - eerror "You need clang-3.8+ to compile 64-bit wine" - die - fi - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then - ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by" - ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in" - ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4" - fi - if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then - if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then - ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work" - ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine." - ewarn "See package.env in man 5 portage for more information on how to do this." - ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details" - fi - fi - - if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then - eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only." - eerror "See https://bugs.gentoo.org/487864 for more details." - eerror - return 1 - fi -} - -wine_env_vcs_vars() { - local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT" - local pn_live_val="${pn_live_var}" - eval pn_live_val='$'${pn_live_val} - if [[ ! -z ${EGIT_COMMIT} ]]; then - eerror "Commits must now be specified using the environmental variables" - eerror "EGIT_OVERRIDE_COMMIT_WINE" - eerror - return 1 - fi -} - -pkg_pretend() { - wine_build_environment_check || die - - # Verify OSS support - if use oss && ! use kernel_FreeBSD; then - if ! has_version ">=media-sound/oss-4"; then - eerror "You cannot build wine with USE=oss without having support from a" - eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" - eerror - die - fi - fi -} - -pkg_setup() { - wine_build_environment_check || die - wine_env_vcs_vars || die - - WINE_VARIANT="${PN#wine}-${PV}" - WINE_VARIANT="${WINE_VARIANT#-}" - - MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" - MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" - MY_DATADIR="${MY_DATAROOTDIR}" - MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" - MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" - MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" - MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" - MY_MANDIR="${MY_DATADIR}/man" -} - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack - fi - - default - - l10n_find_plocales_changes "${S}/po" "" ".po" -} - -src_prepare() { - - eapply_bin(){ - local patch - for patch in ${PATCHES_BIN[@]}; do - patchbin --nogit < "${patch}" || die - done - } - - local md5="$(md5sum server/protocol.def)" - - default - eapply_bin - eautoreconf - - # Modification of the server protocol requires regenerating the server requests - if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then - einfo "server/protocol.def was patched; running tools/make_requests" - tools/make_requests || die #432348 - fi - sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die - if ! use run-exes; then - sed -i '/^MimeType/d' loader/wine.desktop || die #117785 - fi - - # Edit wine.desktop to work for specific variant - sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die - - # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 - cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die - - l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS - - # Fix manpage generation for locales #469418 and abi_x86_64 #617864 - - # Duplicate manpages input files for wine64 - local f - for f in loader/*.man.in; do - cp ${f} ${f/wine/wine64} || die - done - # Add wine64 manpages to Makefile - if use abi_x86_64; then - sed -i "/wine.man.in/i \ - \\\twine64.man.in \\\\" loader/Makefile.in || die - sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\ -\164\2/' loader/Makefile.in || die - fi - - rm_man_file(){ - local file="${1}" - loc=${2} - sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die - } - - while read f; do - l10n_for_each_disabled_locale_do rm_man_file "${f}" - done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print) -} - -src_configure() { - wine_compiler_check || die - - export LDCONFIG=/bin/true - use custom-cflags || strip-flags - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --prefix="${MY_PREFIX}" - --datarootdir="${MY_DATAROOTDIR}" - --datadir="${MY_DATADIR}" - --docdir="${MY_DOCDIR}" - --includedir="${MY_INCLUDEDIR}" - --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" - --libexecdir="${MY_LIBEXECDIR}" - --localstatedir="${MY_LOCALSTATEDIR}" - --mandir="${MY_MANDIR}" - --sysconfdir="${EPREFIX}/etc/wine" - $(use_with alsa) - $(use_with capi) - $(use_with lcms cms) - $(use_with cups) - $(use_with ncurses curses) - $(use_with udisks dbus) - $(use_with faudio) - $(use_with fontconfig) - $(use_with ssl gnutls) - $(use_enable gecko mshtml) - $(use_with gphoto2 gphoto) - $(use_with gsm) - $(use_with gssapi) - $(use_with gstreamer) - --without-hal - $(use_with jpeg) - $(use_with kerberos krb5) - $(use_with ldap) - --without-mingw # linux LDFLAGS leak in mingw32: bug #685172 - $(use_enable mono mscoree) - $(use_with mp3 mpg123) - $(use_with netapi) - $(use_with nls gettext) - $(use_with openal) - $(use_with opencl) - $(use_with opengl) - $(use_with osmesa) - $(use_with oss) - $(use_with pcap) - $(use_with png) - $(use_with pulseaudio pulse) - $(use_with threads pthread) - $(use_with scanner sane) - $(use_with sdl) - $(use_enable test tests) - $(use_with truetype freetype) - $(use_with udev) - $(use_with unwind) - $(use_with v4l v4l2) - $(use_with vkd3d) - $(use_with vulkan) - $(use_with X x) - $(use_with X xfixes) - $(use_with xcomposite) - $(use_with xinerama) - $(use_with xml) - $(use_with xml xslt) - ) - - local PKG_CONFIG AR RANLIB - # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 - # set AR and RANLIB to make QA scripts happy; #483342 - tc-export PKG_CONFIG AR RANLIB - - if use amd64; then - if [[ ${ABI} == amd64 ]]; then - myconf+=( --enable-win64 ) - else - myconf+=( --disable-win64 ) - fi - - # Note: using --with-wine64 results in problems with multilib.eclass - # CC/LD hackery. We're using separate tools instead. - fi - - ECONF_SOURCE=${S} \ - econf "${myconf[@]}" - emake depend -} - -multilib_src_test() { - # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader" - if [[ ${ABI} == x86 ]]; then - if [[ $(id -u) == 0 ]]; then - ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" - return - fi - - WINEPREFIX="${T}/.wine-${ABI}" \ - Xemake test - fi -} - -multilib_src_install_all() { - local DOCS=( ANNOUNCE AUTHORS README ) - add_locale_docs() { - local locale_doc="documentation/README.$1" - [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) - } - l10n_for_each_locale_do add_locale_docs - - einstalldocs - prune_libtool_files --all - - if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ - "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die - fi - - # Remove wineconsole if neither backend is installed #551124 - if ! use X && ! use ncurses; then - rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die - rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die - rm_wineconsole() { - rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die - } - multilib_foreach_abi rm_wineconsole - fi - - use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 - use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} - - # Avoid double prefix from dosym and make_wrapper - MY_PREFIX=${MY_PREFIX#${EPREFIX}} - - if use abi_x86_64 && ! use abi_x86_32; then - dosym wine64 "${MY_PREFIX}"/bin/wine # 404331 - dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader - fi - - # Failglob for binloops, shouldn't be necessary, but including to stay safe - eshopts_push -s failglob #615218 - # Make wrappers for binaries for handling multiple variants - # Note: wrappers instead of symlinks because some are shell which use basename - local b - for b in "${ED%/}${MY_PREFIX}"/bin/*; do - make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" - done - eshopts_pop -} - -pkg_postinst() { - eselect wine register ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine register --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die - - xdg_desktop_database_update - - if ! use gecko; then - ewarn "Without Wine Gecko, wine prefixes will not have a default" - ewarn "implementation of iexplore. Many older windows applications" - ewarn "rely upon the existence of an iexplore implementation, so" - ewarn "you will likely need to install an external one, like via winetricks" - fi - if ! use mono; then - ewarn "Without Wine Mono, wine prefixes will not have a default" - ewarn "implementation of .NET. Many windows applications rely upon" - ewarn "the existence of a .NET implementation, so you will likely need" - ewarn "to install an external one, like via winetricks" - fi -} - -pkg_prerm() { - eselect wine deregister ${P} - if [[ ${PN} == "wine-vanilla" ]]; then - eselect wine deregister --vanilla ${P} || die - fi - - eselect wine update --all --if-unset || die -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/app-emulation/winetricks/Manifest b/app-emulation/winetricks/Manifest index b58b0d69e17c..912ed582f724 100644 --- a/app-emulation/winetricks/Manifest +++ b/app-emulation/winetricks/Manifest @@ -4,6 +4,6 @@ DIST winetricks-20200412.tar.gz 684548 BLAKE2B e29eba0c73ec0649523dac0f0efd145a5 DIST winetricks-gentoo-2012.11.24.tar.bz2 6398 BLAKE2B 54a4502f6e8ef15d21b02c43e3ce599e32d476c2559246064de14cc4ce2243ff11dde681d24c8a7f4913c3d7a10b855bda47e8fb8ecad31e00d839705416be6f SHA512 59c93b73f3a7b2d11aefcde2ff66659ff1de21ad4b5f232f4b60572f3a48b15a6c49f369b1696862bf1b33fde190bf5598945e9536fb41ddec42d8def4d2be2a EBUILD winetricks-20190912.ebuild 1937 BLAKE2B 231d6da06a48480219664c749f5c032135444bb8490ab49387a37f97ce1b7dfe27a8815bc0cbc3e9e3d74d764af4b0d4d0e395e89ff4a6d698770f3638abc3b8 SHA512 ecaf370db1513bd7119fbbf85710f1a7d22c250e60d51946ddea8efd885136e18012add92bb3283664ecb3995af235a1ee7cccbfee8e215950a9a08141956dd4 EBUILD winetricks-20191224.ebuild 1940 BLAKE2B 30f6f3d7548bf5a7e10c24359b55785139893109eb216fd0d701e1699b514f34165bede6655f5fac0c7d662bb957e03caebed60d46c34f7adfac5ffac8aadbe3 SHA512 03acb9a0064760effa8aefd613f91c19a7ca4e7755ad09b10419f760aa4718dd1d04ed33aa99ef7b90a01b4903c4b9f2d418143fec22cd2bc1a30abe897f93c8 -EBUILD winetricks-20200412.ebuild 1939 BLAKE2B 94a9f211746e1f93d86c86d36b7011bcd3d85d8a65eca7210b495b5d66d2b6b7e5d9475e4c462e75ba0fbf72b72367a8abdad4e2fa087c8e75b26e34cd4565be SHA512 3f22a208a52e2bd057ee426da446e51307b872a3ebfd5dd116f57282e7cdb1c11a3e32e20adece4b60795f3fa27089ca92de5712ba11d43da65055fd3f90b604 -EBUILD winetricks-99999999.ebuild 1939 BLAKE2B 99a9a25d9981607a9f1de4c0c934c1d13659037fb5665c0b8b8c9d249e93cde40f347575b5c58dee10325fc98feeeb257905cff7e08cc4b30c8a4595fb95d715 SHA512 eb76845444cc9e93089371db14d22abe9acc6ec1ddc5d11c9b6a88354b42eeacaade10924354a5f854818b320445b0d0d05e2e89548c7f66994cd6a6b6d635c1 -MISC metadata.xml 713 BLAKE2B 144bf83fd445c85df10c852a798f8e6f049923489e039fceb81989279eba2f869fb5b660482cd2f0be872761bdee3fb1104df207f44daa060dee1aab6cddd9f4 SHA512 f1fc5650abbff4a82a006461932d765d775cdbd630ebcbfdd02488b2f1999d41e89b2a45d6142175e715e186392f4bc4820f501c4064e4a9aa9c8dabbc1ce6a9 +EBUILD winetricks-20200412.ebuild 1978 BLAKE2B e14df15e81b7e47b22198b3b75eb831582cd0c00d8da9695e336ea945a10a14bb783b003cf3851b70daad6674071c25ec51509da86014b9c2af74bb42604b39d SHA512 0a1688a5a13304a49b45c197f2bdb5792b1c5fb18544b3cd4ce7d03a704440a41f835f2cf642a4854e9165c3de39ce414f53df6a0a920cac42037719be7b1181 +EBUILD winetricks-99999999.ebuild 1978 BLAKE2B e14df15e81b7e47b22198b3b75eb831582cd0c00d8da9695e336ea945a10a14bb783b003cf3851b70daad6674071c25ec51509da86014b9c2af74bb42604b39d SHA512 0a1688a5a13304a49b45c197f2bdb5792b1c5fb18544b3cd4ce7d03a704440a41f835f2cf642a4854e9165c3de39ce414f53df6a0a920cac42037719be7b1181 +MISC metadata.xml 713 BLAKE2B 7d9673350201c49de4651ecb8975ed21387259f3375c1b531b63b2a0e0e65f0b2540806db5f6d1d47953911ca36b0d06bf8edaa57ad5e546d242eebcd96f869f SHA512 2a4c5a6ecfc558f3c7382538b8701ab95c3d771a02c51f5dae852a0e90b7df51be65200b337bcc3c92ef9bf827c23954097b3b5e8c99004db729ed6d77e64cfc diff --git a/app-emulation/winetricks/metadata.xml b/app-emulation/winetricks/metadata.xml index 5e0912d7287a..15c062872f15 100644 --- a/app-emulation/winetricks/metadata.xml +++ b/app-emulation/winetricks/metadata.xml @@ -2,7 +2,7 @@ - Chiitoo@gentoo.org + chiitoo@gentoo.org Jimi Huotari diff --git a/app-emulation/winetricks/winetricks-20200412.ebuild b/app-emulation/winetricks/winetricks-20200412.ebuild index a35bc33a2081..380da376c94c 100644 --- a/app-emulation/winetricks/winetricks-20200412.ebuild +++ b/app-emulation/winetricks/winetricks-20200412.ebuild @@ -33,7 +33,10 @@ BDEPEND=" test? ( dev-python/bashate dev-util/checkbashisms - dev-util/shellcheck + || ( + dev-util/shellcheck-bin + dev-util/shellcheck + ) ) " DEPEND="" diff --git a/app-emulation/winetricks/winetricks-99999999.ebuild b/app-emulation/winetricks/winetricks-99999999.ebuild index b189cfcbaca7..380da376c94c 100644 --- a/app-emulation/winetricks/winetricks-99999999.ebuild +++ b/app-emulation/winetricks/winetricks-99999999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -33,7 +33,10 @@ BDEPEND=" test? ( dev-python/bashate dev-util/checkbashisms - dev-util/shellcheck + || ( + dev-util/shellcheck-bin + dev-util/shellcheck + ) ) " DEPEND="" diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest index 63ab410a0289..f0d1761f8177 100644 --- a/app-emulation/xen-pvgrub/Manifest +++ b/app-emulation/xen-pvgrub/Manifest @@ -6,13 +6,11 @@ DIST lwip-1.3.0.tar.gz 398933 BLAKE2B 3567a593eec3d247213daaaab57d9456c9cae50329 DIST newlib-1.16.0.tar.gz 12024353 BLAKE2B 26d3308148fb99baf8ad02eee4cc699cfac690100ea63aaa4be03b86d12dade238478342514bd083cbc3d27964ac42eb8dae3873fdac5ff2c593fc4fb39b2309 SHA512 40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3 DIST pciutils-2.2.9.tar.bz2 212265 BLAKE2B 014b664e90c64e7255c9e21fc25a2cc60d57f47ce282fc0331a0481a460b237783bd3774dd0689e1596d4a0be0d2889faad904da01a6f02147464bce1d1b1bc0 SHA512 2b3d98d027e46d8c08037366dde6f0781ca03c610ef2b380984639e4ef39899ed8d8b8e4cd9c9dc54df101279b95879bd66bfd4d04ad07fef41e847ea7ae32b5 DIST polarssl-1.1.4-gpl.tgz 611340 BLAKE2B 613da06dda9e4b86db5a4d616a0a0afee98c907c3c6b352eed3d9e500fc5739e62eb4f6fc32ff02579c6a6de9bd49fcd2c8bd8b2d158a5050cbaa82118d61ef0 SHA512 88da614e4d3f4409c4fd3bb3e44c7587ba051e3fed4e33d526069a67e8180212e1ea22da984656f50e290049f60ddca65383e5983c0f8884f648d71f698303ad -DIST xen-4.12.2.tar.gz 26985135 BLAKE2B 530821011a6dd0ac0a99fb135ff5311eb8e975c3791818093b5e250eed7854d153de6d4340197f9b949c0ad2c3d7b2b7180deb42bc71748ff70ff6fad195269d SHA512 7d9e7921271830c9eadf1bb8eca1aec20d343ad7475b0dc3165ef6d681759e7cb70739f8d9f85622a23aef960988820e822267fb198b12ee3dd657ad6164069f DIST xen-4.12.3.tar.gz 26985230 BLAKE2B 403de519a552f1cd49e5a85b63f48df1b7a47ff8381385860b67df32af0b33be1c13c92ca2234e4479b7f415e711e0f46c396c3f62dfb5b2465d2991723cf6ef SHA512 7bbf4e752477f18143ac9a62fb633b1fbe115a1a9b03d0132f33dfca025bc9b76d9c2e9b66a3e407d14aff161b940b1a82e3e3ca43213798e9dd38b6970194e0 DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90 -DIST xen-4.14.0-rc3.tar.gz 39943460 BLAKE2B 12356947738cfc7b43d0fa1bcbc8912f87fa5f0368b02b2bd8cc1d2681edc2f26d8edce50991e5fab65aa40f32ce263a2ded80f8ae827f182ea5a0f63274ddc2 SHA512 c6771003f2f66334c9181faeb01cb3283fcbfda78064cfde3a14ae9dca2454c35766d78df23dc480a9daba1edb7fd31db9ebfc3a4f57dd2b07852dd486e859ed +DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 DIST zlib-1.2.3.tar.gz 496597 BLAKE2B 603020b70cd52b83e48bde420b86e2acfd29d69bf7476eecbeeb07d1b8bcab703d2cbd3eab77772990bddb8c268f13594592ce985798d49e2d6ba25104d49f22 SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e -EBUILD xen-pvgrub-4.12.2.ebuild 4462 BLAKE2B c59b5b69a1d319637ea6ef75d2291957ff4d2c287d6b8744d55ded9c294122ee7fe0be38df368316aa5698a5f9f187364d3dbd42ff55259b48bfd2fd3e844df2 SHA512 9b6247b8762c03a02209b84b4f6303813ea4dcb9de9071cc88fe478c24708b4344f21e73fb1ba823b1484d574df078d476b10616bb03d1418b013e7fb8d03afa EBUILD xen-pvgrub-4.12.3.ebuild 4462 BLAKE2B c59b5b69a1d319637ea6ef75d2291957ff4d2c287d6b8744d55ded9c294122ee7fe0be38df368316aa5698a5f9f187364d3dbd42ff55259b48bfd2fd3e844df2 SHA512 9b6247b8762c03a02209b84b4f6303813ea4dcb9de9071cc88fe478c24708b4344f21e73fb1ba823b1484d574df078d476b10616bb03d1418b013e7fb8d03afa EBUILD xen-pvgrub-4.13.1.ebuild 4531 BLAKE2B d02b6eb33a83ab30f33a6c382a3d1874c0d213b802f7a86287019b8af791499dc03a2f7f3e9414b08ecb3d4793a56a1f1ef5db5f5829e376e22c1378d83edd5a SHA512 80072e65336fc1eb94586a70187a85ff4a0d87ed95b7bc241b7ece0556374b3a78c0f91d38274da14ef9e9bc95de1f3e89d91e1df45269bd7ee25b213f656572 -EBUILD xen-pvgrub-4.14.0_rc3.ebuild 4543 BLAKE2B ed1d139dca8a51cb02799b73c40e27e9f962c779dd0be2cd687bd70dbfdeb5ba46e5723cb849b511e481116c410981bd6b7e231d5f99e25d0562a3d8a9ba29ac SHA512 cf81c20dbc2e954e80c879442a2e5cf324a7e9456864f377bc63e3da84c8ebc41378c37906f84e7ee1316a74a4fbbcdcd635d50314311c8402884846aba1106d +EBUILD xen-pvgrub-4.14.0.ebuild 4530 BLAKE2B ef74a5ed5ffe009f105e48b1b19193a8ae6f115ffe665940fa9e0de29d46465675b242b6154945a10dbb5d0a89c0266adaf9f577ad74e42cad58eeff25a17b6c SHA512 44f97e79d3e13e6860f1b3ae8d504a76cdcbba744b20159592bd6721266d0d4325a88f9fb5d506f91b6c2ddee94b5f10198e18c65078f24b395f51cccdfb456e MISC metadata.xml 477 BLAKE2B 663101aa83713fa70e98a41985f3ec3d4c78765b862fb9df1f35ed31d1b32640bc093a0d680252d7b0116eca7f758145bb6337618ac4fea8a0ed108df83ca57a SHA512 907e17ebf2262b71644a8b2d863f5d4cdaee775026eb1a9da736a4ef003a45e8c6eaa2439184865706e57aea0afdf5f3f363e98dc63762ea8706ffad640c9046 diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.12.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.12.2.ebuild deleted file mode 100644 index 7a47d1a99b22..000000000000 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.12.2.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='xml,threads' - -inherit flag-o-matic multilib python-single-r1 toolchain-funcs - -XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" -LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci -GRUB_URL=mirror://gnu-alpha/grub - -UPSTREAM_VER= -[[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - -SRC_URI=" - https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz - $GRUB_URL/grub-0.97.tar.gz - $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz - $LIBPCI_URL/pciutils-2.2.9.tar.bz2 - $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz - $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz - $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz - ${UPSTREAM_PATCHSET_URI}" - -S="${WORKDIR}/xen-${PV}" - -DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="sys-devel/gettext - sys-devel/bin86 - sys-apps/texinfo - x11-libs/pixman" - -RDEPEND="${PYTHON_DEPS} - >=app-emulation/xen-tools-${PV}" - -pkg_setup() { - python-single-r1_pkg_setup -} - -retar-externals() { - # Purely to unclutter src_prepare - local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz" - - # eapply can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative - sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ - -i "${WORKDIR}"/zlib-1.2.3/configure || die - sed -e 's:^AR=ar rc:AR=ar:' \ - -e s':$(AR) $@:$(AR) rc $@:' \ - -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} || die - einfo "zlib Makefile edited" - - cd "${WORKDIR}" || die - tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz || die - tar czp grub-0.97 -f grub-0.97.tar.gz || die - tar czp lwip -f lwip-1.3.0.tar.gz || die - tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz || die - tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz || die - mv $set "${S}"/stubdom/ || die - einfo "tarballs moved to source" -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - eapply "${WORKDIR}"/patches-upstream - fi - - # Patch the unmergeable newlib, fix most of the leftover gcc QA issues - cp "${FILESDIR}"/newlib-implicits.patch stubdom || die - - # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading - eapply "${FILESDIR}"/${PN/-pvgrub/}-4.10-externals.patch - - # fix jobserver in Makefile - eapply "${FILESDIR}"/${PN}-4.8-jserver.patch - - #Substitute for internal downloading. pciutils copied only due to the only .bz2 - cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" - retar-externals || die "re-tar procedure failed" - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --disable-werror \ - --disable-xen" - - econf ${myconf} -} - -src_compile() { - unset CFLAGS - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/libs - - if use x86; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - elif use amd64; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub - if has_multilib_profile; then - multilib_toolchain_setup x86 - emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - fi - fi -} - -src_install() { - if use x86; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - if use amd64; then - emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub - if has_multilib_profile; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - fi -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" -} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0.ebuild new file mode 100644 index 000000000000..c3980e0437ec --- /dev/null +++ b/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) +PYTHON_REQ_USE='xml,threads(+)' + +inherit flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" +LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci +GRUB_URL=mirror://gnu-alpha/grub + +UPSTREAM_VER= +[[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + +SRC_URI=" + https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + $GRUB_URL/grub-0.97.tar.gz + $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz + $LIBPCI_URL/pciutils-2.2.9.tar.bz2 + $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz + $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz + $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz + ${UPSTREAM_PATCHSET_URI}" + +S="${WORKDIR}/xen-${MY_PV}" + +DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="sys-devel/gettext + sys-devel/bin86 + sys-apps/texinfo + x11-libs/pixman" + +RDEPEND="${PYTHON_DEPS} + >=app-emulation/xen-tools-${PV}" + +# python2 only +RESTRICT="test" + +pkg_setup() { + python-single-r1_pkg_setup +} + +retar-externals() { + # Purely to unclutter src_prepare + local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz" + + # eapply can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative + sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ + -i "${WORKDIR}"/zlib-1.2.3/configure || die + sed -e 's:^AR=ar rc:AR=ar:' \ + -e s':$(AR) $@:$(AR) rc $@:' \ + -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} || die + einfo "zlib Makefile edited" + + cd "${WORKDIR}" || die + tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz || die + tar czp grub-0.97 -f grub-0.97.tar.gz || die + tar czp lwip -f lwip-1.3.0.tar.gz || die + tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz || die + tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz || die + mv $set "${S}"/stubdom/ || die + einfo "tarballs moved to source" +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + eapply "${WORKDIR}"/patches-upstream + fi + + # Patch the unmergeable newlib, fix most of the leftover gcc QA issues + cp "${FILESDIR}"/newlib-implicits.patch stubdom || die + + # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading + eapply "${FILESDIR}"/${PN/-pvgrub/}-4.10-externals.patch + + # fix jobserver in Makefile + eapply "${FILESDIR}"/${PN}-4.8-jserver.patch + + #Substitute for internal downloading. pciutils copied only due to the only .bz2 + cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" + retar-externals || die "re-tar procedure failed" + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --disable-werror \ + --disable-xen" + + econf ${myconf} +} + +src_compile() { + unset CFLAGS + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/libs + + if use x86; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + elif use amd64; then + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub + if has_multilib_profile; then + multilib_toolchain_setup x86 + emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ + XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub + fi + fi +} + +src_install() { + if use x86; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + if use amd64; then + emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub + if has_multilib_profile; then + emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub + fi + fi +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" +} diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0_rc3.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0_rc3.ebuild deleted file mode 100644 index 7dbff03ddf2e..000000000000 --- a/app-emulation/xen-pvgrub/xen-pvgrub-4.14.0_rc3.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) -PYTHON_REQ_USE='xml,threads(+)' - -inherit flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles" -LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci -GRUB_URL=mirror://gnu-alpha/grub - -UPSTREAM_VER= -[[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-pvgrub/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - -SRC_URI=" - https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - $GRUB_URL/grub-0.97.tar.gz - $XEN_EXTFILES_URL/zlib-1.2.3.tar.gz - $LIBPCI_URL/pciutils-2.2.9.tar.bz2 - $XEN_EXTFILES_URL/lwip-1.3.0.tar.gz - $XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz - $XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz - ${UPSTREAM_PATCHSET_URI}" - -S="${WORKDIR}/xen-${MY_PV}" - -DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -#KEYWORDS="~amd64 ~x86" -KEYWORDS="" -IUSE="" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -DEPEND="sys-devel/gettext - sys-devel/bin86 - sys-apps/texinfo - x11-libs/pixman" - -RDEPEND="${PYTHON_DEPS} - >=app-emulation/xen-tools-${PV}" - -# python2 only -RESTRICT="test" - -pkg_setup() { - python-single-r1_pkg_setup -} - -retar-externals() { - # Purely to unclutter src_prepare - local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz" - - # eapply can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative - sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \ - -i "${WORKDIR}"/zlib-1.2.3/configure || die - sed -e 's:^AR=ar rc:AR=ar:' \ - -e s':$(AR) $@:$(AR) rc $@:' \ - -i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in} || die - einfo "zlib Makefile edited" - - cd "${WORKDIR}" || die - tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz || die - tar czp grub-0.97 -f grub-0.97.tar.gz || die - tar czp lwip -f lwip-1.3.0.tar.gz || die - tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz || die - tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz || die - mv $set "${S}"/stubdom/ || die - einfo "tarballs moved to source" -} - -src_prepare() { - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_OPTS="-p1" \ - eapply "${WORKDIR}"/patches-upstream - fi - - # Patch the unmergeable newlib, fix most of the leftover gcc QA issues - cp "${FILESDIR}"/newlib-implicits.patch stubdom || die - - # Patch stubdom/Makefile to patch insource newlib & prevent internal downloading - eapply "${FILESDIR}"/${PN/-pvgrub/}-4.10-externals.patch - - # fix jobserver in Makefile - eapply "${FILESDIR}"/${PN}-4.8-jserver.patch - - #Substitute for internal downloading. pciutils copied only due to the only .bz2 - cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom" - retar-externals || die "re-tar procedure failed" - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --disable-werror \ - --disable-xen" - - econf ${myconf} -} - -src_compile() { - unset CFLAGS - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/libs - - if use x86; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - elif use amd64; then - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub - if has_multilib_profile; then - multilib_toolchain_setup x86 - emake CC="$(tc-getCC)" AR="$(tc-getAR)" \ - XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub - fi - fi -} - -src_install() { - if use x86; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - if use amd64; then - emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub - if has_multilib_profile; then - emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub - fi - fi -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" -} diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest index 81a2a1307c5e..bd70309fe159 100644 --- a/app-emulation/xen-tools/Manifest +++ b/app-emulation/xen-tools/Manifest @@ -1,4 +1,4 @@ -AUX gentoo-patches.conf 2282 BLAKE2B f0c369e500213ed72736082719f1b6a7188d1ab92151451704947cce3f8fe597328385cc85c97e9c249da7699d32edf3f97bfe07922e14eb01c8dee4367ee624 SHA512 d6673d82224ac01e7257110aa213ab4c898adabc653fa99d78314731d410ac094f87d16a625e682bddf2cc9dac1365780f44cbe592f02f32c064c37707714a71 +AUX gentoo-patches.conf 2110 BLAKE2B 4eb7d4402f05e1ea2af82684c697e629f75aae2210df79c7b314e63b0bab0c910786efb9d9262cdac965de2f84a271f84fdf795b0618a2c2b423d4cbb51f9da3 SHA512 883c91b1f37e89b1fbfc2cd9013cdcf84a730ef0be85c1522eb8e4c6b332a1e32519ae756990e41444dc3860ab43284f6db750c3c1fb2636f4373d793815f560 AUX stubs-32.h 537 BLAKE2B 456f57c4a4ba574c737f1b84b62a085d0290ebc8981a5f96fdebc16b6c86c801c5ca8dde135e803f46c5ec875fdd74770f6ed754880bc7af930b8ce1ce972fb7 SHA512 55308dbedaa91909a2213940f7a7b574cabe6b5a3104761a2a6f28d6aed00164544488c00cbf9d66a9a370a14c6b6d3a00434efd3ff0228cc8e4d81af19c0e68 AUX xen-consoles.logrotate 63 BLAKE2B 4ae650876035d2815dbcacc6ed618c58cc61d9cfd9cde1b6c2f792cbf51898c577ef979443ad827fc82ced4d21ae24836883160b20d697965ef5377d50c2973c SHA512 ab2105c75cfe01768aecd5bcbb56269d63666e8a44e42b6a83aee87df6c84ee2f9ab249171c21b2e09f8fec2cae8318f6e87d160989398a3e7dd68db8d52c426 AUX xen-watchdog.initd 181 BLAKE2B b8529db36016b6f71520c1e4119a2ea5c4d3f52f2c77ccb5603efb67bcdd88b8273a359f6ae0df61763ea31a50bd8a0be775df5aabbd17c90e7928c8ed5b7c0e SHA512 5f6da91c0067b93f1b9f1a2f181caf34034896944ab26f5820e860336e3b3159a65e8a7f39ea273927d64d58a2fe4d918d2c3234f2b03ab0770e0c15d6dfe84b @@ -23,18 +23,14 @@ DIST ipxe-git-d2063b7693e0e35db97b2264aa987eb6341ae779.tar.gz 3792227 BLAKE2B 72 DIST seabios-1.12.0.tar.gz 613542 BLAKE2B f145c2db716996bfa9e5c014086ccfaa8ae96ebc158f34303b122b7bf209408c567665d8691364df8d8e886f63e0e72a3f3cd319dfa86ef581023201b5d94e53 SHA512 e52c5363e5bb37b5286e55545aa06bd126218f9d0e3a06ac2e189de68fe3de3256c11ca1bb13357a9c384d7e3af6284083ff3aa587688b5de04ef11b97bdfa27 DIST seabios-1.12.1.tar.gz 613450 BLAKE2B cb926b650c41a9962db407945cb5b6558079b061bd61f32ea56aedf0d37a00d10ad4434acbe717ffbc0dd1d1c0767304af8e640a53b0fc3784969dfa1590f681 SHA512 58755ce842adcb99c0f2f3ebbf9ec6d4a5072753966ab46805a96db1570847b109a90e6e03d61f9088ef877ca8ba96a8006777dc38ec434fce6b487f6c1f91d0 DIST seabios-1.13.0.tar.gz 620952 BLAKE2B 460a7dd2b2775b981bbd890ed0a50fe905794c68b0b895799667dd1378bb84125712330c2f6945112709d42cfb7b01196c7fff99051e44b6211d47d19531cfae SHA512 7f158badf7deecc2998eab2a08f3615dfe5a7c0a51323f7b4568a4d1280935bc32bb466c8226d87d2ca7e13f9f117ff0092befcc0699bc31c5018e84754e8393 -DIST xen-4.12.2-upstream-patches-0.tar.xz 3976 BLAKE2B 4527b5699b13e1b5bed9b82b67c7a3ddfbe39dc69f63b3bb1fda81cb315c6d78a34441219b8d4ae3d95ae2bc52ef0779410b65813212fa07867061fcb2b599ac SHA512 462de147b0474ca8e051219b41b088f25eb4be3962cde399403be5fbcfd4747054f84bf8c732ba8d86c1ba1980c518b67cd8e4f342e4120dd8bf6594d185a92e -DIST xen-4.12.2.tar.gz 26985135 BLAKE2B 530821011a6dd0ac0a99fb135ff5311eb8e975c3791818093b5e250eed7854d153de6d4340197f9b949c0ad2c3d7b2b7180deb42bc71748ff70ff6fad195269d SHA512 7d9e7921271830c9eadf1bb8eca1aec20d343ad7475b0dc3165ef6d681759e7cb70739f8d9f85622a23aef960988820e822267fb198b12ee3dd657ad6164069f -DIST xen-4.12.3-upstream-patches-0.tar.xz 7236 BLAKE2B d795e2be6f1edb31f1d794912328c4d3673eb800464d99c5ae867d189d0ea2b4cbac0c8bcda7790ae40742f6bf79308eb624b4f67d1c7f12cc64be6d8c920b84 SHA512 de5723d4fd547845ca9a876f8535e720f7bd790e48dbf1d92397d60a285ef88a31cad276b1a01a4fa8946cefb15d69c8a3a00da5113b6e5e2655b871be076adf +DIST xen-4.12.3-upstream-patches-1.tar.xz 39052 BLAKE2B dbe18a8d67009be9597ea8f0cd45850ed0e437119095c414796efff2810e884a3d7c062a7e5e12e93d8991cbbab50c0095d7ae1c937129f8f9490aa5f31ca6f8 SHA512 1383b1c0e3d4918b6b43c9cdff5284e259385136aad479814ea1d50b25017a0466a6a0044321585f38f4c8fb30f5af91a45f666a6d7fce6e60a4dfdb346a421b DIST xen-4.12.3.tar.gz 26985230 BLAKE2B 403de519a552f1cd49e5a85b63f48df1b7a47ff8381385860b67df32af0b33be1c13c92ca2234e4479b7f415e711e0f46c396c3f62dfb5b2465d2991723cf6ef SHA512 7bbf4e752477f18143ac9a62fb633b1fbe115a1a9b03d0132f33dfca025bc9b76d9c2e9b66a3e407d14aff161b940b1a82e3e3ca43213798e9dd38b6970194e0 -DIST xen-4.13.1-upstream-patches-0.tar.xz 7156 BLAKE2B 246b30cd8bc0ee8853a4e85ae0140d0ae52e69f3e4220bd97af8564491cf8285a7a592cd1392467a30acf6947733c8af355c110a44cb565927fb4f0bb7867113 SHA512 9059de696cb984c1891b5a87d1832562aa34b6568a21867c6744b603180f2b628905c81031f3c7c24867122d07432906750e0cfc6ca2fdacd31b82d35488455f +DIST xen-4.13.1-upstream-patches-1.tar.xz 46892 BLAKE2B 8ccfe1d6b3589e262fa04526d5238694e324fef3b514daebdffcb74cecfc2700e37f810faf868ec198c99ed3a9af2c351656c31798c5791bfd6816552d78fd7a SHA512 2d9708c4b558c5986afd1caea56f69ac8b11d69371fd4afae0e9c3480a0b863c99ebe2d3b857d623d41924437db7f7e44fefc7bae892cd05d7605243ae8140d5 DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90 -DIST xen-4.14.0-rc3.tar.gz 39943460 BLAKE2B 12356947738cfc7b43d0fa1bcbc8912f87fa5f0368b02b2bd8cc1d2681edc2f26d8edce50991e5fab65aa40f32ce263a2ded80f8ae827f182ea5a0f63274ddc2 SHA512 c6771003f2f66334c9181faeb01cb3283fcbfda78064cfde3a14ae9dca2454c35766d78df23dc480a9daba1edb7fd31db9ebfc3a4f57dd2b07852dd486e859ed -DIST xen-gentoo-patches-20.tar.xz 17376 BLAKE2B 909795f611a089ab1eee86db5f034cec963c831873b3088f0682cdb7ec5284e75a4d49a5a1c93ee7a7e7ba3a899648b38928a1c7b726e019c2a90b66e31fee4a SHA512 d06b846ccb8c488f7155437cdf220533fc2d23ad13b0a2bd4d69d68938c4858fdb961c9e59f57c5228368b4e60dbbdf81ec15b77ecb0639bbf475333f8bf4b97 +DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 DIST xen-gentoo-patches-21.tar.xz 18280 BLAKE2B 95446da72fc16cb82e4e51df8796c64db05a30894a351a98dbd6700ce354c34956ca09a1af98125a4e56c337936e8fae296d806519b8afa23a82b078aa0db8f1 SHA512 3cffac162606a09b10b47dca604f167897e6ac8d153411d3464ef29a7a4d46ac5b92340884cb21279cb2d053b131f1ea5cb2111e3e9a21b3298b5ab3320ee34d DIST xen-gentoo-patches-22.tar.xz 18764 BLAKE2B e0da49b39fbc6b689db47e40a4fbb4f6568644fe192b114cce01b0406cba4bf23339ad1bf39b972f895df004916827b6e774f97fc079aeb8ac436763efda5fc3 SHA512 5b7959af4ed30edd2526698ab60a86353e35d9dc48dc941b6df7659a7c4904260461e0decbd8d788542bd69384736f2175861d4943c3738618d20788b19ea9b1 -EBUILD xen-tools-4.12.2-r1.ebuild 14966 BLAKE2B df7d4e20a1184631204f0e6f31f041c52bfd09a4c6d883a80d58f0d88cc96ec1cff25659a8995383a00f153d020b22c1e8a3a3f0e7c807dff382cae9411f2db6 SHA512 f26b572cd184cf0243d9b0c54dfb6746ecf52696e5e96858262def32530515d503a5cfbdf3f39ab8d029f4cb72a32f84f78f842f7fdfb4cf0f6e8b346a593090 -EBUILD xen-tools-4.12.3-r1.ebuild 15181 BLAKE2B 39160d51e8c2d0a6452d4a4eaa6e95237f3e5fe5d8d945733a69402c9ac16aee82879605cc61020035ca9a82ef6f6e8c7030a21daadf7de8815147040d9bdad3 SHA512 7f85d1919c6d9c93bff1b1b22cf86660cc4b776de4d910549840add24c209fb67c57cc802ef448852b85b1c8236f57457e258469916801fa5858aed22f73010c -EBUILD xen-tools-4.13.1-r1.ebuild 15865 BLAKE2B b5c85654d0c166053891f045db686be4ed88c3252bbdf370e480500d94b7b189934d3930658159b6c6734d3b7d4664201e3c61c02b9be891cd491e584e0d6a66 SHA512 993b4b5675932eab2a2748d89faa58e0666d7dd36a39ed86da0ee21d45b4a002dbb559cdcf7b4ed3120a5a4eb9b56e64eb49daf4f525cb77188f3c24b116bcff -EBUILD xen-tools-4.14.0_rc3.ebuild 15877 BLAKE2B ff7c4dab2e1dcf2c8dcd13c819d1890b2667079f2f08d23fe4c0661b7345a3c2b36f010c0635308a5193de6c60285ee6933c56608848c3bd2f8064bf15f4f481 SHA512 b17973909ed7c3811b9d907ab3f37074211a7cea070a25b138b7aebb370f4eed763d49d69d0bd46732cfc361a7ce094d12a15be22169bf2d67f2ad5959de7bcc +EBUILD xen-tools-4.12.3-r2.ebuild 15181 BLAKE2B 277916f833c534f5629bd2cb87da226064660dd94beb83d92458867cba978f680f7dd4ab680bd1bdcaa2910f4927b56fd1efc1fc2bfd0ade5c75b4fbcba38974 SHA512 3365b1bb7d9622cf9461d609edd94b80927d014d5f344594fc921fe5b0898f522cf203e3ff8dade6361fd71fefa7235f11452ce04ae738a718dc6a80d668a07f +EBUILD xen-tools-4.13.1-r2.ebuild 15865 BLAKE2B 7cfbed153528c909ca1dcd3fa668d72e59a0369a759c7e95599f0ce2682b7606cdfbe7b37678517196e920a9f0edf28fc65a6ef2708245478ba24038fe546c55 SHA512 fcca7b153ef7c8fba9e62c5714163286b5f1d7dc458b33a23afb83d93af98b2700063872745389c1669b4a11e17603654d1d9e3db6bf9a8d3e541041a6ef60e3 +EBUILD xen-tools-4.14.0.ebuild 16028 BLAKE2B 18788a996259b116825fbb69f68c69960bf47419267d6a850701e5b290b0ecab2bc5f95a6ba5a6582bce98e277be537b913e386db8d9c6527d54bbaf61045830 SHA512 875494bbc403a2b58866c670c3afd7f7e539b1ba7e649945e76e3543169d58f1128c7df1ce2f4c21e67f2185034fa4e4b44776997c6b84f86922a4c988f8e1c7 MISC metadata.xml 1662 BLAKE2B 1b243436df5eb36e30f73b36db45d859aa03f7e9d3360fcdb91c35e3a1c00f1217e5e7cd1461b65d9da2883f5e8ca969b958f9b2160def4c1f15347c1887b2cd SHA512 d6cdf124c7767727f7c8d16a2dc0f85a7213db21f8d1595f7d8899c7cb81d47849fd05759ccfc460630c32917e64ea31ef6384dc050ab0eb392f571b12db68ed diff --git a/app-emulation/xen-tools/files/gentoo-patches.conf b/app-emulation/xen-tools/files/gentoo-patches.conf index 052e818a82eb..0a0bf8aa468d 100644 --- a/app-emulation/xen-tools/files/gentoo-patches.conf +++ b/app-emulation/xen-tools/files/gentoo-patches.conf @@ -51,16 +51,6 @@ _gx056=" xen-tools-4.12.2-libxenstat-makefile.patch" # Fix building with gcc 10, bug #722930 _gx060=" xen-tools-4.13.0-gcc10.patch" -# xen-tools-4.12.2 patches set -_gpv_xen_tools_4122_0=" -${_gx038} -${_gx027} -${_gx028} ${_gx029} -${_gx037} ${_gx042} -${_gx053} ${_gx050} ${_gx051} -${_gx054} ${_gx056} -" - # xen-tools-4.12.3 patches set _gpv_xen_tools_4123_0=" ${_gx038} @@ -84,7 +74,7 @@ ${_gx060} " # xen-tools-4.14.0 patches set -_gpv_xen_tools_4140_rc3_0=" +_gpv_xen_tools_4140_0=" ${_gx039} ${_gx027} ${_gx028} ${_gx029} diff --git a/app-emulation/xen-tools/xen-tools-4.12.2-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.12.2-r1.ebuild deleted file mode 100644 index 13c5867def90..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.12.2-r1.ebuild +++ /dev/null @@ -1,491 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='ncurses,xml,threads' - -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="amd64 ~arm ~arm64 x86" - UPSTREAM_VER=0 - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=20 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER= - - SEABIOS_VER=1.12.0 - EDK2_COMMIT=ef529e6ab7c31290a33045bb1f1837447cc0eb56 - IPXE_COMMIT=d2063b7693e0e35db97b2264aa987eb6341ae779 - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README ) - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ipxe? ( rombios ) - ovmf? ( hvm ) - pygrub? ( python ) - rombios? ( hvm ) - system-ipxe? ( rombios ) - ?? ( ipxe system-ipxe ) - ?? ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) - ') - x86? ( sys-devel/dev86 - system-ipxe? ( sys-firmware/ipxe[qemu] ) - sys-power/iasl ) - api? ( dev-libs/libxml2 - net-misc/curl ) - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - system-ipxe? ( sys-firmware/ipxe[qemu] ) - rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] - ') - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( - media-libs/libsdl[X] - media-libs/libsdl2[X] - ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 ) - python? ( dev-lang/swig )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/hppa-firmware.img - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/edk2-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die - fi - - # ipxe - if use ipxe; then - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die - cp "${WORKDIR}/patches-gentoo/${PN}-4.12.0-ipxe-gcc9.patch" \ - tools/firmware/etherboot/patches/ipxe-gcc9.patch || die - echo "ipxe-gcc9.patch" >> tools/firmware/etherboot/patches/series || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # drop flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - # disable capstone (Bug #673474) - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ - -i tools/Makefile || die - - # disable glusterfs - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ - -i tools/Makefile || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable api xenapi) \ - $(use_enable ipxe) \ - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ - $(use_enable ocaml ocamltools) \ - $(use_enable ovmf) \ - $(use_enable pam) \ - $(use_enable rombios) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - tc-ld-disable-gold # Bug 669570 - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}/tmp" || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - dodoc -r docs/{pdf,txt} - else - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 - fi - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die - - keepdir /var/lib/xen/dump - keepdir /var/lib/xen/xenpaging - keepdir /var/lib/xenstored - keepdir /var/log/xen - - if use python; then - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" - fi -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config system at boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.12.3-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.12.3-r1.ebuild deleted file mode 100644 index 7fdf03867442..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.12.3-r1.ebuild +++ /dev/null @@ -1,500 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='ncurses,xml,threads' - -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="amd64 ~arm ~arm64 x86" - UPSTREAM_VER=0 - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=21 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER= - - SEABIOS_VER=1.12.0 - EDK2_COMMIT=ef529e6ab7c31290a33045bb1f1837447cc0eb56 - IPXE_COMMIT=d2063b7693e0e35db97b2264aa987eb6341ae779 - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README ) - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ipxe? ( rombios ) - ovmf? ( hvm ) - pygrub? ( python ) - rombios? ( hvm ) - system-ipxe? ( rombios ) - ?? ( ipxe system-ipxe ) - ?? ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) - ') - x86? ( sys-devel/dev86 - system-ipxe? ( sys-firmware/ipxe[qemu] ) - sys-power/iasl ) - api? ( dev-libs/libxml2 - net-misc/curl ) - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - system-ipxe? ( sys-firmware/ipxe[qemu] ) - rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] - ') - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( - media-libs/libsdl[X] - media-libs/libsdl2[X] - ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 ) - python? ( dev-lang/swig )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/hppa-firmware.img - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/edk2-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die - fi - - # ipxe - if use ipxe; then - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die - - # gcc 9 - cp "${WORKDIR}/patches-gentoo/${PN}-4.12.0-ipxe-gcc9.patch" \ - tools/firmware/etherboot/patches/ipxe-gcc9.patch || die - echo "ipxe-gcc9.patch" >> tools/firmware/etherboot/patches/series || die - - # gcc 10 - cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" \ - tools/firmware/etherboot/patches/ipxe-gcc10.patch || die - echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # drop flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - # disable capstone (Bug #673474) - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ - -i tools/Makefile || die - - # disable glusterfs - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ - -i tools/Makefile || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable api xenapi) \ - $(use_enable ipxe) \ - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ - $(use_enable ocaml ocamltools) \ - $(use_enable ovmf) \ - $(use_enable pam) \ - $(use_enable rombios) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - tc-ld-disable-gold # Bug 669570 - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"/tmp || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - dodoc -r docs/{pdf,txt} - else - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 - fi - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die - - keepdir /var/lib/xen/dump - keepdir /var/lib/xen/xenpaging - keepdir /var/lib/xenstored - keepdir /var/log/xen - - if use python; then - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" - fi - - python_optimize -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config system at boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.12.3-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.12.3-r2.ebuild new file mode 100644 index 000000000000..7cf2012da511 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.12.3-r2.ebuild @@ -0,0 +1,500 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE='ncurses,xml,threads' + +inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="amd64 ~arm ~arm64 x86" + UPSTREAM_VER=1 + SECURITY_VER= + # xen-tools's gentoo patches tarball + GENTOO_VER=21 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER= + + SEABIOS_VER=1.12.0 + EDK2_COMMIT=ef529e6ab7c31290a33045bb1f1837447cc0eb56 + IPXE_COMMIT=d2063b7693e0e35db97b2264aa987eb6341ae779 + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz + ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) + ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README ) + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ipxe? ( rombios ) + ovmf? ( hvm ) + pygrub? ( python ) + rombios? ( hvm ) + system-ipxe? ( rombios ) + ?? ( ipxe system-ipxe ) + ?? ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_MULTI_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + ') + x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) + sys-power/iasl ) + api? ( dev-libs/libxml2 + net-misc/curl ) + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-power/iasl + system-seabios? ( sys-firmware/seabios ) + system-ipxe? ( sys-firmware/ipxe[qemu] ) + rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + $(python_gen_cond_dep ' + dev-python/markdown[${PYTHON_MULTI_USEDEP}] + ') + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( + media-libs/libsdl[X] + media-libs/libsdl2[X] + ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 ) + python? ( dev-lang/swig )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/hppa-firmware.img + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/edk2-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die + cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die + fi + + # ipxe + if use ipxe; then + cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die + + # gcc 9 + cp "${WORKDIR}/patches-gentoo/${PN}-4.12.0-ipxe-gcc9.patch" \ + tools/firmware/etherboot/patches/ipxe-gcc9.patch || die + echo "ipxe-gcc9.patch" >> tools/firmware/etherboot/patches/series || die + + # gcc 10 + cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" \ + tools/firmware/etherboot/patches/ipxe-gcc10.patch || die + echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die + fi + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # drop flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + # disable capstone (Bug #673474) + sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ + -i tools/Makefile || die + + # disable glusterfs + sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ + -i tools/Makefile || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable api xenapi) \ + $(use_enable ipxe) \ + $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ + $(use_enable ocaml ocamltools) \ + $(use_enable ovmf) \ + $(use_enable pam) \ + $(use_enable rombios) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + tc-ld-disable-gold # Bug 669570 + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"/tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + dodoc -r docs/{pdf,txt} + else + emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 + fi + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die + + keepdir /var/lib/xen/dump + keepdir /var/lib/xen/xenpaging + keepdir /var/lib/xenstored + keepdir /var/log/xen + + if use python; then + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" + fi + + python_optimize +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config system at boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.13.1-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.13.1-r1.ebuild deleted file mode 100644 index 0d79a70f5295..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.13.1-r1.ebuild +++ /dev/null @@ -1,505 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) -PYTHON_REQ_USE='ncurses,xml,threads(+)' - -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - KEYWORDS="~amd64 ~arm ~arm64 ~x86" - UPSTREAM_VER=0 - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=21 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER= - - SEABIOS_VER="1.12.1" - EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" - EDK2_OPENSSL_VERSION="1_1_1b" - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" - IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README ) - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ipxe? ( rombios ) - ovmf? ( hvm ) - pygrub? ( python ) - rombios? ( hvm ) - system-ipxe? ( rombios ) - ?? ( ipxe system-ipxe ) - ?? ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) - ') - x86? ( sys-devel/dev86 - system-ipxe? ( sys-firmware/ipxe[qemu] ) - sys-power/iasl ) - api? ( dev-libs/libxml2 - net-misc/curl ) - - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - system-ipxe? ( sys-firmware/ipxe[qemu] ) - rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] - ') - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( - media-libs/libsdl[X] - media-libs/libsdl2[X] - ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 ) - python? ( >=dev-lang/swig-4.0.0 )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/hppa-firmware.img - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/elf2dmp - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-edid - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/edk2-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die - fi - - # ipxe - if use ipxe; then - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die - - # gcc 10 - cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die - echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # drop flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - # disable capstone (Bug #673474) - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ - -i tools/Makefile || die - - # disable glusterfs - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ - -i tools/Makefile || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable api xenapi) \ - $(use_enable ipxe) \ - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ - $(use_enable ocaml ocamltools) \ - $(use_enable ovmf) \ - $(use_enable pam) \ - $(use_enable rombios) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - tc-ld-disable-gold # Bug 669570 - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"/tmp || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - dodoc -r docs/{pdf,txt} - else - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 - fi - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die - - keepdir /var/lib/xen/dump - keepdir /var/lib/xen/xenpaging - keepdir /var/lib/xenstored - keepdir /var/log/xen - - if use python; then - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" - fi - - python_optimize -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config system at boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen-tools/xen-tools-4.13.1-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.13.1-r2.ebuild new file mode 100644 index 000000000000..e47034afe458 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.13.1-r2.ebuild @@ -0,0 +1,505 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_REQ_USE='ncurses,xml,threads(+)' + +inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER=1 + SECURITY_VER= + # xen-tools's gentoo patches tarball + GENTOO_VER=21 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER= + + SEABIOS_VER="1.12.1" + EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" + EDK2_OPENSSL_VERSION="1_1_1b" + EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" + IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz + ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) + ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz + https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz + https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README ) + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ipxe? ( rombios ) + ovmf? ( hvm ) + pygrub? ( python ) + rombios? ( hvm ) + system-ipxe? ( rombios ) + ?? ( ipxe system-ipxe ) + ?? ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_MULTI_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + ') + x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) + sys-power/iasl ) + api? ( dev-libs/libxml2 + net-misc/curl ) + + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-power/iasl + system-seabios? ( sys-firmware/seabios ) + system-ipxe? ( sys-firmware/ipxe[qemu] ) + rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + $(python_gen_cond_dep ' + dev-python/markdown[${PYTHON_MULTI_USEDEP}] + ') + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( + media-libs/libsdl[X] + media-libs/libsdl2[X] + ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 ) + python? ( >=dev-lang/swig-4.0.0 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/hppa-firmware.img + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/elf2dmp + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-edid + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/edk2-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die + rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die + fi + + # ipxe + if use ipxe; then + cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die + + # gcc 10 + cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die + echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die + fi + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # drop flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + # disable capstone (Bug #673474) + sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ + -i tools/Makefile || die + + # disable glusterfs + sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ + -i tools/Makefile || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable api xenapi) \ + $(use_enable ipxe) \ + $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ + $(use_enable ocaml ocamltools) \ + $(use_enable ovmf) \ + $(use_enable pam) \ + $(use_enable rombios) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + tc-ld-disable-gold # Bug 669570 + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"/tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + dodoc -r docs/{pdf,txt} + else + emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 + fi + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die + + keepdir /var/lib/xen/dump + keepdir /var/lib/xen/xenpaging + keepdir /var/lib/xenstored + keepdir /var/log/xen + + if use python; then + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" + fi + + python_optimize +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config system at boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.14.0.ebuild b/app-emulation/xen-tools/xen-tools-4.14.0.ebuild new file mode 100644 index 000000000000..6446bb397cf7 --- /dev/null +++ b/app-emulation/xen-tools/xen-tools-4.14.0.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) +PYTHON_REQ_USE='ncurses,xml,threads(+)' + +inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs + +MY_PV=${PV/_/-} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + REPO="xen.git" + EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" + S="${WORKDIR}/${REPO}" +else + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + UPSTREAM_VER= + SECURITY_VER= + # xen-tools's gentoo patches tarball + GENTOO_VER=22 + # xen-tools's gentoo patches version which apply to this specific ebuild + GENTOO_GPV=0 + # xen-tools ovmf's patches + OVMF_VER= + + SEABIOS_VER="1.13.0" + EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" + EDK2_OPENSSL_VERSION="1_1_1b" + EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" + IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" + [[ -n ${OVMF_VER} ]] && \ + OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" + + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz + https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz + ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) + ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz + https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz + https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz + ${OVMF_PATCHSET_URI} ) + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + + S="${WORKDIR}/xen-${MY_PV}" +fi + +DESCRIPTION="Xen tools including QEMU and xl" +HOMEPAGE="https://www.xenproject.org" +DOCS=( README ) + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make +# >=dev-lang/ocaml-4 stable +# Masked in profiles/eapi-5-files instead +IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + ipxe? ( rombios ) + ovmf? ( hvm ) + pygrub? ( python ) + rombios? ( hvm ) + system-ipxe? ( rombios ) + ?? ( ipxe system-ipxe ) + ?? ( qemu system-qemu )" + +COMMON_DEPEND=" + sys-apps/pciutils + dev-libs/lzo:2 + dev-libs/glib:2 + dev-libs/yajl + dev-libs/libaio + dev-libs/libgcrypt:0 + sys-libs/zlib + ${PYTHON_DEPS} +" + +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-4.11 + $(python_gen_cond_dep ' + dev-python/lxml[${PYTHON_MULTI_USEDEP}] + pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) + ') + x86? ( sys-devel/dev86 + system-ipxe? ( sys-firmware/ipxe[qemu] ) + sys-power/iasl ) + api? ( dev-libs/libxml2 + net-misc/curl ) + + ovmf? ( + !arm? ( !arm64? ( dev-lang/nasm ) ) + $(python_gen_impl_dep sqlite) + ) + !amd64? ( >=sys-apps/dtc-1.4.0 ) + amd64? ( sys-power/iasl + system-seabios? ( sys-firmware/seabios ) + system-ipxe? ( sys-firmware/ipxe[qemu] ) + rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) + dev-lang/perl + app-misc/pax-utils + doc? ( + app-text/ghostscript-gpl + app-text/pandoc + $(python_gen_cond_dep ' + dev-python/markdown[${PYTHON_MULTI_USEDEP}] + ') + dev-texlive/texlive-latexextra + media-gfx/transfig + ) + hvm? ( x11-base/xorg-proto ) + qemu? ( + app-arch/snappy:= + x11-libs/pixman + sdl? ( + media-libs/libsdl[X] + media-libs/libsdl2[X] + ) + ) + system-qemu? ( app-emulation/qemu[xen] ) + ocaml? ( dev-ml/findlib + >=dev-lang/ocaml-4 ) + python? ( >=dev-lang/swig-4.0.0 )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/iproute2[-minimal] + net-misc/bridge-utils + screen? ( + app-misc/screen + app-admin/logrotate + )" + +# hvmloader is used to bootstrap a fully virtualized kernel +# Approved by QA team in bug #144032 +QA_WX_LOAD=" + usr/libexec/xen/boot/hvmloader + usr/share/qemu-xen/qemu/hppa-firmware.img + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +QA_PREBUILT=" + usr/libexec/xen/bin/elf2dmp + usr/libexec/xen/bin/ivshmem-client + usr/libexec/xen/bin/ivshmem-server + usr/libexec/xen/bin/qemu-edid + usr/libexec/xen/bin/qemu-img + usr/libexec/xen/bin/qemu-io + usr/libexec/xen/bin/qemu-keymap + usr/libexec/xen/bin/qemu-nbd + usr/libexec/xen/bin/qemu-pr-helper + usr/libexec/xen/bin/qemu-system-i386 + usr/libexec/xen/bin/virtfs-proxy-helper + usr/libexec/xen/libexec/xen-bridge-helper + usr/share/qemu-xen/qemu/s390-ccw.img + usr/share/qemu-xen/qemu/s390-netboot.img + usr/share/qemu-xen/qemu/u-boot.e500 +" + +RESTRICT="test" + +pkg_setup() { + python_setup + export "CONFIG_LOMOUNT=y" + + #bug 522642, disable compile tools/tests + export "CONFIG_TESTS=n" + + if [[ -z ${XEN_TARGET_ARCH} ]] ; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64 ; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi +} + +src_prepare() { + local i + + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + einfo "Try to apply Xen Upstream patch set" + eapply "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + EPATCH_SUFFIX="patch" + EPATCH_FORCE="yes" + + source "${WORKDIR}"/patches-security/${PV}.conf || die + + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + + # apply qemu-xen/upstream patches + pushd "${S}"/tools/qemu-xen/ > /dev/null + for i in ${XEN_SECURITY_QEMUU}; do + eapply "${WORKDIR}"/patches-security/qemuu/$i + done + popd > /dev/null + + # apply qemu-traditional patches + pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null + for i in ${XEN_SECURITY_QEMUT}; do + eapply "${WORKDIR}"/patches-security/qemut/$i + done + popd > /dev/null + fi + + # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err + mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die + pushd tools/firmware/ > /dev/null + ln -s seabios-dir-remote seabios-dir || die + popd > /dev/null + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then + einfo "Try to apply Gentoo specific patch set" + source "${FILESDIR}"/gentoo-patches.conf || die + _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} + for i in ${!_gpv}; do + eapply "${WORKDIR}"/patches-gentoo/$i + done + fi + + # Ovmf's patchset + if use ovmf; then + if [[ -n ${OVMF_VER} ]];then + einfo "Try to apply Ovmf patch set" + pushd "${WORKDIR}"/edk2-*/ > /dev/null + eapply "${WORKDIR}"/patches-ovmf + popd > /dev/null + fi + mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die + rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die + mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die + cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die + fi + + # ipxe + if use ipxe; then + cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die + + # gcc 10 + cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die + echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die + fi + + # gcc 10 + # libxlu_pci.c:32:18: error: 'func' may be used uninitialized in this function + sed -e '/CFLAGS/s/Werror/Wno-error/g' \ + -i tools/libxl/Makefile || die + + mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die + + # Fix texi2html build error with new texi2html, qemu.doc.html + sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die + + use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die + sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ + -i tools/firmware/Makefile || die + + # Drop .config, fixes to gcc-4.6 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + # drop flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + unset CPPFLAGS + + if ! use pygrub; then + sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die + fi + + if ! use python; then + sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die + fi + + if ! use hvm; then + sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die + # Bug 351648 + elif ! use x86 && ! has x86 $(get_all_abis); then + mkdir -p "${WORKDIR}"/extra-headers/gnu || die + touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die + export CPATH="${WORKDIR}"/extra-headers + fi + + if use qemu; then + if use sdl; then + sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ + tools/Makefile || die + else + sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ + tools/qemu-xen-traditional/xen-setup || die + sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ + tools/Makefile || die + fi + else + # Don't bother with qemu, only needed for fully virtualised guests + sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die + fi + + # Reset bash completion dir; Bug 472438 + sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ + -i Config.mk || die + sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die + + # xencommons, Bug #492332, sed lighter weight than patching + sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ + -i tools/hotplug/Linux/init.d/xencommons.in || die + + # fix bashishm + sed -e '/Usage/s/\$//g' \ + -i tools/hotplug/Linux/init.d/xendriverdomain.in || die + + # respect multilib, usr/lib/libcacard.so.0.0.0 + sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ + -i tools/qemu-xen/configure || die + + #bug 518136, don't build 32bit exactuable for nomultilib profile + if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then + sed -i -e "/x86_emulator/d" tools/tests/Makefile || die + fi + + # uncomment lines in xl.conf + sed -e 's:^#autoballoon=:autoballoon=:' \ + -e 's:^#lockfile=:lockfile=:' \ + -e 's:^#vif.default.script=:vif.default.script=:' \ + -i tools/examples/xl.conf || die + + # disable capstone (Bug #673474) + sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ + -i tools/Makefile || die + + # disable glusterfs + sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ + -i tools/Makefile || die + + default +} + +src_configure() { + local myconf="--prefix=${PREFIX}/usr \ + --libdir=${PREFIX}/usr/$(get_libdir) \ + --libexecdir=${PREFIX}/usr/libexec \ + --localstatedir=${EPREFIX}/var \ + --disable-werror \ + --disable-xen \ + --enable-tools \ + --enable-docs \ + $(use_enable api xenapi) \ + $(use_enable ipxe) \ + $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ + $(use_enable ocaml ocamltools) \ + $(use_enable ovmf) \ + $(use_enable pam) \ + $(use_enable rombios) \ + --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ + " + + use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" + use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" + use amd64 && myconf+=" $(use_enable qemu-traditional)" + tc-ld-disable-gold # Bug 669570 + econf ${myconf} +} + +src_compile() { + local myopt + use debug && myopt="${myopt} debug=y" + use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" + + if test-flag-CC -fno-strict-overflow; then + append-flags -fno-strict-overflow + fi + + emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} + + if use doc; then + emake -C docs build + else + emake -C docs man-pages + fi +} + +src_install() { + # Override auto-detection in the build system, bug #382573 + export INITD_DIR=/tmp/init.d + export CONFIG_LEAF_DIR=../tmp/default + + # Let the build system compile installed Python modules. + local PYTHONDONTWRITEBYTECODE + export PYTHONDONTWRITEBYTECODE + + emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ + XEN_PYTHON_NATIVE_INSTALL=y install-tools + + # Created at runtime + rm -rv "${ED}/var/run" || die + + # Fix the remaining Python shebangs. + python_fix_shebang "${D}" + + # Remove RedHat-specific stuff + rm -rf "${D}"/tmp || die + + if use doc; then + emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs + dodoc -r docs/{pdf,txt} + else + emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 + fi + dodoc ${DOCS[@]} + + newconfd "${FILESDIR}"/xendomains.confd xendomains + newconfd "${FILESDIR}"/xenstored.confd xenstored + newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled + newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains + newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored + newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled + newinitd "${FILESDIR}"/xencommons.initd xencommons + newconfd "${FILESDIR}"/xencommons.confd xencommons + newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev + newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev + newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog + + if use screen; then + cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die + cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die + keepdir /var/log/xen-consoles + fi + + # For -static-libs wrt Bug 384355 + if ! use static-libs; then + rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a + fi + + # for xendomains + keepdir /etc/xen/auto + + # Remove files failing QA AFTER emake installs them, avoiding seeking absent files + find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ + -o -name openbios-ppc -o -name palcode-clipper \) -delete || die + + keepdir /var/lib/xen/dump + keepdir /var/lib/xen/xenpaging + keepdir /var/lib/xenstored + keepdir /var/log/xen + + if use python; then + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" + python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" + fi + + python_optimize +} + +pkg_postinst() { + elog "Official Xen Guide and the offical wiki page:" + elog "https://wiki.gentoo.org/wiki/Xen" + elog "https://wiki.xen.org/wiki/Main_Page" + elog "" + elog "Recommended to utilise the xencommons script to config system at boot" + elog "Add by use of rc-update on completion of the install" + + if ! use hvm; then + echo + elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" + elog "support enable the hvm use flag." + elog "An x86 or amd64 system is required to build HVM support." + fi + + if use qemu; then + elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" + elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" + elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" + elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" + fi +} diff --git a/app-emulation/xen-tools/xen-tools-4.14.0_rc3.ebuild b/app-emulation/xen-tools/xen-tools-4.14.0_rc3.ebuild deleted file mode 100644 index d629c5334896..000000000000 --- a/app-emulation/xen-tools/xen-tools-4.14.0_rc3.ebuild +++ /dev/null @@ -1,506 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) -PYTHON_REQ_USE='ncurses,xml,threads(+)' - -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs - -MY_PV=${PV/_/-} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - REPO="xen.git" - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}" - S="${WORKDIR}/${REPO}" -else - #KEYWORDS="~amd64 ~arm ~arm64 ~x86" - KEYWORDS="" - UPSTREAM_VER= - SECURITY_VER= - # xen-tools's gentoo patches tarball - GENTOO_VER=22 - # xen-tools's gentoo patches version which apply to this specific ebuild - GENTOO_GPV=0 - # xen-tools ovmf's patches - OVMF_VER= - - SEABIOS_VER="1.13.0" - EDK2_COMMIT="20d2e5a125e34fc8501026613a71549b2a1a3e54" - EDK2_OPENSSL_VERSION="1_1_1b" - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037" - IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6" - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz" - [[ -n ${OVMF_VER} ]] && \ - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz" - - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz - https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz ) - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz - ${OVMF_PATCHSET_URI} ) - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" - - S="${WORKDIR}/xen-${MY_PV}" -fi - -DESCRIPTION="Xen tools including QEMU and xl" -HOMEPAGE="https://www.xenproject.org" -DOCS=( README ) - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make -# >=dev-lang/ocaml-4 stable -# Masked in profiles/eapi-5-files instead -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios" - -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ipxe? ( rombios ) - ovmf? ( hvm ) - pygrub? ( python ) - rombios? ( hvm ) - system-ipxe? ( rombios ) - ?? ( ipxe system-ipxe ) - ?? ( qemu system-qemu )" - -COMMON_DEPEND=" - sys-apps/pciutils - dev-libs/lzo:2 - dev-libs/glib:2 - dev-libs/yajl - dev-libs/libaio - dev-libs/libgcrypt:0 - sys-libs/zlib - ${PYTHON_DEPS} -" - -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-4.11 - $(python_gen_cond_dep ' - dev-python/lxml[${PYTHON_MULTI_USEDEP}] - pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] ) - ') - x86? ( sys-devel/dev86 - system-ipxe? ( sys-firmware/ipxe[qemu] ) - sys-power/iasl ) - api? ( dev-libs/libxml2 - net-misc/curl ) - - ovmf? ( - !arm? ( !arm64? ( dev-lang/nasm ) ) - $(python_gen_impl_dep sqlite) - ) - !amd64? ( >=sys-apps/dtc-1.4.0 ) - amd64? ( sys-power/iasl - system-seabios? ( sys-firmware/seabios ) - system-ipxe? ( sys-firmware/ipxe[qemu] ) - rombios? ( sys-devel/bin86 sys-devel/dev86 ) ) - dev-lang/perl - app-misc/pax-utils - doc? ( - app-text/ghostscript-gpl - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/markdown[${PYTHON_MULTI_USEDEP}] - ') - dev-texlive/texlive-latexextra - media-gfx/transfig - ) - hvm? ( x11-base/xorg-proto ) - qemu? ( - app-arch/snappy:= - x11-libs/pixman - sdl? ( - media-libs/libsdl[X] - media-libs/libsdl2[X] - ) - ) - system-qemu? ( app-emulation/qemu[xen] ) - ocaml? ( dev-ml/findlib - >=dev-lang/ocaml-4 ) - python? ( >=dev-lang/swig-4.0.0 )" - -RDEPEND="${COMMON_DEPEND} - sys-apps/iproute2[-minimal] - net-misc/bridge-utils - screen? ( - app-misc/screen - app-admin/logrotate - )" - -# hvmloader is used to bootstrap a fully virtualized kernel -# Approved by QA team in bug #144032 -QA_WX_LOAD=" - usr/libexec/xen/boot/hvmloader - usr/share/qemu-xen/qemu/hppa-firmware.img - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -QA_PREBUILT=" - usr/libexec/xen/bin/elf2dmp - usr/libexec/xen/bin/ivshmem-client - usr/libexec/xen/bin/ivshmem-server - usr/libexec/xen/bin/qemu-edid - usr/libexec/xen/bin/qemu-img - usr/libexec/xen/bin/qemu-io - usr/libexec/xen/bin/qemu-keymap - usr/libexec/xen/bin/qemu-nbd - usr/libexec/xen/bin/qemu-pr-helper - usr/libexec/xen/bin/qemu-system-i386 - usr/libexec/xen/bin/virtfs-proxy-helper - usr/libexec/xen/libexec/xen-bridge-helper - usr/share/qemu-xen/qemu/s390-ccw.img - usr/share/qemu-xen/qemu/s390-netboot.img - usr/share/qemu-xen/qemu/u-boot.e500 -" - -RESTRICT="test" - -pkg_setup() { - python_setup - export "CONFIG_LOMOUNT=y" - - #bug 522642, disable compile tools/tests - export "CONFIG_TESTS=n" - - if [[ -z ${XEN_TARGET_ARCH} ]] ; then - if use x86 && use amd64; then - die "Confusion! Both x86 and amd64 are set in your use flags!" - elif use x86; then - export XEN_TARGET_ARCH="x86_32" - elif use amd64 ; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi -} - -src_prepare() { - local i - - # Upstream's patchset - if [[ -n ${UPSTREAM_VER} ]]; then - einfo "Try to apply Xen Upstream patch set" - eapply "${WORKDIR}"/patches-upstream - fi - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - EPATCH_SUFFIX="patch" - EPATCH_FORCE="yes" - - source "${WORKDIR}"/patches-security/${PV}.conf || die - - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - - # apply qemu-xen/upstream patches - pushd "${S}"/tools/qemu-xen/ > /dev/null - for i in ${XEN_SECURITY_QEMUU}; do - eapply "${WORKDIR}"/patches-security/qemuu/$i - done - popd > /dev/null - - # apply qemu-traditional patches - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null - for i in ${XEN_SECURITY_QEMUT}; do - eapply "${WORKDIR}"/patches-security/qemut/$i - done - popd > /dev/null - fi - - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err - mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die - pushd tools/firmware/ > /dev/null - ln -s seabios-dir-remote seabios-dir || die - popd > /dev/null - - # Gentoo's patchset - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then - einfo "Try to apply Gentoo specific patch set" - source "${FILESDIR}"/gentoo-patches.conf || die - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV} - for i in ${!_gpv}; do - eapply "${WORKDIR}"/patches-gentoo/$i - done - fi - - # Ovmf's patchset - if use ovmf; then - if [[ -n ${OVMF_VER} ]];then - einfo "Try to apply Ovmf patch set" - pushd "${WORKDIR}"/edk2-*/ > /dev/null - eapply "${WORKDIR}"/patches-ovmf - popd > /dev/null - fi - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die - fi - - # ipxe - if use ipxe; then - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die - - # gcc 10 - cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die - echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die - fi - - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die - - # Fix texi2html build error with new texi2html, qemu.doc.html - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die - - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \ - -i tools/firmware/Makefile || die - - # Drop .config, fixes to gcc-4.6 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - # drop flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - unset CPPFLAGS - - if ! use pygrub; then - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die - fi - - if ! use python; then - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die - fi - - if ! use hvm; then - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die - # Bug 351648 - elif ! use x86 && ! has x86 $(get_all_abis); then - mkdir -p "${WORKDIR}"/extra-headers/gnu || die - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die - export CPATH="${WORKDIR}"/extra-headers - fi - - if use qemu; then - if use sdl; then - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \ - tools/Makefile || die - else - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \ - tools/qemu-xen-traditional/xen-setup || die - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \ - tools/Makefile || die - fi - else - # Don't bother with qemu, only needed for fully virtualised guests - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die - fi - - # Reset bash completion dir; Bug 472438 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \ - -i Config.mk || die - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die - - # xencommons, Bug #492332, sed lighter weight than patching - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \ - -i tools/hotplug/Linux/init.d/xencommons.in || die - - # fix bashishm - sed -e '/Usage/s/\$//g' \ - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die - - # respect multilib, usr/lib/libcacard.so.0.0.0 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \ - -i tools/qemu-xen/configure || die - - #bug 518136, don't build 32bit exactuable for nomultilib profile - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die - fi - - # uncomment lines in xl.conf - sed -e 's:^#autoballoon=:autoballoon=:' \ - -e 's:^#lockfile=:lockfile=:' \ - -e 's:^#vif.default.script=:vif.default.script=:' \ - -i tools/examples/xl.conf || die - - # disable capstone (Bug #673474) - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \ - -i tools/Makefile || die - - # disable glusterfs - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \ - -i tools/Makefile || die - - default -} - -src_configure() { - local myconf="--prefix=${PREFIX}/usr \ - --libdir=${PREFIX}/usr/$(get_libdir) \ - --libexecdir=${PREFIX}/usr/libexec \ - --localstatedir=${EPREFIX}/var \ - --disable-werror \ - --disable-xen \ - --enable-tools \ - --enable-docs \ - $(use_enable api xenapi) \ - $(use_enable ipxe) \ - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \ - $(use_enable ocaml ocamltools) \ - $(use_enable ovmf) \ - $(use_enable pam) \ - $(use_enable rombios) \ - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \ - " - - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin" - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64" - use amd64 && myconf+=" $(use_enable qemu-traditional)" - tc-ld-disable-gold # Bug 669570 - econf ${myconf} -} - -src_compile() { - local myopt - use debug && myopt="${myopt} debug=y" - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y" - - if test-flag-CC -fno-strict-overflow; then - append-flags -fno-strict-overflow - fi - - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt} - - if use doc; then - emake -C docs build - else - emake -C docs man-pages - fi -} - -src_install() { - # Override auto-detection in the build system, bug #382573 - export INITD_DIR=/tmp/init.d - export CONFIG_LEAF_DIR=../tmp/default - - # Let the build system compile installed Python modules. - local PYTHONDONTWRITEBYTECODE - export PYTHONDONTWRITEBYTECODE - - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \ - XEN_PYTHON_NATIVE_INSTALL=y install-tools - - # Created at runtime - rm -rv "${ED}/var/run" || die - - # Fix the remaining Python shebangs. - python_fix_shebang "${D}" - - # Remove RedHat-specific stuff - rm -rf "${D}"/tmp || die - - if use doc; then - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs - dodoc -r docs/{pdf,txt} - else - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032 - fi - dodoc ${DOCS[@]} - - newconfd "${FILESDIR}"/xendomains.confd xendomains - newconfd "${FILESDIR}"/xenstored.confd xenstored - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled - newinitd "${FILESDIR}"/xencommons.initd xencommons - newconfd "${FILESDIR}"/xencommons.confd xencommons - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog - - if use screen; then - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die - keepdir /var/log/xen-consoles - fi - - # For -static-libs wrt Bug 384355 - if ! use static-libs; then - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a - fi - - # for xendomains - keepdir /etc/xen/auto - - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \ - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die - - keepdir /var/lib/xen/dump - keepdir /var/lib/xen/xenpaging - keepdir /var/lib/xenstored - keepdir /var/log/xen - - if use python; then - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py" - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so" - fi - - python_optimize -} - -pkg_postinst() { - elog "Official Xen Guide and the offical wiki page:" - elog "https://wiki.gentoo.org/wiki/Xen" - elog "https://wiki.xen.org/wiki/Main_Page" - elog "" - elog "Recommended to utilise the xencommons script to config system at boot" - elog "Add by use of rc-update on completion of the install" - - if ! use hvm; then - echo - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm" - elog "support enable the hvm use flag." - elog "An x86 or amd64 system is required to build HVM support." - fi - - if use qemu; then - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source" - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently" - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise" - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise" - fi -} diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index 937068f7c953..f9dfde3782e0 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,11 +1,11 @@ AUX xen-4.11-efi.patch 1971 BLAKE2B b24f9315cff7f2de2a945088363429b9f4dd7a4101d3f1c0d4bf9733189808f5e1c47f1d90d1784f17fa52ca1626972c81d20c5e1ee3d42d082cdefcf67eb8dc SHA512 17208dc107f4ae4c5ec226c2ac05126817134fb6084cd8923204dc1b014e645e12c34cd11296319127e595ccbf17747931e9df78218bf49814f66e3cc6a789fd AUX xen-4.14-efi.patch 1969 BLAKE2B dec62e9b04ce23025443caa68df2fd69c50a3fdf650bf26047b28f3a72d1aa58124127274cd2c1373a4e133784b2691145c49c9a182bd635aa9c60bb1e45a0c1 SHA512 3e32aac5ba2ec371a3877d64532e8d134c3b4fe3a6644477ee8ecf56cbb8378b20f9d5d7415bec891d96910550a787848779c82ee4b9d57046f4c13235531ea0 -DIST xen-4.12.3-upstream-patches-0.tar.xz 7236 BLAKE2B d795e2be6f1edb31f1d794912328c4d3673eb800464d99c5ae867d189d0ea2b4cbac0c8bcda7790ae40742f6bf79308eb624b4f67d1c7f12cc64be6d8c920b84 SHA512 de5723d4fd547845ca9a876f8535e720f7bd790e48dbf1d92397d60a285ef88a31cad276b1a01a4fa8946cefb15d69c8a3a00da5113b6e5e2655b871be076adf +DIST xen-4.12.3-upstream-patches-1.tar.xz 39052 BLAKE2B dbe18a8d67009be9597ea8f0cd45850ed0e437119095c414796efff2810e884a3d7c062a7e5e12e93d8991cbbab50c0095d7ae1c937129f8f9490aa5f31ca6f8 SHA512 1383b1c0e3d4918b6b43c9cdff5284e259385136aad479814ea1d50b25017a0466a6a0044321585f38f4c8fb30f5af91a45f666a6d7fce6e60a4dfdb346a421b DIST xen-4.12.3.tar.gz 26985230 BLAKE2B 403de519a552f1cd49e5a85b63f48df1b7a47ff8381385860b67df32af0b33be1c13c92ca2234e4479b7f415e711e0f46c396c3f62dfb5b2465d2991723cf6ef SHA512 7bbf4e752477f18143ac9a62fb633b1fbe115a1a9b03d0132f33dfca025bc9b76d9c2e9b66a3e407d14aff161b940b1a82e3e3ca43213798e9dd38b6970194e0 -DIST xen-4.13.1-upstream-patches-0.tar.xz 7156 BLAKE2B 246b30cd8bc0ee8853a4e85ae0140d0ae52e69f3e4220bd97af8564491cf8285a7a592cd1392467a30acf6947733c8af355c110a44cb565927fb4f0bb7867113 SHA512 9059de696cb984c1891b5a87d1832562aa34b6568a21867c6744b603180f2b628905c81031f3c7c24867122d07432906750e0cfc6ca2fdacd31b82d35488455f +DIST xen-4.13.1-upstream-patches-1.tar.xz 46892 BLAKE2B 8ccfe1d6b3589e262fa04526d5238694e324fef3b514daebdffcb74cecfc2700e37f810faf868ec198c99ed3a9af2c351656c31798c5791bfd6816552d78fd7a SHA512 2d9708c4b558c5986afd1caea56f69ac8b11d69371fd4afae0e9c3480a0b863c99ebe2d3b857d623d41924437db7f7e44fefc7bae892cd05d7605243ae8140d5 DIST xen-4.13.1.tar.gz 39024612 BLAKE2B efff138699fac2c14fad2e0dfd4535ebd744577df3dddccc2a589b81a76f24fc81c75e295f4cd33ca2e820929417b22d714504b576cb0737a563037bd56b6a95 SHA512 b56d20704155d98d803496cba83eb928e0f986a750831cd5600fc88d0ae772fe1456571654375054043d2da8daca255cc98385ebf08b1b1a75ecf7f4b7a0ee90 -DIST xen-4.14.0-rc3.tar.gz 39943460 BLAKE2B 12356947738cfc7b43d0fa1bcbc8912f87fa5f0368b02b2bd8cc1d2681edc2f26d8edce50991e5fab65aa40f32ce263a2ded80f8ae827f182ea5a0f63274ddc2 SHA512 c6771003f2f66334c9181faeb01cb3283fcbfda78064cfde3a14ae9dca2454c35766d78df23dc480a9daba1edb7fd31db9ebfc3a4f57dd2b07852dd486e859ed -EBUILD xen-4.12.3-r1.ebuild 4438 BLAKE2B 19b7c8084893bbe6541dc3fcfabbbf6c2f940a0153bb310c23fb66624dc7b5e8ab4108847f5d68879766adae727df6f1a2373ef39f3f080e8f99c093ed20dd6d SHA512 ba04b747df09c27dc0d99ed2b9b585c00eb0da1b6537d0022c3c542f7a4a1febaeda8ea2d11a960075ec53620679c4543f5f924f8af62e0b1d6050362c09b60a -EBUILD xen-4.13.1-r1.ebuild 4445 BLAKE2B 8b289338889c90f355c4a8e87d851394a7148606ea4443f026fc02a174ad8d73f44f291b68427cd1427d54509b8615918435271edec126a7a89267d28cc874bb SHA512 03169328b982de9905dd3e9e6099b6b1bb78b23ec8c00a12e99c2d7fd39abf005f5e9278817d3c567a1a9dd2442e3f00b443188d4158121f2913704a93f51585 -EBUILD xen-4.14.0_rc3.ebuild 4457 BLAKE2B 69ce574c00d0f6b60746619ddb18236ce21a637e94807957e43550a9529a67ff094ea70d311743a5af445225c59b38b1dabb0416d56b3fa784618405847d362c SHA512 f44a41e679e5d63b3b1eadb29cde9bd17e3706ee99f561b67bb90333c0b49735ff01c64ae964c10e03f61567e67173eb697e0772e0ec4b8c99158aba741d2ba2 +DIST xen-4.14.0.tar.gz 39950576 BLAKE2B db4c3e79cfdfb10260d0d14d9d28e8c8bd9bf23f42aee743acf8f560bf4cdb96a425c0df887c70f9755f62680be24bfbe0149e52a4cb843ae83090cd9d6afc71 SHA512 ebce47a2f754955d8517123d69f62006634d97620fbbe3784869a0667466e586a249f57ffaf7846d5bcb45d69377cde43354c82c233fbb5407e55653b9a33ac0 +EBUILD xen-4.12.3-r2.ebuild 4438 BLAKE2B 5ce21712847014902bd61b988be35433d66d0d24f037a0898b4bb4ac8415edf1f045e4186fdd2fc728f2897ec6b7ecfd5912b37d1310c43c7a5bfcef7fe29538 SHA512 a66e3803812a90325a29b45cc0faca670bcbcd0882975f9dac5353320d8a5c327268d688af6cb1a7bad2960c02a003eef69bb2c27e580b0b5b0f671ba76e9e65 +EBUILD xen-4.13.1-r2.ebuild 4445 BLAKE2B 54482c3f99661ed734c6116ea1580a80311304fb5177f843212299e357c8ad2e40353779b9a5d85e9d3844f0b2d4841c969720e1a9b0a625365ca8a14c683ce8 SHA512 70f260a78af31c719f8752eb1f51cc50ced0006a4ce5b0b0781eda69833b6981a038aef545fe5c1e018a0a4a39a3df52c6eb09c332237847cf9b8e3d080f22bb +EBUILD xen-4.14.0.ebuild 4443 BLAKE2B b130fe3a6e22344350d4977a363da8830857425ffbf127293a41aa05855882b2ed8e6b834b23063d5676f948fccee58024369e537068a2a6e92ef086ca31bcd7 SHA512 f522dd225c3f66079229d513d94d79c66dae160dd05816d5e7fc6f5900f6d5c6257028d6067443bf85ae6856743f0ebbf29e402f95b050fbe8325b0319750e80 MISC metadata.xml 645 BLAKE2B ad902c521cc93a54b16faaea212f23c7bdf83a9efe19606eca7bf00b49104386dbc095ff30c4287bb79d5fcd073b77e7c1bbf929ee7b025039a50f8238572f17 SHA512 313d501abeb906c360d7965e35a18d9851e38af73a72a95351517c60a1a39553555a0a250f0bee5bfc8f6496312d6e9c70874be267c14edab45cb4841e34c248 diff --git a/app-emulation/xen/xen-4.12.3-r1.ebuild b/app-emulation/xen/xen-4.12.3-r1.ebuild deleted file mode 100644 index a265f1c31492..000000000000 --- a/app-emulation/xen/xen-4.12.3-r1.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="amd64 ~arm -x86" - UPSTREAM_VER=0 - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.11-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="/boot" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - # remove flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - - tc-ld-disable-gold # Bug 700374 -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in /boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" - - ewarn - ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" - ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" - ewarn "to work fine." - ewarn - ewarn "Add sched=credit to xen command line options to use the legacy scheduler." - ewarn - ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" -} diff --git a/app-emulation/xen/xen-4.12.3-r2.ebuild b/app-emulation/xen/xen-4.12.3-r2.ebuild new file mode 100644 index 000000000000..1610c864961a --- /dev/null +++ b/app-emulation/xen/xen-4.12.3-r2.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) + +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="amd64 ~arm -x86" + UPSTREAM_VER=1 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.11-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="/boot" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + # remove flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + + tc-ld-disable-gold # Bug 700374 +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in /boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" + + ewarn + ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" + ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" + ewarn "to work fine." + ewarn + ewarn "Add sched=credit to xen command line options to use the legacy scheduler." + ewarn + ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" +} diff --git a/app-emulation/xen/xen-4.13.1-r1.ebuild b/app-emulation/xen/xen-4.13.1-r1.ebuild deleted file mode 100644 index 6b80dc379297..000000000000 --- a/app-emulation/xen/xen-4.13.1-r1.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - KEYWORDS="~amd64 ~arm -x86" - UPSTREAM_VER=0 - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.11-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="/boot" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - # remove flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - - tc-ld-disable-gold # Bug 700374 -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in /boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" - - ewarn - ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" - ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" - ewarn "to work fine." - ewarn - ewarn "Add sched=credit to xen command line options to use the legacy scheduler." - ewarn - ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" -} diff --git a/app-emulation/xen/xen-4.13.1-r2.ebuild b/app-emulation/xen/xen-4.13.1-r2.ebuild new file mode 100644 index 000000000000..f9c3acf98258 --- /dev/null +++ b/app-emulation/xen/xen-4.13.1-r2.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER=1 + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.11-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="/boot" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + # remove flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + + tc-ld-disable-gold # Bug 700374 +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in /boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" + + ewarn + ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" + ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" + ewarn "to work fine." + ewarn + ewarn "Add sched=credit to xen command line options to use the legacy scheduler." + ewarn + ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" +} diff --git a/app-emulation/xen/xen-4.14.0.ebuild b/app-emulation/xen/xen-4.14.0.ebuild new file mode 100644 index 000000000000..eab5d1a69759 --- /dev/null +++ b/app-emulation/xen/xen-4.14.0.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) + +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs + +MY_PV=${PV/_/-} +MY_P=${PN}-${MY_PV} + +if [[ $PV == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git" + SRC_URI="" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER= + SECURITY_VER= + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="https://www.xenproject.org" +LICENSE="GPL-2" +SLOT="0" +IUSE="debug efi flask" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22 )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +# no tests are available for the hypervisor +# prevent the silliness of /usr/lib/debug/usr/lib/debug files +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms +RESTRICT="test splitdebug strip" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + elif use arm64; then + export XEN_TARGET_ARCH="arm64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + einfo "Try to apply Xen Security patch set" + # apply main xen patches + # Two parallel systems, both work side by side + # Over time they may concdense into one. This will suffice for now + source "${WORKDIR}"/patches-security/${PV}.conf + + local i + for i in ${XEN_SECURITY_MAIN}; do + eapply "${WORKDIR}"/patches-security/xen/$i + done + fi + + # Gentoo's patchset + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo + + eapply "${FILESDIR}"/${PN}-4.14-efi.patch + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="/boot" + fi + + default +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + # remove flags + unset CFLAGS + unset LDFLAGS + unset ASFLAGS + + tc-ld-disable-gold # Bug 700374 +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install + + # make install likes to throw in some extra EFI bits if it built + use efi || rm -rf "${D}/usr/$(get_libdir)/efi" +} + +pkg_postinst() { + elog "Official Xen Guide:" + elog " https://wiki.gentoo.org/wiki/Xen" + + use efi && einfo "The efi executable is installed in /boot/efi/gentoo" + + elog "You can optionally block the installation of /boot/xen-syms by an entry" + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" + + ewarn + ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" + ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" + ewarn "to work fine." + ewarn + ewarn "Add sched=credit to xen command line options to use the legacy scheduler." + ewarn + ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" +} diff --git a/app-emulation/xen/xen-4.14.0_rc3.ebuild b/app-emulation/xen/xen-4.14.0_rc3.ebuild deleted file mode 100644 index c2aafff59da8..000000000000 --- a/app-emulation/xen/xen-4.14.0_rc3.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6..9} ) - -inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs - -MY_PV=${PV/_/-} -MY_P=${PN}-${MY_PV} - -if [[ $PV == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="git://xenbits.xen.org/xen.git" - SRC_URI="" -else - #KEYWORDS="~amd64 ~arm -x86" - KEYWORDS="" - UPSTREAM_VER= - SECURITY_VER= - GENTOO_VER= - - [[ -n ${UPSTREAM_VER} ]] && \ - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" - [[ -n ${SECURITY_VER} ]] && \ - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" - [[ -n ${GENTOO_VER} ]] && \ - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz - ${UPSTREAM_PATCHSET_URI} - ${SECURITY_PATCHSET_URI} - ${GENTOO_PATCHSET_URI}" -fi - -DESCRIPTION="The Xen virtual machine monitor" -HOMEPAGE="https://www.xenproject.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="debug efi flask" - -DEPEND="${PYTHON_DEPS} - efi? ( >=sys-devel/binutils-2.22[multitarget] ) - !efi? ( >=sys-devel/binutils-2.22 )" -RDEPEND="" -PDEPEND="~app-emulation/xen-tools-${PV}" - -# no tests are available for the hypervisor -# prevent the silliness of /usr/lib/debug/usr/lib/debug files -# prevent stripping of the debug info from the /usr/lib/debug/xen-syms -RESTRICT="test splitdebug strip" - -# Approved by QA team in bug #144032 -QA_WX_LOAD="boot/xen-syms-${PV}" - -REQUIRED_USE="arm? ( debug )" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - python-any-r1_pkg_setup - if [[ -z ${XEN_TARGET_ARCH} ]]; then - if use amd64; then - export XEN_TARGET_ARCH="x86_64" - elif use arm; then - export XEN_TARGET_ARCH="arm32" - elif use arm64; then - export XEN_TARGET_ARCH="arm64" - else - die "Unsupported architecture!" - fi - fi - - if use flask ; then - export "XSM_ENABLE=y" - export "FLASK_ENABLE=y" - fi -} - -src_prepare() { - # Upstream's patchset - [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream - - # Security patchset - if [[ -n ${SECURITY_VER} ]]; then - einfo "Try to apply Xen Security patch set" - # apply main xen patches - # Two parallel systems, both work side by side - # Over time they may concdense into one. This will suffice for now - source "${WORKDIR}"/patches-security/${PV}.conf - - local i - for i in ${XEN_SECURITY_MAIN}; do - eapply "${WORKDIR}"/patches-security/xen/$i - done - fi - - # Gentoo's patchset - [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo - - eapply "${FILESDIR}"/${PN}-4.14-efi.patch - - # Drop .config - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" - - if use efi; then - export EFI_VENDOR="gentoo" - export EFI_MOUNTPOINT="/boot" - fi - - default -} - -src_configure() { - use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" - - use debug && myopt="${myopt} debug=y" - - # remove flags - unset CFLAGS - unset LDFLAGS - unset ASFLAGS - - tc-ld-disable-gold # Bug 700374 -} - -src_compile() { - # Send raw LDFLAGS so that --as-needed works - emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} -} - -src_install() { - local myopt - use debug && myopt="${myopt} debug=y" - - # The 'make install' doesn't 'mkdir -p' the subdirs - if use efi; then - mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die - fi - - emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install - - # make install likes to throw in some extra EFI bits if it built - use efi || rm -rf "${D}/usr/$(get_libdir)/efi" -} - -pkg_postinst() { - elog "Official Xen Guide:" - elog " https://wiki.gentoo.org/wiki/Xen" - - use efi && einfo "The efi executable is installed in /boot/efi/gentoo" - - elog "You can optionally block the installation of /boot/xen-syms by an entry" - elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK" - elog "e.g. echo ${msg} > /etc/portage/env/xen.conf" - - ewarn - ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause" - ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems" - ewarn "to work fine." - ewarn - ewarn "Add sched=credit to xen command line options to use the legacy scheduler." - ewarn - ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B" -} -- cgit v1.2.3