summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/86Box/86Box-4.0.1-r1.ebuild86
-rw-r--r--app-emulation/86Box/86Box-4.1.1-r1.ebuild83
-rw-r--r--app-emulation/86Box/Manifest2
-rw-r--r--app-emulation/86Box/files/86Box-4.0.1-incompatible-pointer-types.patch23
-rw-r--r--app-emulation/86Box/metadata.xml24
-rw-r--r--app-emulation/aqemu/Manifest1
-rw-r--r--app-emulation/aqemu/aqemu-0.9.2.ebuild38
-rw-r--r--app-emulation/aqemu/files/aqemu-0.9.2-qtbindir.patch15
-rw-r--r--app-emulation/aqemu/metadata.xml9
-rw-r--r--app-emulation/aranym/aranym-1.1.0-r1.ebuild (renamed from app-emulation/aranym/aranym-1.1.0.ebuild)23
-rw-r--r--app-emulation/aranym/files/aranym-1.1.0-ar.patch24
-rw-r--r--app-emulation/aranym/files/aranym-1.1.0-clang-16-register.patch219
-rw-r--r--app-emulation/aranym/files/aranym-1.1.0-configure-bashisms.patch37
-rw-r--r--app-emulation/aranym/files/aranym-1.1.0-configure-clang16.patch30
-rw-r--r--app-emulation/aranym/files/aranym-1.1.0-libcwrap.patch24
-rw-r--r--app-emulation/aranym/metadata.xml2
-rw-r--r--app-emulation/bochs/Manifest1
-rw-r--r--app-emulation/bochs/bochs-2.6.10.ebuild5
-rw-r--r--app-emulation/bochs/bochs-2.7.ebuild83
-rw-r--r--app-emulation/bochs/bochs-9999.ebuild29
-rw-r--r--app-emulation/bochs/metadata.xml2
-rw-r--r--app-emulation/buildah/Manifest2
-rw-r--r--app-emulation/buildah/buildah-1.16.1.ebuild47
-rw-r--r--app-emulation/buildah/buildah-1.19.6.ebuild47
-rw-r--r--app-emulation/buildah/metadata.xml11
-rw-r--r--app-emulation/cadvisor/Manifest410
-rw-r--r--app-emulation/cadvisor/cadvisor-0.36.0.ebuild453
-rw-r--r--app-emulation/cadvisor/files/cadvisor.initd-r119
-rw-r--r--app-emulation/cadvisor/metadata.xml11
-rw-r--r--app-emulation/cloud-hypervisor/Manifest2
-rw-r--r--app-emulation/cloud-hypervisor/cloud-hypervisor-31.0.ebuild49
-rw-r--r--app-emulation/cloud-hypervisor/cloud-hypervisor-9999.ebuild44
-rw-r--r--app-emulation/cloud-hypervisor/files/cloud-hypervisor-31.0-vendor-config45
-rw-r--r--app-emulation/cloud-hypervisor/metadata.xml11
-rw-r--r--app-emulation/cloud-init/Manifest6
-rw-r--r--app-emulation/cloud-init/cloud-init-22.2.2.ebuild (renamed from app-emulation/cloud-init/cloud-init-20.4.ebuild)61
-rw-r--r--app-emulation/cloud-init/cloud-init-22.4.ebuild (renamed from app-emulation/cloud-init/cloud-init-20.1.ebuild)61
-rw-r--r--app-emulation/cloud-init/cloud-init-23.4.ebuild (renamed from app-emulation/cloud-init/cloud-init-19.4.ebuild)73
-rw-r--r--app-emulation/cloud-init/cloud-init-9999.ebuild65
-rw-r--r--app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch54
-rw-r--r--app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch30
-rw-r--r--app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch26
-rw-r--r--app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch25
-rw-r--r--app-emulation/cloud-init/files/cloud-init-19.4-gentoo-support-upstream-templates.patch93
-rw-r--r--app-emulation/cloud-init/files/cloud-init-19.4_CVE-2020-8631.patch25
-rw-r--r--app-emulation/cloud-init/files/cloud-init-20.1-gentoo-support-upstream-templates.patch93
-rw-r--r--app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch86
-rw-r--r--app-emulation/cloud-init/metadata.xml7
-rw-r--r--app-emulation/coldfire/coldfire-0.3.1-r1.ebuild39
-rw-r--r--app-emulation/coldfire/files/coldfire-0.3.1-implicit-function-declarations.patch12
-rw-r--r--app-emulation/coldfire/metadata.xml2
-rw-r--r--app-emulation/conmon/Manifest3
-rw-r--r--app-emulation/conmon/conmon-2.0.22.ebuild51
-rw-r--r--app-emulation/conmon/conmon-2.0.26.ebuild51
-rw-r--r--app-emulation/conmon/conmon-2.0.27.ebuild48
-rw-r--r--app-emulation/conmon/metadata.xml11
-rw-r--r--app-emulation/containerd/Manifest3
-rw-r--r--app-emulation/containerd/containerd-1.3.7.ebuild84
-rw-r--r--app-emulation/containerd/containerd-1.3.9.ebuild84
-rw-r--r--app-emulation/containerd/containerd-1.4.4.ebuild82
-rw-r--r--app-emulation/containerd/files/containerd.initd26
-rw-r--r--app-emulation/containerd/metadata.xml28
-rw-r--r--app-emulation/containers-storage/Manifest3
-rw-r--r--app-emulation/containers-storage/containers-storage-1.18.1.ebuild58
-rw-r--r--app-emulation/containers-storage/containers-storage-1.20.2.ebuild58
-rw-r--r--app-emulation/containers-storage/containers-storage-1.23.3.ebuild58
-rw-r--r--app-emulation/containers-storage/metadata.xml21
-rw-r--r--app-emulation/cri-o/Manifest3
-rw-r--r--app-emulation/cri-o/cri-o-1.17.1.ebuild95
-rw-r--r--app-emulation/cri-o/cri-o-1.18.3.ebuild95
-rw-r--r--app-emulation/cri-o/cri-o-1.19.0.ebuild95
-rw-r--r--app-emulation/cri-o/files/cri-o.logrotated7
-rw-r--r--app-emulation/cri-o/files/crio.initd35
-rw-r--r--app-emulation/cri-o/metadata.xml28
-rw-r--r--app-emulation/cri-tools/Manifest1
-rw-r--r--app-emulation/cri-tools/cri-tools-1.18.0.ebuild32
-rw-r--r--app-emulation/cri-tools/metadata.xml8
-rw-r--r--app-emulation/crossover-bin/Manifest5
-rw-r--r--app-emulation/crossover-bin/crossover-bin-22.1.1.ebuild (renamed from app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild)106
-rw-r--r--app-emulation/crossover-bin/crossover-bin-23.0.0.ebuild190
-rw-r--r--app-emulation/crossover-bin/crossover-bin-23.6.0.ebuild184
-rw-r--r--app-emulation/crossover-bin/crossover-bin-24.0.0.ebuild174
-rw-r--r--app-emulation/crossover-bin/metadata.xml9
-rw-r--r--app-emulation/crun/Manifest2
-rw-r--r--app-emulation/crun/crun-0.17.ebuild61
-rw-r--r--app-emulation/crun/crun-0.18.ebuild61
-rw-r--r--app-emulation/crun/metadata.xml31
-rw-r--r--app-emulation/dinero/dinero-4.7-r1.ebuild4
-rw-r--r--app-emulation/dinero/metadata.xml2
-rw-r--r--app-emulation/diskimage-builder/Manifest4
-rw-r--r--app-emulation/diskimage-builder/diskimage-builder-3.32.0.ebuild (renamed from app-emulation/diskimage-builder/diskimage-builder-3.7.0.ebuild)14
-rw-r--r--app-emulation/diskimage-builder/diskimage-builder-3.8.0.ebuild39
-rw-r--r--app-emulation/diskimage-builder/diskimage-builder-3.9.0.ebuild39
-rw-r--r--app-emulation/diskimage-builder/diskimage-builder-9999.ebuild14
-rw-r--r--app-emulation/diskimage-builder/metadata.xml2
-rw-r--r--app-emulation/distrobuilder/Manifest1
-rw-r--r--app-emulation/distrobuilder/distrobuilder-1.1.ebuild35
-rw-r--r--app-emulation/dlx/Manifest2
-rw-r--r--app-emulation/dlx/dlx-1.0.0.ebuild20
-rw-r--r--app-emulation/dlx/dlx-1.5.20.ebuild30
-rw-r--r--app-emulation/dlx/metadata.xml5
-rw-r--r--app-emulation/docker-bench-security/Manifest2
-rw-r--r--app-emulation/docker-bench-security/docker-bench-security-1.3.2.ebuild24
-rw-r--r--app-emulation/docker-bench-security/docker-bench-security-1.3.3.ebuild24
-rw-r--r--app-emulation/docker-bench-security/files/docker-bench-security7
-rw-r--r--app-emulation/docker-bench-security/metadata.xml12
-rw-r--r--app-emulation/docker-cli/Manifest4
-rw-r--r--app-emulation/docker-cli/docker-cli-20.10.2.ebuild64
-rw-r--r--app-emulation/docker-cli/docker-cli-20.10.3.ebuild64
-rw-r--r--app-emulation/docker-cli/docker-cli-20.10.4.ebuild63
-rw-r--r--app-emulation/docker-cli/docker-cli-20.10.5-r1.ebuild64
-rw-r--r--app-emulation/docker-cli/docker-cli-20.10.5.ebuild63
-rw-r--r--app-emulation/docker-cli/metadata.xml8
-rw-r--r--app-emulation/docker-compose/Manifest6
-rw-r--r--app-emulation/docker-compose/docker-compose-1.27.4.ebuild73
-rw-r--r--app-emulation/docker-compose/docker-compose-1.28.4.ebuild73
-rw-r--r--app-emulation/docker-compose/docker-compose-1.28.5.ebuild73
-rw-r--r--app-emulation/docker-compose/docker-compose-1.28.6.ebuild73
-rw-r--r--app-emulation/docker-compose/docker-compose-1.29.0.ebuild73
-rw-r--r--app-emulation/docker-compose/docker-compose-1.29.1.ebuild73
-rw-r--r--app-emulation/docker-compose/files/docker-compose-1.27.0_rc3-setup-py.patch67
-rw-r--r--app-emulation/docker-compose/files/docker-compose-1.28.4-setup-py.patch67
-rw-r--r--app-emulation/docker-compose/files/docker-compose-1.28.5-setup-py.patch67
-rw-r--r--app-emulation/docker-compose/files/docker-compose-1.28.6-setup-py.patch67
-rw-r--r--app-emulation/docker-compose/files/docker-compose-1.29.0-setup-py.patch66
-rw-r--r--app-emulation/docker-compose/metadata.xml12
-rw-r--r--app-emulation/docker-credential-helpers/Manifest1
-rw-r--r--app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild58
-rw-r--r--app-emulation/docker-credential-helpers/metadata.xml27
-rw-r--r--app-emulation/docker-gc/docker-gc-9999.ebuild21
-rw-r--r--app-emulation/docker-gc/metadata.xml8
-rw-r--r--app-emulation/docker-machine-kvm/docker-machine-kvm-0.10.0.ebuild8
-rw-r--r--app-emulation/docker-machine-kvm/metadata.xml2
-rw-r--r--app-emulation/docker-machine/metadata.xml2
-rw-r--r--app-emulation/docker-proxy/Manifest3
-rw-r--r--app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild35
-rw-r--r--app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild36
-rw-r--r--app-emulation/docker-proxy/docker-proxy-0.8.0_p20201215.ebuild36
-rw-r--r--app-emulation/docker-proxy/metadata.xml15
-rw-r--r--app-emulation/docker-registry/Manifest1
-rw-r--r--app-emulation/docker-registry/docker-registry-2.7.1.ebuild50
-rw-r--r--app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch398
-rw-r--r--app-emulation/docker-registry/files/registry.confd2
-rw-r--r--app-emulation/docker-registry/files/registry.initd19
-rw-r--r--app-emulation/docker-registry/files/registry.logrotated7
-rw-r--r--app-emulation/docker-registry/files/registry.service13
-rw-r--r--app-emulation/docker-registry/metadata.xml10
-rw-r--r--app-emulation/docker-swarm/Manifest1
-rw-r--r--app-emulation/docker-swarm/docker-swarm-1.2.9.ebuild54
-rw-r--r--app-emulation/docker-swarm/metadata.xml10
-rw-r--r--app-emulation/docker/Manifest2
-rw-r--r--app-emulation/docker/docker-19.03.15.ebuild333
-rw-r--r--app-emulation/docker/docker-20.10.5.ebuild273
-rw-r--r--app-emulation/docker/metadata.xml53
-rw-r--r--app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild10
-rw-r--r--app-emulation/dosemu/metadata.xml7
-rw-r--r--app-emulation/dxvk/Manifest6
-rw-r--r--app-emulation/dxvk/dxvk-1.10.3-r1.ebuild152
-rw-r--r--app-emulation/dxvk/dxvk-2.3.1-r1.ebuild191
-rw-r--r--app-emulation/dxvk/dxvk-9999.ebuild191
-rw-r--r--app-emulation/dxvk/files/dxvk-1.10.3-gcc13.patch17
-rw-r--r--app-emulation/dxvk/files/dxvk-1.10.3-wow64-setup.patch14
-rw-r--r--app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch7
-rw-r--r--app-emulation/dxvk/metadata.xml21
-rw-r--r--app-emulation/dynamips/Manifest2
-rw-r--r--app-emulation/dynamips/dynamips-0.2.23.ebuild (renamed from app-emulation/dynamips/dynamips-0.2.21.ebuild)13
-rw-r--r--app-emulation/dynamips/metadata.xml11
-rw-r--r--app-emulation/edumips64/Manifest1
-rw-r--r--app-emulation/edumips64/edumips64-1.2.ebuild47
-rw-r--r--app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch11
-rw-r--r--app-emulation/edumips64/metadata.xml11
-rw-r--r--app-emulation/faudio/Manifest8
-rw-r--r--app-emulation/faudio/faudio-19.06.ebuild95
-rw-r--r--app-emulation/faudio/faudio-19.09.ebuild95
-rw-r--r--app-emulation/faudio/faudio-20.02.ebuild97
-rw-r--r--app-emulation/faudio/faudio-20.09.ebuild97
-rw-r--r--app-emulation/faudio/faudio-21.01.ebuild95
-rw-r--r--app-emulation/faudio/faudio-23.02.ebuild37
-rw-r--r--app-emulation/faudio/faudio-23.10.ebuild37
-rw-r--r--app-emulation/faudio/faudio-24.02.ebuild37
-rw-r--r--app-emulation/faudio/faudio-9999.ebuild95
-rw-r--r--app-emulation/faudio/files/faudio.pc11
-rw-r--r--app-emulation/faudio/metadata.xml21
-rw-r--r--app-emulation/firecracker-bin/Manifest10
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild (renamed from app-emulation/firecracker-bin/firecracker-bin-0.24.1.ebuild)32
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild (renamed from app-emulation/firecracker-bin/firecracker-bin-0.24.2.ebuild)32
-rw-r--r--app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild87
-rw-r--r--app-emulation/firecracker-bin/metadata.xml5
-rw-r--r--app-emulation/firecracker/Manifest35
-rw-r--r--app-emulation/firecracker/firecracker-0.21.1-r1.ebuild89
-rw-r--r--app-emulation/firecracker/metadata.xml8
-rw-r--r--app-emulation/flannel/Manifest1
-rw-r--r--app-emulation/flannel/files/flannel-docker.conf2
-rw-r--r--app-emulation/flannel/files/flannel.tmpfilesd1
-rw-r--r--app-emulation/flannel/files/flanneld.confd2
-rw-r--r--app-emulation/flannel/files/flanneld.initd19
-rw-r--r--app-emulation/flannel/files/flanneld.logrotated7
-rw-r--r--app-emulation/flannel/files/flanneld.service13
-rw-r--r--app-emulation/flannel/flannel-0.11.0.ebuild51
-rw-r--r--app-emulation/flannel/metadata.xml10
-rw-r--r--app-emulation/free42/Manifest5
-rw-r--r--app-emulation/free42/files/free42-3.0.14-fix-makefile.patch26
-rw-r--r--app-emulation/free42/files/free42-3.0.16-fix-build-intel-lib.patch64
-rw-r--r--app-emulation/free42/free42-3.1.3.ebuild (renamed from app-emulation/free42/free42-2.5.25.ebuild)14
-rw-r--r--app-emulation/free42/free42-3.1.7.ebuild (renamed from app-emulation/free42/free42-3.0.1.ebuild)17
-rw-r--r--app-emulation/free42/free42-3.1.8.ebuild45
-rw-r--r--app-emulation/free42/metadata.xml2
-rw-r--r--app-emulation/fs-uae-launcher/Manifest2
-rw-r--r--app-emulation/fs-uae-launcher/fs-uae-launcher-3.1.70.ebuild (renamed from app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild)42
-rw-r--r--app-emulation/fs-uae-launcher/metadata.xml2
-rw-r--r--app-emulation/fs-uae/Manifest2
-rw-r--r--app-emulation/fs-uae/files/fs-uae-3.1.35-deepbind.patch43
-rw-r--r--app-emulation/fs-uae/files/fs-uae-3.1.66-musl.patch35
-rw-r--r--app-emulation/fs-uae/fs-uae-3.1.66.ebuild (renamed from app-emulation/fs-uae/fs-uae-3.0.5.ebuild)27
-rw-r--r--app-emulation/fs-uae/metadata.xml2
-rw-r--r--app-emulation/fuse-utils/fuse-utils-1.4.3-r2.ebuild (renamed from app-emulation/fuse-utils/fuse-utils-1.4.3-r1.ebuild)11
-rw-r--r--app-emulation/fuse-utils/metadata.xml2
-rw-r--r--app-emulation/fuse/Manifest1
-rw-r--r--app-emulation/fuse/files/multiple-definition.patch13
-rw-r--r--app-emulation/fuse/fuse-1.5.7.ebuild81
-rw-r--r--app-emulation/fuse/fuse-1.6.0-r1.ebuild (renamed from app-emulation/fuse/fuse-1.6.0.ebuild)23
-rw-r--r--app-emulation/fuse/metadata.xml2
-rw-r--r--app-emulation/gallium-nine-standalone/Manifest3
-rw-r--r--app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch34
-rw-r--r--app-emulation/gallium-nine-standalone/files/0.7-no-libwine.patch34
-rw-r--r--app-emulation/gallium-nine-standalone/files/0.8-cross-files.patch32
-rw-r--r--app-emulation/gallium-nine-standalone/files/0.9-nine-dll-path.patch12
-rw-r--r--app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild (renamed from app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild)34
-rw-r--r--app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.9-r1.ebuild90
-rw-r--r--app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild48
-rw-r--r--app-emulation/gallium-nine-standalone/metadata.xml2
-rw-r--r--app-emulation/ganeti-os-noop/ganeti-os-noop-0.2.ebuild10
-rw-r--r--app-emulation/ganeti-os-noop/metadata.xml2
-rw-r--r--app-emulation/ganeti-os-simpleimage/Manifest1
-rw-r--r--app-emulation/ganeti-os-simpleimage/ganeti-os-simpleimage-0_p20221113.ebuild39
-rw-r--r--app-emulation/ganeti-os-simpleimage/metadata.xml11
-rw-r--r--app-emulation/genymotion-bin/Manifest2
-rw-r--r--app-emulation/genymotion-bin/genymotion-bin-3.2.0.ebuild122
-rw-r--r--app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild146
-rw-r--r--app-emulation/genymotion-bin/metadata.xml2
-rw-r--r--app-emulation/glean/Manifest3
-rw-r--r--app-emulation/glean/glean-1.17.0.ebuild26
-rw-r--r--app-emulation/glean/glean-1.23.0-r1.ebuild (renamed from app-emulation/glean/glean-1.18.2.ebuild)9
-rw-r--r--app-emulation/glean/metadata.xml2
-rw-r--r--app-emulation/go-secbench/Manifest1
-rw-r--r--app-emulation/go-secbench/go-secbench-0.1.0-r1.ebuild27
-rw-r--r--app-emulation/go-secbench/go-secbench-0.1.0.ebuild26
-rw-r--r--app-emulation/go-secbench/metadata.xml8
-rw-r--r--app-emulation/grub-xen-host/grub-xen-host-1.0-r1.ebuild (renamed from app-emulation/grub-xen-host/grub-xen-host-1.0.ebuild)27
-rw-r--r--app-emulation/grub-xen-host/grub-xen-host-1.0-r2.ebuild98
-rw-r--r--app-emulation/grub-xen-host/metadata.xml5
-rw-r--r--app-emulation/guestfs-tools/Manifest1
-rw-r--r--app-emulation/guestfs-tools/guestfs-tools-1.48.2.ebuild165
-rw-r--r--app-emulation/guestfs-tools/metadata.xml5
-rw-r--r--app-emulation/gxemul/gxemul-0.6.2.ebuild4
-rw-r--r--app-emulation/gxemul/metadata.xml2
-rw-r--r--app-emulation/hercules-sdl-crypto/Manifest1
-rw-r--r--app-emulation/hercules-sdl-crypto/files/cmakefix.patch155
-rw-r--r--app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-4.7.0.ebuild20
-rw-r--r--app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-9999.ebuild14
-rw-r--r--app-emulation/hercules-sdl-crypto/metadata.xml18
-rw-r--r--app-emulation/hercules-sdl-decnumber/Manifest1
-rw-r--r--app-emulation/hercules-sdl-decnumber/files/cmakefix.patch159
-rw-r--r--app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-4.7.0.ebuild20
-rw-r--r--app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-9999.ebuild14
-rw-r--r--app-emulation/hercules-sdl-decnumber/metadata.xml18
-rw-r--r--app-emulation/hercules-sdl-softfloat/Manifest1
-rw-r--r--app-emulation/hercules-sdl-softfloat/files/cmakefix.patch159
-rw-r--r--app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild20
-rw-r--r--app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild14
-rw-r--r--app-emulation/hercules-sdl-softfloat/metadata.xml18
-rw-r--r--app-emulation/hercules-sdl-telnet/Manifest1
-rw-r--r--app-emulation/hercules-sdl-telnet/files/cmakefix.patch155
-rw-r--r--app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild20
-rw-r--r--app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild14
-rw-r--r--app-emulation/hercules-sdl-telnet/metadata.xml18
-rw-r--r--app-emulation/hercules-sdl/Manifest1
-rw-r--r--app-emulation/hercules-sdl/files/gen_hashes.sh24
-rw-r--r--app-emulation/hercules-sdl/files/hercules-sdl-4.4.1-htmldir.patch29
-rw-r--r--app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild85
-rw-r--r--app-emulation/hercules-sdl/metadata.xml22
-rw-r--r--app-emulation/hercules/Manifest2
-rw-r--r--app-emulation/hercules/files/hercules-3.09-aliasing.patch41
-rw-r--r--app-emulation/hercules/files/hercules-3.13-posix-test.patch29
-rw-r--r--app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch34
-rw-r--r--app-emulation/hercules/files/hercules-3.13-user-install.patch21
-rw-r--r--app-emulation/hercules/hercules-3.12.ebuild53
-rw-r--r--app-emulation/hercules/hercules-3.13-r1.ebuild (renamed from app-emulation/hercules/hercules-3.10.ebuild)31
-rw-r--r--app-emulation/hercules/hercules-3.13.ebuild57
-rw-r--r--app-emulation/hercules/metadata.xml4
-rw-r--r--app-emulation/hyperd/metadata.xml2
-rw-r--r--app-emulation/img/Manifest514
-rw-r--r--app-emulation/img/img-0.5.11.ebuild548
-rw-r--r--app-emulation/img/img-0.5.7-r1.ebuild34
-rw-r--r--app-emulation/img/metadata.xml8
-rw-r--r--app-emulation/kompose/Manifest542
-rw-r--r--app-emulation/kompose/kompose-1.22.0.ebuild580
-rw-r--r--app-emulation/kompose/metadata.xml11
-rw-r--r--app-emulation/libcacard/Manifest2
-rw-r--r--app-emulation/libcacard/files/libcacard-2.6.0-simpletlv-test-fix.patch31
-rw-r--r--app-emulation/libcacard/libcacard-2.6.0.ebuild44
-rw-r--r--app-emulation/libcacard/libcacard-2.8.1.ebuild40
-rw-r--r--app-emulation/libcacard/metadata.xml5
-rw-r--r--app-emulation/libdsk/Manifest2
-rw-r--r--app-emulation/libdsk/files/libdsk-1.5.8-include-sysmacros.patch22
-rw-r--r--app-emulation/libdsk/libdsk-1.5.18.ebuild (renamed from app-emulation/libdsk/libdsk-1.5.8.ebuild)13
-rw-r--r--app-emulation/libdsk/metadata.xml2
-rw-r--r--app-emulation/libguestfs-appliance/Manifest2
-rw-r--r--app-emulation/libguestfs-appliance/libguestfs-appliance-1.46.0.ebuild (renamed from app-emulation/libguestfs-appliance/libguestfs-appliance-1.38.0.ebuild)30
-rw-r--r--app-emulation/libguestfs-appliance/metadata.xml17
-rw-r--r--app-emulation/libguestfs/Manifest2
-rw-r--r--app-emulation/libguestfs/files/1.38/0001-Fix-install-failure-when-not-built-with-OCaml-suppor.patch40
-rw-r--r--app-emulation/libguestfs/files/1.38/0002-Loosen-build-time-requirement-on-bash-completion.patch45
-rw-r--r--app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild187
-rw-r--r--app-emulation/libguestfs/libguestfs-1.48.6-r1.ebuild255
-rw-r--r--app-emulation/libguestfs/metadata.xml28
-rw-r--r--app-emulation/libspectrum/Manifest1
-rw-r--r--app-emulation/libspectrum/libspectrum-1.4.4.ebuild55
-rw-r--r--app-emulation/libspectrum/libspectrum-1.5.0.ebuild10
-rw-r--r--app-emulation/libspectrum/metadata.xml2
-rw-r--r--app-emulation/libvirt-glib/Manifest2
-rw-r--r--app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-Make-xmlError-structs-constant.patch64
-rw-r--r--app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-libvirt-gconfig-Add-more-libxml-includes.patch50
-rw-r--r--app-emulation/libvirt-glib/libvirt-glib-3.0.0.ebuild43
-rw-r--r--app-emulation/libvirt-glib/libvirt-glib-4.0.0.ebuild27
-rw-r--r--app-emulation/libvirt-glib/libvirt-glib-5.0.0.ebuild48
-rw-r--r--app-emulation/libvirt-glib/metadata.xml21
-rw-r--r--app-emulation/libvirt-snmp/Manifest1
-rw-r--r--app-emulation/libvirt-snmp/files/libvirt-snmp.confd6
-rw-r--r--app-emulation/libvirt-snmp/files/libvirt-snmp.initd-r126
-rw-r--r--app-emulation/libvirt-snmp/libvirt-snmp-0.0.4.ebuild40
-rw-r--r--app-emulation/libvirt-snmp/metadata.xml5
-rw-r--r--app-emulation/libvirt/Manifest18
-rw-r--r--app-emulation/libvirt/files/README.gentoo-r32
-rw-r--r--app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch42
-rw-r--r--app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch222
-rw-r--r--app-emulation/libvirt/files/libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch84
-rw-r--r--app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch169
-rw-r--r--app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch9
-rw-r--r--app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch51
-rw-r--r--app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch36
-rw-r--r--app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch209
-rw-r--r--app-emulation/libvirt/files/libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch (renamed from app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch)17
-rw-r--r--app-emulation/libvirt/files/libvirt-9.6.0-fix-paths-for-apparmor.patch97
-rw-r--r--app-emulation/libvirt/files/libvirt-9.9.0-do-not-use-sysconfig.patch79
-rw-r--r--app-emulation/libvirt/files/libvirtd.init-r192
-rw-r--r--app-emulation/libvirt/files/virtlockd.init-r22
-rw-r--r--app-emulation/libvirt/files/virtlogd.init-r22
-rw-r--r--app-emulation/libvirt/libvirt-10.0.0-r2.ebuild367
-rw-r--r--app-emulation/libvirt/libvirt-10.1.0-r1.ebuild366
-rw-r--r--app-emulation/libvirt/libvirt-10.2.0.ebuild (renamed from app-emulation/libvirt/libvirt-7.2.0.ebuild)149
-rw-r--r--app-emulation/libvirt/libvirt-10.3.0-r1.ebuild (renamed from app-emulation/libvirt/libvirt-7.0.0-r1.ebuild)182
-rw-r--r--app-emulation/libvirt/libvirt-9.8.0-r2.ebuild (renamed from app-emulation/libvirt/libvirt-7.1.0.ebuild)150
-rw-r--r--app-emulation/libvirt/libvirt-9.9.0-r2.ebuild367
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild176
-rw-r--r--app-emulation/libvirt/metadata.xml191
-rw-r--r--app-emulation/lxc-templates/Manifest2
-rw-r--r--app-emulation/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch12
-rw-r--r--app-emulation/lxc-templates/lxc-templates-3.0.4.ebuild30
-rw-r--r--app-emulation/lxc-templates/metadata.xml15
-rw-r--r--app-emulation/lxc/Manifest2
-rw-r--r--app-emulation/lxc/files/lxc-2.0.5-omit-sysconfig.patch5
-rw-r--r--app-emulation/lxc/files/lxc-3.0.0-bash-completion.patch27
-rw-r--r--app-emulation/lxc/files/lxc.initd.8131
-rw-r--r--app-emulation/lxc/files/lxc_at.service.4.0.015
-rw-r--r--app-emulation/lxc/lxc-4.0.6.ebuild173
-rw-r--r--app-emulation/lxc/metadata.xml19
-rw-r--r--app-emulation/lxd/Manifest4
-rw-r--r--app-emulation/lxd/files/lxd-4.0.0.confd23
-rw-r--r--app-emulation/lxd/files/lxd-4.0.0.initd47
-rw-r--r--app-emulation/lxd/files/lxd-4.0.0.service20
-rw-r--r--app-emulation/lxd/files/lxd-4.0.0.socket12
-rw-r--r--app-emulation/lxd/files/lxd-4.0.0_apparmor.service21
-rw-r--r--app-emulation/lxd/files/lxd-containers-4.0.0.service16
-rw-r--r--app-emulation/lxd/lxd-4.0.4-r7.ebuild153
-rw-r--r--app-emulation/lxd/lxd-4.0.5.ebuild152
-rw-r--r--app-emulation/lxd/metadata.xml24
-rw-r--r--app-emulation/metadata.xml2
-rw-r--r--app-emulation/nemu/Manifest5
-rw-r--r--app-emulation/nemu/metadata.xml18
-rw-r--r--app-emulation/nemu/nemu-3.0.0.ebuild (renamed from app-emulation/nemu/nemu-2.5.0.ebuild)26
-rw-r--r--app-emulation/nemu/nemu-3.1.0.ebuild (renamed from app-emulation/nemu/nemu-2.2.1.ebuild)62
-rw-r--r--app-emulation/nemu/nemu-3.3.0.ebuild80
-rw-r--r--app-emulation/nemu/nemu-9999.ebuild71
-rw-r--r--app-emulation/open-vm-tools/Manifest4
-rw-r--r--app-emulation/open-vm-tools/files/10.1.0-mount.vmhgfs.patch33
-rw-r--r--app-emulation/open-vm-tools/files/11.3.5-icu.patch26
-rw-r--r--app-emulation/open-vm-tools/metadata.xml8
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-12.2.0.ebuild (renamed from app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674.ebuild)37
-rw-r--r--app-emulation/open-vm-tools/open-vm-tools-12.2.5.ebuild (renamed from app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r1.ebuild)41
-rw-r--r--app-emulation/pcem/files/pcem-17-respect-cflags.patch4
-rw-r--r--app-emulation/pcem/metadata.xml2
-rw-r--r--app-emulation/pcem/pcem-17-r2.ebuild (renamed from app-emulation/pcem/pcem-17.ebuild)14
-rw-r--r--app-emulation/phpvirtualbox/metadata.xml4
-rw-r--r--app-emulation/plus42/Manifest3
-rw-r--r--app-emulation/plus42/files/plus42-1.0.12-fix-build-intel-lib.patch64
-rw-r--r--app-emulation/plus42/files/plus42-1.0.9-fix-makefile.patch25
-rw-r--r--app-emulation/plus42/metadata.xml11
-rw-r--r--app-emulation/plus42/plus42-1.1.10.ebuild49
-rw-r--r--app-emulation/plus42/plus42-1.1.3.ebuild50
-rw-r--r--app-emulation/plus42/plus42-1.1.9.ebuild49
-rw-r--r--app-emulation/podman/Manifest1
-rw-r--r--app-emulation/podman/files/podman.confd11
-rw-r--r--app-emulation/podman/files/podman.initd20
-rw-r--r--app-emulation/podman/files/podman.logrotated7
-rw-r--r--app-emulation/podman/metadata.xml36
-rw-r--r--app-emulation/podman/podman-3.0.1.ebuild165
-rw-r--r--app-emulation/protontricks/Manifest4
-rw-r--r--app-emulation/protontricks/files/protontricks-1.4.3_no-setuptools-scm.patch32
-rw-r--r--app-emulation/protontricks/metadata.xml2
-rw-r--r--app-emulation/protontricks/protontricks-1.10.5.ebuild (renamed from app-emulation/protontricks/protontricks-1.4.3.ebuild)31
-rw-r--r--app-emulation/protontricks/protontricks-1.11.1.ebuild (renamed from app-emulation/protontricks/protontricks-1.4.4.ebuild)31
-rw-r--r--app-emulation/punes/Manifest2
-rw-r--r--app-emulation/punes/files/punes-0.107_ffmpeg-configure.patch27
-rw-r--r--app-emulation/punes/files/punes-0.111-FULLSCREEN_RESFREQ-fix.patch33
-rw-r--r--app-emulation/punes/metadata.xml2
-rw-r--r--app-emulation/punes/punes-0.107.ebuild64
-rw-r--r--app-emulation/punes/punes-0.111.ebuild63
-rw-r--r--app-emulation/q4wine/Manifest2
-rw-r--r--app-emulation/q4wine/metadata.xml7
-rw-r--r--app-emulation/q4wine/q4wine-1.3.13.ebuild (renamed from app-emulation/q4wine/q4wine-1.3.12.ebuild)15
-rw-r--r--app-emulation/qemu-guest-agent/Manifest8
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch10
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch11
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch17
-rw-r--r--app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch85
-rw-r--r--app-emulation/qemu-guest-agent/metadata.xml10
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild (renamed from app-emulation/qemu-guest-agent/qemu-guest-agent-4.2.0-r1.ebuild)24
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild82
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild81
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild (renamed from app-emulation/qemu-guest-agent/qemu-guest-agent-5.0.0.ebuild)38
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild82
-rw-r--r--app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild89
-rw-r--r--app-emulation/qemu-init-scripts/metadata.xml2
-rw-r--r--app-emulation/qemu-riscv64-bin/Manifest1
-rw-r--r--app-emulation/qemu-riscv64-bin/metadata.xml16
-rw-r--r--app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild22
-rw-r--r--app-emulation/qemu/Manifest15
-rw-r--r--app-emulation/qemu/files/65-kvm.rules-r12
-rw-r--r--app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch11
-rw-r--r--app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch40
-rw-r--r--app-emulation/qemu/files/qemu-5.2.0-dce-locks.patch18
-rw-r--r--app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch16
-rw-r--r--app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch73
-rw-r--r--app-emulation/qemu/files/qemu-5.2.0-strings.patch23
-rw-r--r--app-emulation/qemu/files/qemu-6.0.0-make.patch14
-rw-r--r--app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch32
-rw-r--r--app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch31
-rw-r--r--app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch45
-rw-r--r--app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch137
-rw-r--r--app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch29
-rw-r--r--app-emulation/qemu/files/qemu-8.0.0-make.patch13
-rw-r--r--app-emulation/qemu/files/qemu-8.0.0-remove-python-meson-check.patch40
-rw-r--r--app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch32
-rw-r--r--app-emulation/qemu/files/qemu-8.1.0-find-sphinx.patch10
-rw-r--r--app-emulation/qemu/files/qemu-8.1.0-skip-tests.patch64
-rw-r--r--app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch35
-rw-r--r--app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch42
-rw-r--r--app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch44
-rw-r--r--app-emulation/qemu/metadata.xml30
-rw-r--r--app-emulation/qemu/qemu-7.2.11.ebuild (renamed from app-emulation/qemu/qemu-5.2.0-r50.ebuild)352
-rw-r--r--app-emulation/qemu/qemu-7.2.4.ebuild (renamed from app-emulation/qemu/qemu-5.2.0-r3.ebuild)356
-rw-r--r--app-emulation/qemu/qemu-8.0.5.ebuild (renamed from app-emulation/qemu/qemu-5.2.0-r2.ebuild)405
-rw-r--r--app-emulation/qemu/qemu-8.1.5.ebuild972
-rw-r--r--app-emulation/qemu/qemu-8.2.3.ebuild992
-rw-r--r--app-emulation/qemu/qemu-9.0.0.ebuild996
-rw-r--r--app-emulation/qemu/qemu-9999.ebuild384
-rw-r--r--app-emulation/qtrvsim/Manifest1
-rw-r--r--app-emulation/qtrvsim/metadata.xml11
-rw-r--r--app-emulation/qtrvsim/qtrvsim-0.9.7.ebuild25
-rw-r--r--app-emulation/reg/Manifest2
-rw-r--r--app-emulation/reg/files/reg-0.16.0-config.patch254
-rw-r--r--app-emulation/reg/files/reg.confd2
-rw-r--r--app-emulation/reg/files/reg.initd19
-rw-r--r--app-emulation/reg/metadata.xml11
-rw-r--r--app-emulation/reg/reg-0.16.1.ebuild54
-rw-r--r--app-emulation/ruffle/Manifest657
-rw-r--r--app-emulation/ruffle/files/ruffle-0_p20231216-skip-render-tests.patch16
-rw-r--r--app-emulation/ruffle/metadata.xml11
-rw-r--r--app-emulation/ruffle/ruffle-0_p20240422.ebuild767
-rw-r--r--app-emulation/ruffle/ruffle-9999.ebuild90
-rw-r--r--app-emulation/runc/Manifest3
-rw-r--r--app-emulation/runc/metadata.xml30
-rw-r--r--app-emulation/runc/runc-1.0.0_rc10-r1.ebuild78
-rw-r--r--app-emulation/runc/runc-1.0.0_rc92.ebuild78
-rw-r--r--app-emulation/runc/runc-1.0.0_rc93.ebuild76
-rw-r--r--app-emulation/runv/metadata.xml2
-rw-r--r--app-emulation/s6-overlay/Manifest2
-rw-r--r--app-emulation/s6-overlay/metadata.xml11
-rw-r--r--app-emulation/s6-overlay/s6-overlay-1.18.1.3.ebuild58
-rw-r--r--app-emulation/s6-overlay/s6-overlay-2.1.0.2-r1.ebuild61
-rw-r--r--app-emulation/sen/Manifest1
-rw-r--r--app-emulation/sen/metadata.xml20
-rw-r--r--app-emulation/sen/sen-0.6.1_p20200905.ebuild42
-rw-r--r--app-emulation/simh/metadata.xml10
-rw-r--r--app-emulation/simplevirt/Manifest6
-rw-r--r--app-emulation/simplevirt/files/simplevirtd.confd4
-rw-r--r--app-emulation/simplevirt/files/simplevirtd.initd15
-rw-r--r--app-emulation/simplevirt/metadata.xml12
-rw-r--r--app-emulation/simplevirt/simplevirt-0.0_p20181012-r1.ebuild76
-rw-r--r--app-emulation/ski/Manifest1
-rw-r--r--app-emulation/ski/metadata.xml8
-rw-r--r--app-emulation/ski/ski-1.3.2-r4.ebuild10
-rw-r--r--app-emulation/ski/ski-1.4.0.ebuild45
-rw-r--r--app-emulation/skopeo/Manifest4
-rw-r--r--app-emulation/skopeo/metadata.xml11
-rw-r--r--app-emulation/skopeo/skopeo-0.1.41.ebuild52
-rw-r--r--app-emulation/skopeo/skopeo-0.2.0.ebuild52
-rw-r--r--app-emulation/skopeo/skopeo-1.1.0.ebuild52
-rw-r--r--app-emulation/skopeo/skopeo-1.1.1.ebuild52
-rw-r--r--app-emulation/slirp4netns/Manifest2
-rw-r--r--app-emulation/slirp4netns/metadata.xml15
-rw-r--r--app-emulation/slirp4netns/slirp4netns-1.1.8.ebuild40
-rw-r--r--app-emulation/slirp4netns/slirp4netns-1.1.9.ebuild40
-rw-r--r--app-emulation/snapd/Manifest2
-rw-r--r--app-emulation/snapd/files/README.gentoo56
-rw-r--r--app-emulation/snapd/metadata.xml22
-rw-r--r--app-emulation/snapd/snapd-2.47.1-r1.ebuild185
-rw-r--r--app-emulation/snapd/snapd-2.48.ebuild180
-rw-r--r--app-emulation/softgun/files/softgun-0.22-fix-declarations-with-type-mismatches.patch148
-rw-r--r--app-emulation/softgun/files/softgun-0.22-fix-implicit-int.patch33
-rw-r--r--app-emulation/softgun/metadata.xml4
-rw-r--r--app-emulation/softgun/softgun-0.22-r1.ebuild38
-rw-r--r--app-emulation/softgun/softgun-0.22.ebuild4
-rw-r--r--app-emulation/spectemu/metadata.xml2
-rw-r--r--app-emulation/spice-html5/Manifest2
-rw-r--r--app-emulation/spice-html5/metadata.xml16
-rw-r--r--app-emulation/spice-html5/spice-html5-0.2.1.ebuild28
-rw-r--r--app-emulation/spice-html5/spice-html5-0.2.2.ebuild28
-rw-r--r--app-emulation/spice-protocol/Manifest1
-rw-r--r--app-emulation/spice-protocol/metadata.xml2
-rw-r--r--app-emulation/spice-protocol/spice-protocol-0.14.3.ebuild2
-rw-r--r--app-emulation/spice-protocol/spice-protocol-0.14.4.ebuild20
-rw-r--r--app-emulation/spice-protocol/spice-protocol-9999.ebuild13
-rw-r--r--app-emulation/spice-vdagent/Manifest3
-rw-r--r--app-emulation/spice-vdagent/metadata.xml2
-rw-r--r--app-emulation/spice-vdagent/spice-vdagent-0.21.0.ebuild62
-rw-r--r--app-emulation/spice-vdagent/spice-vdagent-0.22.1.ebuild (renamed from app-emulation/spice-vdagent/spice-vdagent-0.19.0-r1.ebuild)31
-rw-r--r--app-emulation/spice/Manifest3
-rw-r--r--app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-404d7478.patch31
-rw-r--r--app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-762e0aba.patch13
-rw-r--r--app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-b24fe6b6.patch18
-rw-r--r--app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-ef1b6ff7.patch17
-rw-r--r--app-emulation/spice/metadata.xml5
-rw-r--r--app-emulation/spice/spice-0.14.3.ebuild96
-rw-r--r--app-emulation/spice/spice-0.15.1-r1.ebuild (renamed from app-emulation/spice/spice-0.14.3-r1.ebuild)44
-rw-r--r--app-emulation/spice/spice-0.15.2.ebuild97
-rw-r--r--app-emulation/spice/spice-9999.ebuild90
-rw-r--r--app-emulation/spim/metadata.xml2
-rw-r--r--app-emulation/spim/spim-8.0-r3.ebuild4
-rw-r--r--app-emulation/uade/metadata.xml16
-rw-r--r--app-emulation/uade/uade-2.13-r1.ebuild39
-rw-r--r--app-emulation/uade/uade-2.13-r2.ebuild52
-rw-r--r--app-emulation/umoci/Manifest2
-rw-r--r--app-emulation/umoci/metadata.xml8
-rw-r--r--app-emulation/umoci/umoci-0.2.1.ebuild42
-rw-r--r--app-emulation/umoci/umoci-0.4.6.ebuild35
-rw-r--r--app-emulation/uxn/Manifest1
-rw-r--r--app-emulation/uxn/files/uxn-0_p20230609-build.sh.patch20
-rw-r--r--app-emulation/uxn/metadata.xml18
-rw-r--r--app-emulation/uxn/uxn-0_p20240304.ebuild72
-rw-r--r--app-emulation/uxn/uxn-9999.ebuild72
-rw-r--r--app-emulation/vagrant/Manifest4
-rw-r--r--app-emulation/vagrant/files/vagrant.in2
-rw-r--r--app-emulation/vagrant/metadata.xml16
-rw-r--r--app-emulation/vagrant/vagrant-2.2.7-r1.ebuild93
-rw-r--r--app-emulation/vagrant/vagrant-2.2.9-r1.ebuild93
-rw-r--r--app-emulation/vagrant/vagrant-2.4.0-r1.ebuild122
-rw-r--r--app-emulation/vagrant/vagrant-2.4.1.ebuild122
-rw-r--r--app-emulation/vendor-reset/Manifest2
-rw-r--r--app-emulation/vendor-reset/files/vendor-reset-0.1.1-allow-correct-compilation-with-clang.patch23
-rw-r--r--app-emulation/vendor-reset/files/vendor-reset-0.1.1-fix-build-on-kernel-6.8.patch35
-rw-r--r--app-emulation/vendor-reset/metadata.xml2
-rw-r--r--app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r1.ebuild39
-rw-r--r--app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r2.ebuild44
-rw-r--r--app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205.ebuild (renamed from app-emulation/vendor-reset/vendor-reset-0.1.0.ebuild)28
-rw-r--r--app-emulation/vendor-reset/vendor-reset-9999.ebuild31
-rw-r--r--app-emulation/vice/Manifest3
-rw-r--r--app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch29
-rw-r--r--app-emulation/vice/metadata.xml2
-rw-r--r--app-emulation/vice/vice-3.4_p38553.ebuild185
-rw-r--r--app-emulation/vice/vice-3.5.ebuild169
-rw-r--r--app-emulation/vice/vice-3.8-r1.ebuild187
-rw-r--r--app-emulation/virt-firmware/Manifest1
-rw-r--r--app-emulation/virt-firmware/files/kernel-bootcfg-boot-successful9
-rw-r--r--app-emulation/virt-firmware/metadata.xml19
-rw-r--r--app-emulation/virt-firmware/virt-firmware-24.4.ebuild52
-rw-r--r--app-emulation/virt-manager/Manifest4
-rw-r--r--app-emulation/virt-manager/metadata.xml35
-rw-r--r--app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild97
-rw-r--r--app-emulation/virt-manager/virt-manager-3.1.0.ebuild98
-rw-r--r--app-emulation/virt-manager/virt-manager-3.2.0.ebuild97
-rw-r--r--app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild106
-rw-r--r--app-emulation/virt-manager/virt-manager-4.1.0.ebuild106
-rw-r--r--app-emulation/virt-manager/virt-manager-9999.ebuild108
-rw-r--r--app-emulation/virt-viewer/Manifest4
-rw-r--r--app-emulation/virt-viewer/files/virt-viewer-10.0_p20210730-meson-0.61.patch36
-rw-r--r--app-emulation/virt-viewer/metadata.xml7
-rw-r--r--app-emulation/virt-viewer/virt-viewer-11.0.ebuild68
-rw-r--r--app-emulation/virt-viewer/virt-viewer-7.0.ebuild36
-rw-r--r--app-emulation/virt-viewer/virt-viewer-8.0.ebuild39
-rw-r--r--app-emulation/virt-viewer/virt-viewer-9.0.ebuild39
-rw-r--r--app-emulation/virt-what/Manifest5
-rw-r--r--app-emulation/virt-what/metadata.xml6
-rw-r--r--app-emulation/virt-what/virt-what-1.18.ebuild24
-rw-r--r--app-emulation/virt-what/virt-what-1.21.ebuild (renamed from app-emulation/virt-what/virt-what-1.20.ebuild)4
-rw-r--r--app-emulation/virt-what/virt-what-1.25.ebuild (renamed from app-emulation/virt-what/virt-what-1.19.ebuild)6
-rw-r--r--app-emulation/virtio-win/Manifest4
-rw-r--r--app-emulation/virtio-win/files/README.gentoo15
-rw-r--r--app-emulation/virtio-win/metadata.xml18
-rw-r--r--app-emulation/virtio-win/virtio-win-0.1.229.1.ebuild30
-rw-r--r--app-emulation/virtio-win/virtio-win-0.1.240.1.ebuild (renamed from app-emulation/virtio-win/virtio-win-0.1.190.1.ebuild)18
-rw-r--r--app-emulation/virtio-win/virtio-win-0.1.248.1.ebuild30
-rw-r--r--app-emulation/virtiofsd/Manifest87
-rw-r--r--app-emulation/virtiofsd/metadata.xml (renamed from app-emulation/distrobuilder/metadata.xml)13
-rw-r--r--app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild148
-rw-r--r--app-emulation/virtiofsd/virtiofsd-9999.ebuild148
-rw-r--r--app-emulation/virtualbox-additions/Manifest5
-rw-r--r--app-emulation/virtualbox-additions/metadata.xml8
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild34
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-6.1.50.ebuild (renamed from app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild)19
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-7.0.14.ebuild25
-rw-r--r--app-emulation/virtualbox-additions/virtualbox-additions-7.0.18.ebuild25
-rw-r--r--app-emulation/virtualbox-extpack-oracle/Manifest5
-rw-r--r--app-emulation/virtualbox-extpack-oracle/metadata.xml8
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild43
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild43
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.50.ebuild28
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.14-r1.ebuild33
-rw-r--r--app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.18.ebuild33
-rw-r--r--app-emulation/virtualbox-guest-additions/Manifest9
-rw-r--r--app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch (renamed from app-emulation/virtualbox-guest-additions/files/vboxguest-6.0.6-log-use-c99.patch)4
-rw-r--r--app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.14-kernel-6.8.patch242
-rw-r--r--app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch24
-rw-r--r--app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd25
-rw-r--r--app-emulation/virtualbox-guest-additions/metadata.xml8
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild221
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18.ebuild221
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild292
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50.ebuild (renamed from app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild)199
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r1.ebuild294
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r2.ebuild295
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r3.ebuild297
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.18.ebuild290
-rw-r--r--app-emulation/virtualbox-kvm/Manifest11
-rw-r--r--app-emulation/virtualbox-kvm/files/050_virtualbox-5.2.8-nopie.patch147
-rw-r--r--app-emulation/virtualbox-kvm/files/10-virtualbox.rules7
-rw-r--r--app-emulation/virtualbox-kvm/files/vboxwebsrv-confd19
-rw-r--r--app-emulation/virtualbox-kvm/files/vboxwebsrv-initd21
-rw-r--r--app-emulation/virtualbox-kvm/files/virtualbox-4-config1
-rw-r--r--app-emulation/virtualbox-kvm/files/virtualbox-5-localconfig47
-rw-r--r--app-emulation/virtualbox-kvm/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch18
-rw-r--r--app-emulation/virtualbox-kvm/files/virtualbox-ose-6-wrapper119
-rw-r--r--app-emulation/virtualbox-kvm/files/virtualbox-vboxusb_tmpfilesd1
-rw-r--r--app-emulation/virtualbox-kvm/metadata.xml19
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240325.ebuild768
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild767
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.18_pre20240502.ebuild768
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-9999.ebuild768
-rw-r--r--app-emulation/virtualbox-modules/Manifest5
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch44
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch96
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch39
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch16
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch27
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox.conf4
-rw-r--r--app-emulation/virtualbox-modules/metadata.xml9
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild59
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild60
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild38
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-7.0.14-r1.ebuild38
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild34
-rw-r--r--app-emulation/virtualbox/Manifest13
-rw-r--r--app-emulation/virtualbox/files/virtualbox-5.2.8-paxmark-bldprogs.patch59
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.26-configure-include-qt5-path.patch15
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch14
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.36-fcf-protection.patch16
-rw-r--r--app-emulation/virtualbox/files/virtualbox-6.1.44-fix-libxml2.patch25
-rw-r--r--app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch43
-rw-r--r--app-emulation/virtualbox/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch18
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-6-wrapper2
-rw-r--r--app-emulation/virtualbox/metadata.xml23
-rw-r--r--app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild512
-rw-r--r--app-emulation/virtualbox/virtualbox-6.1.18.ebuild512
-rw-r--r--app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild681
-rw-r--r--app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild740
-rw-r--r--app-emulation/virtualbox/virtualbox-7.0.18.ebuild741
-rw-r--r--app-emulation/virtualbox/virtualbox-9999.ebuild769
-rw-r--r--app-emulation/vkd3d-proton/Manifest8
-rw-r--r--app-emulation/vkd3d-proton/files/vkd3d-proton-2.6-wow64-setup.patch14
-rw-r--r--app-emulation/vkd3d-proton/metadata.xml18
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild207
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild186
-rw-r--r--app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild207
-rw-r--r--app-emulation/vkd3d/Manifest4
-rw-r--r--app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch22
-rw-r--r--app-emulation/vkd3d/metadata.xml2
-rw-r--r--app-emulation/vkd3d/vkd3d-1.0.ebuild39
-rw-r--r--app-emulation/vkd3d/vkd3d-1.1-r1.ebuild43
-rw-r--r--app-emulation/vkd3d/vkd3d-1.1.ebuild39
-rw-r--r--app-emulation/vkd3d/vkd3d-1.11.ebuild49
-rw-r--r--app-emulation/vkd3d/vkd3d-1.2.ebuild40
-rw-r--r--app-emulation/vkd3d/vkd3d-9999.ebuild47
-rw-r--r--app-emulation/wine-desktop-common/metadata.xml6
-rw-r--r--app-emulation/wine-gecko/Manifest14
-rw-r--r--app-emulation/wine-gecko/metadata.xml8
-rw-r--r--app-emulation/wine-gecko/wine-gecko-2.47-r1.ebuild28
-rw-r--r--app-emulation/wine-gecko/wine-gecko-2.47.1.ebuild26
-rw-r--r--app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild41
-rw-r--r--app-emulation/wine-gecko/wine-gecko-2.47.3.ebuild37
-rw-r--r--app-emulation/wine-gecko/wine-gecko-2.47.4.ebuild37
-rw-r--r--app-emulation/wine-mono/Manifest27
-rw-r--r--app-emulation/wine-mono/metadata.xml11
-rw-r--r--app-emulation/wine-mono/wine-mono-4.6.4.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.7.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.7.1.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.7.3.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.7.5.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.8.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.8.1.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.8.3.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.9.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.9.2.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.9.3.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-4.9.4.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-5.0.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-5.1.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-5.1.1.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-6.0.0.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-6.1.1.ebuild21
-rw-r--r--app-emulation/wine-mono/wine-mono-7.0.0.ebuild26
-rw-r--r--app-emulation/wine-mono/wine-mono-7.4.0.ebuild26
-rw-r--r--app-emulation/wine-mono/wine-mono-8.1.0.ebuild26
-rw-r--r--app-emulation/wine-mono/wine-mono-9.0.0.ebuild26
-rw-r--r--app-emulation/wine-mono/wine-mono-9.1.0.ebuild26
-rw-r--r--app-emulation/wine-proton/Manifest3
-rw-r--r--app-emulation/wine-proton/files/README.gentoo52
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-musl.patch17
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch7
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch14
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-unwind.patch40
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.6-mingw64-11.0.0.patch20
-rw-r--r--app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch36
-rw-r--r--app-emulation/wine-proton/files/wine-proton-8.0.4-restore-menubuilder.patch8
-rw-r--r--app-emulation/wine-proton/files/wine-proton-9.0-rpath.patch14
-rw-r--r--app-emulation/wine-proton/metadata.xml36
-rw-r--r--app-emulation/wine-proton/wine-proton-7.0.6.ebuild370
-rw-r--r--app-emulation/wine-proton/wine-proton-8.0.5c.ebuild387
-rw-r--r--app-emulation/wine-proton/wine-proton-9.0.1.ebuild419
-rw-r--r--app-emulation/wine-proton/wine-proton-9.0.9999.ebuild421
-rw-r--r--app-emulation/wine-staging/Manifest20
-rw-r--r--app-emulation/wine-staging/files/wine-staging-7.17-noexecstack.patch7
-rw-r--r--app-emulation/wine-staging/files/wine-staging-7.20-unwind.patch36
-rw-r--r--app-emulation/wine-staging/files/wine-staging-8.13-rpath.patch15
-rw-r--r--app-emulation/wine-staging/files/wine-staging-9.8-musl-ioctls-header.patch30
-rw-r--r--app-emulation/wine-staging/metadata.xml61
-rw-r--r--app-emulation/wine-staging/wine-staging-6.3-r1.ebuild668
-rw-r--r--app-emulation/wine-staging/wine-staging-6.4.ebuild665
-rw-r--r--app-emulation/wine-staging/wine-staging-6.5.ebuild665
-rw-r--r--app-emulation/wine-staging/wine-staging-6.6.ebuild665
-rw-r--r--app-emulation/wine-staging/wine-staging-9.0.ebuild480
-rw-r--r--app-emulation/wine-staging/wine-staging-9.5.ebuild483
-rw-r--r--app-emulation/wine-staging/wine-staging-9.6.ebuild478
-rw-r--r--app-emulation/wine-staging/wine-staging-9.7.ebuild478
-rw-r--r--app-emulation/wine-staging/wine-staging-9.8.ebuild479
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild887
-rw-r--r--app-emulation/wine-vanilla/Manifest14
-rw-r--r--app-emulation/wine-vanilla/files/wine-vanilla-7.0-noexecstack.patch7
-rw-r--r--app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch40
-rw-r--r--app-emulation/wine-vanilla/files/wine-vanilla-7.20-unwind.patch36
-rw-r--r--app-emulation/wine-vanilla/files/wine-vanilla-8.13-rpath.patch15
-rw-r--r--app-emulation/wine-vanilla/files/wine-vanilla-9.8-musl-ioctls-header.patch30
-rw-r--r--app-emulation/wine-vanilla/metadata.xml55
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-6.0.ebuild578
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-6.3-r1.ebuild580
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-6.4.ebuild577
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-6.5.ebuild577
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-6.6.ebuild577
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild383
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild389
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild428
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild431
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.6.ebuild431
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild431
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild432
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9999.ebuild766
-rw-r--r--app-emulation/winetricks/Manifest4
-rw-r--r--app-emulation/winetricks/metadata.xml6
-rw-r--r--app-emulation/winetricks/winetricks-20230212.ebuild (renamed from app-emulation/winetricks/winetricks-20210206.ebuild)4
-rw-r--r--app-emulation/winetricks/winetricks-20240105.ebuild (renamed from app-emulation/winetricks/winetricks-20200412.ebuild)16
-rw-r--r--app-emulation/winetricks/winetricks-99999999.ebuild4
-rw-r--r--app-emulation/x48/files/x48-0.6.4-configure.patch11
-rw-r--r--app-emulation/x48/metadata.xml2
-rw-r--r--app-emulation/x48/x48-0.6.4-r2.ebuild4
-rw-r--r--app-emulation/x48/x48-0.6.4-r3.ebuild70
-rw-r--r--app-emulation/xcpc/Manifest2
-rw-r--r--app-emulation/xcpc/metadata.xml3
-rw-r--r--app-emulation/xcpc/xcpc-0.37.0-r1.ebuild29
-rw-r--r--app-emulation/xcpc/xcpc-20070122.ebuild15
-rw-r--r--app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch4
-rw-r--r--app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch4
-rw-r--r--app-emulation/xe-guest-utilities/metadata.xml4
-rw-r--r--app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120-r1.ebuild (renamed from app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120.ebuild)41
-rw-r--r--app-emulation/xen-pvgrub/Manifest8
-rw-r--r--app-emulation/xen-pvgrub/files/newlib-implicits.patch149
-rw-r--r--app-emulation/xen-pvgrub/files/xen-4.10-externals.patch74
-rw-r--r--app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch13
-rw-r--r--app-emulation/xen-pvgrub/metadata.xml16
-rw-r--r--app-emulation/xen-pvgrub/xen-pvgrub-4.13.2.ebuild155
-rw-r--r--app-emulation/xen-pvgrub/xen-pvgrub-4.14.1.ebuild155
-rw-r--r--app-emulation/xen-tools/Manifest23
-rw-r--r--app-emulation/xen-tools/files/README.gentoo16
-rw-r--r--app-emulation/xen-tools/files/gentoo-patches.conf72
-rw-r--r--app-emulation/xen-tools/files/xenstored.initd-r12
-rw-r--r--app-emulation/xen-tools/metadata.xml3
-rw-r--r--app-emulation/xen-tools/xen-tools-4.13.2-r2.ebuild512
-rw-r--r--app-emulation/xen-tools/xen-tools-4.13.2-r3.ebuild512
-rw-r--r--app-emulation/xen-tools/xen-tools-4.14.1-r1.ebuild512
-rw-r--r--app-emulation/xen-tools/xen-tools-4.14.1.ebuild512
-rw-r--r--app-emulation/xen-tools/xen-tools-4.17.4.ebuild (renamed from app-emulation/xen-tools/xen-tools-4.13.2-r4.ebuild)362
-rw-r--r--app-emulation/xen-tools/xen-tools-4.17.4_pre2.ebuild (renamed from app-emulation/xen-tools/xen-tools-4.14.1-r2.ebuild)356
-rw-r--r--app-emulation/xen/Manifest11
-rw-r--r--app-emulation/xen/files/xen-4.11-efi.patch36
-rw-r--r--app-emulation/xen/files/xen-4.14-efi.patch38
-rw-r--r--app-emulation/xen/metadata.xml5
-rw-r--r--app-emulation/xen/xen-4.13.2-r5.ebuild165
-rw-r--r--app-emulation/xen/xen-4.13.2-r6.ebuild165
-rw-r--r--app-emulation/xen/xen-4.13.2-r7.ebuild165
-rw-r--r--app-emulation/xen/xen-4.14.1-r2.ebuild165
-rw-r--r--app-emulation/xen/xen-4.14.1-r3.ebuild165
-rw-r--r--app-emulation/xen/xen-4.17.4.ebuild179
-rw-r--r--app-emulation/xen/xen-4.17.4_pre2.ebuild179
-rw-r--r--app-emulation/xtrs/files/xtrs-4.9d-implicit.patch35
-rw-r--r--app-emulation/xtrs/metadata.xml2
-rw-r--r--app-emulation/xtrs/xtrs-4.9d-r6.ebuild (renamed from app-emulation/xtrs/xtrs-4.9d-r5.ebuild)17
835 files changed, 35795 insertions, 30192 deletions
diff --git a/app-emulation/86Box/86Box-4.0.1-r1.ebuild b/app-emulation/86Box/86Box-4.0.1-r1.ebuild
new file mode 100644
index 000000000000..9945e8bf8d6e
--- /dev/null
+++ b/app-emulation/86Box/86Box-4.0.1-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Emulator of x86-based machines based on PCem"
+HOMEPAGE="https://github.com/86Box/86Box"
+SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="dinput experimental +fluidsynth +munt new-dynarec +openal qt5 +qt6 +threads"
+
+DEPEND="
+ app-emulation/faudio
+ dev-libs/libevdev
+ media-libs/freetype:2=
+ media-libs/libpng:=
+ media-libs/libsdl2
+ media-libs/openal
+ media-libs/rtmidi
+ net-libs/libslirp
+ sys-libs/zlib
+ qt5? ( x11-libs/libXi )
+ qt6? ( x11-libs/libXi )
+"
+
+RDEPEND="
+ ${DEPEND}
+ fluidsynth? ( media-sound/fluidsynth )
+ munt? ( media-libs/munt-mt32emu )
+ openal? ( media-libs/openal )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qttranslations:5
+ dev-qt/qtwidgets:5
+ kde-frameworks/extra-cmake-modules
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,network,opengl,widgets]
+ dev-qt/qttranslations:6
+ kde-frameworks/extra-cmake-modules
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${PN}-4.0.1-incompatible-pointer-types.patch" )
+
+src_configure() {
+ # LTO needs to be filtered
+ # See https://bugs.gentoo.org/854507
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DCPPTHREADS="$(usex threads)"
+ -DDEV_BRANCH="$(usex experimental)"
+ -DDINPUT="$(usex dinput)"
+ -DDYNAREC="ON"
+ -DMUNT_EXTERNAL="$(usex munt)"
+ -DFLUIDSYNTH="$(usex fluidsynth)"
+ -DMINITRACE="OFF"
+ -DMUNT="$(usex munt)"
+ -DNEW_DYNAREC="$(usex new-dynarec)"
+ -DOPENAL="$(usex openal)"
+ -DPREFER_STATIC="OFF"
+ -DRTMIDI="ON"
+ -DQT="$(usex qt5 'ON' $(usex qt6))"
+ -DRELEASE="ON"
+ $(usex qt6 '-DUSE_QT6=ON')
+ )
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ elog "In order to use 86Box, you will need some roms for various emulated systems."
+ elog "See https://github.com/86Box/roms for more information."
+}
diff --git a/app-emulation/86Box/86Box-4.1.1-r1.ebuild b/app-emulation/86Box/86Box-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..1acbe1d341bd
--- /dev/null
+++ b/app-emulation/86Box/86Box-4.1.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Emulator of x86-based machines based on PCem"
+HOMEPAGE="https://github.com/86Box/86Box"
+SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="experimental +fluidsynth +munt new-dynarec +openal qt5 +qt6 +threads"
+
+DEPEND="
+ app-emulation/faudio
+ dev-libs/libevdev
+ media-libs/freetype:2=
+ media-libs/libpng:=
+ media-libs/libsdl2
+ media-libs/openal
+ media-libs/rtmidi
+ net-libs/libslirp
+ sys-libs/zlib
+ qt5? ( x11-libs/libXi )
+ qt6? ( x11-libs/libXi )
+"
+
+RDEPEND="
+ ${DEPEND}
+ fluidsynth? ( media-sound/fluidsynth )
+ munt? ( media-libs/munt-mt32emu )
+ openal? ( media-libs/openal )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qttranslations:5
+ dev-qt/qtwidgets:5
+ kde-frameworks/extra-cmake-modules
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,network,opengl,widgets]
+ dev-qt/qttranslations:6
+ kde-frameworks/extra-cmake-modules
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # LTO needs to be filtered
+ # See https://bugs.gentoo.org/854507
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DCPPTHREADS="$(usex threads)"
+ -DDEV_BRANCH="$(usex experimental)"
+ -DDYNAREC="ON"
+ -DMUNT_EXTERNAL="$(usex munt)"
+ -DFLUIDSYNTH="$(usex fluidsynth)"
+ -DMINITRACE="OFF"
+ -DMUNT="$(usex munt)"
+ -DNEW_DYNAREC="$(usex new-dynarec)"
+ -DOPENAL="$(usex openal)"
+ -DPREFER_STATIC="OFF"
+ -DRTMIDI="ON"
+ -DQT="$(usex qt5 'ON' $(usex qt6))"
+ -DRELEASE="ON"
+ $(usex qt6 '-DUSE_QT6=ON')
+ )
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ elog "In order to use 86Box, you will need some roms for various emulated systems."
+ elog "See https://github.com/86Box/roms for more information."
+}
diff --git a/app-emulation/86Box/Manifest b/app-emulation/86Box/Manifest
new file mode 100644
index 000000000000..afe37841ea36
--- /dev/null
+++ b/app-emulation/86Box/Manifest
@@ -0,0 +1,2 @@
+DIST 86Box-4.0.1.tar.gz 5206128 BLAKE2B 56a4d374757eb67368bbc5782bceca3f4dec79dd36fad6698065a86c3937238b352425dd856169a1a65a42a4f60f1a68b099ece4a7c019be4229d61fabfc444a SHA512 b06a8c50558276f35f98795e0513b5bd39eed3a0d3a8d61bf79b373501cd823ab3ab12fb943e879a240292bca39c507a1a42b1b6f3f9ae596499b685a03acf98
+DIST 86Box-4.1.1.tar.gz 5383817 BLAKE2B 04a03f039e3112e9dc02d25073afdf53d45603a71e27f8377309667917f30ef9f213cf0a7a6d8c2f4c2f1dd0fd73adfac3bbd8f0f9fc4b47fb2e9cbedffb4b6c SHA512 d1b0a1810f8712464ce8266942e9bfdc9721ab4ac70bbb242b3b06d6a7d6613b7bcb0ba730a2e458b2731c8d58e38c4b245b6f4afb5ee6c11ab4a2fb0dfd6d5e
diff --git a/app-emulation/86Box/files/86Box-4.0.1-incompatible-pointer-types.patch b/app-emulation/86Box/files/86Box-4.0.1-incompatible-pointer-types.patch
new file mode 100644
index 000000000000..df708d337b65
--- /dev/null
+++ b/app-emulation/86Box/files/86Box-4.0.1-incompatible-pointer-types.patch
@@ -0,0 +1,23 @@
+From 13d582b56faf9caca114ec5625b34a7859ecb41f Mon Sep 17 00:00:00 2001
+From: OBattler <oubattler@gmail.com>
+Date: Fri, 5 Jan 2024 13:01:17 +0100
+Subject: [PATCH] Unix: Use proper parentheses to cast the result, not the
+ flags, fixes #3994.
+
+---
+ src/unix/unix.c | 4 +---
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/unix/unix.c b/src/unix/unix.c
+index e784df38e6..cfa8243135 100644
+--- a/src/unix/unix.c
++++ b/src/unix/unix.c
+@@ -635,7 +635,7 @@
+ SDL_MessageBoxData msgdata;
+ SDL_MessageBoxButtonData msgbtn;
+ if (!header)
+- header = (void *) (flags & MBX_ANSI) ? "86Box" : L"86Box";
++ header = (void *) ((flags & MBX_ANSI) ? "86Box" : L"86Box");
+ if (header <= (void *) 7168)
+ header = (void *) plat_get_string((int) header);
+ if (message <= (void *) 7168)
diff --git a/app-emulation/86Box/metadata.xml b/app-emulation/86Box/metadata.xml
new file mode 100644
index 000000000000..a06647c003b6
--- /dev/null
+++ b/app-emulation/86Box/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ 86Box is a low level x86 emulator that runs older operating systems and software
+ designed for IBM PC systems and compatibles from 1981 through
+ fairly recent system designs based on the PCI bus.
+ </longdescription>
+ <use>
+ <flag name="dinput">Enable legacy Dinput mode instead of Xinput for older controllers.</flag>
+ <flag name="experimental">Enable hardware from devbranch, which may be unstable or unusable.</flag>
+ <flag name="fluidsynth">Enable MIDI support through <pkg>media-sound/fluidsynth</pkg>.</flag>
+ <flag name="munt">Enable MIDI MT-32 support through <pkg>media-libs/munt-mt32emu</pkg>.</flag>
+ <flag name="new-dynarec">Enable new dynamic recompiler from PCem 15, which should provide an even better emulation speed.</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/86Box/86Box/issues</bugs-to>
+ <remote-id type="github">86Box/86Box</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/aqemu/Manifest b/app-emulation/aqemu/Manifest
deleted file mode 100644
index 966ea6c08330..000000000000
--- a/app-emulation/aqemu/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aqemu-0.9.2.tar.gz 1373465 BLAKE2B 8b2b3ed311f8dd723a0d06ab74659514c6ccda67643c747af832f1677ab86ffcecde3607ead0b3410a310c38a2fe360a5ff187ef86b5953e4f5a5054a862c26c SHA512 9d4808172ee1be82509956560e4d3f9ee349fedd920342146083cc9bc79ef51fc95937c64f20ffb13e2849c577f95f59b5b65271d6e29e2d2e1ec2d1562006ba
diff --git a/app-emulation/aqemu/aqemu-0.9.2.ebuild b/app-emulation/aqemu/aqemu-0.9.2.ebuild
deleted file mode 100644
index 86008228bc21..000000000000
--- a/app-emulation/aqemu/aqemu-0.9.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Graphical interface for QEMU and KVM emulators, using Qt5"
-HOMEPAGE="https://sourceforge.net/projects/aqemu"
-SRC_URI="https://github.com/tobimensch/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="vnc"
-
-RDEPEND="
- app-emulation/qemu
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qttest:5
- dev-qt/qtwidgets:5
- vnc? ( net-libs/libvncserver )
-"
-DEPEND="${RDEPEND}"
-
-#DOCS=( AUTHORS CHANGELOG README TODO )
-PATCHES=( "${FILESDIR}/${PN}-0.9.2-qtbindir.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DMAN_PAGE_COMPRESSOR=""
- -DWITHOUT_EMBEDDED_DISPLAY=$(usex vnc OFF ON)
- )
-
- cmake_src_configure
-}
diff --git a/app-emulation/aqemu/files/aqemu-0.9.2-qtbindir.patch b/app-emulation/aqemu/files/aqemu-0.9.2-qtbindir.patch
deleted file mode 100644
index 5c5548058427..000000000000
--- a/app-emulation/aqemu/files/aqemu-0.9.2-qtbindir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Ensure the Qt 5 version of rcc is used instead of whatever is in $PATH.
-
-Gentoo-bug: 589332
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -285,7 +285,7 @@
-
- SET( _out ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.rcc )
-
-- ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND rcc ARGS ${_in} -binary -o ${_out} DEPENDS ${_in} )
-+ ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND ${Qt5Core_RCC_EXECUTABLE} ARGS ${_in} -binary -o ${_out} DEPENDS ${_in} )
-
- SET( ${_sources} ${${_sources}} ${_out} )
- ENDFOREACH( curFile )
diff --git a/app-emulation/aqemu/metadata.xml b/app-emulation/aqemu/metadata.xml
deleted file mode 100644
index 077b4f4c7acc..000000000000
--- a/app-emulation/aqemu/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">aqemu</remote-id>
- <remote-id type="github">tobimensch/aqemu</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/aranym/aranym-1.1.0.ebuild b/app-emulation/aranym/aranym-1.1.0-r1.ebuild
index fe2c0f728ab6..f471b146140f 100644
--- a/app-emulation/aranym/aranym-1.1.0.ebuild
+++ b/app-emulation/aranym/aranym-1.1.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools multibuild xdg
+inherit autotools flag-o-matic multibuild toolchain-funcs xdg
DESCRIPTION="Atari Running on Any Machine, VM running Atari ST/TT/Falcon OS and TOS/GEM apps"
HOMEPAGE="https://aranym.github.io"
@@ -20,10 +20,10 @@ REQUIRED_USE="|| ( jit pmmu standard ) lilo? ( pmmu )"
RDEPEND="
dev-libs/gmp:0=
media-libs/libsdl2[video]
- clipboard? ( !kernel_Winnt? (
+ clipboard? (
media-libs/libsdl2[X]
x11-libs/libX11
- ) )
+ )
jpeg? ( virtual/jpeg )
kernel_linux? ( virtual/libudev )
lilo? ( sys-libs/zlib )
@@ -38,6 +38,11 @@ BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-1.1.0-conditional-installs.patch
+ "${FILESDIR}"/${PN}-1.1.0-libcwrap.patch
+ "${FILESDIR}"/${PN}-1.1.0-ar.patch
+ "${FILESDIR}"/${PN}-1.1.0-clang-16-register.patch
+ "${FILESDIR}"/${PN}-1.1.0-configure-clang16.patch
+ "${FILESDIR}"/${PN}-1.1.0-configure-bashisms.patch
)
ECONF_SOURCE="${S}"
@@ -49,6 +54,16 @@ src_prepare() {
}
src_configure() {
+ # configure probe fatally errors out since it tries to peek at LTO'ed code using grep
+ # https://bugs.gentoo.org/854510
+ # https://github.com/aranym/aranym/commit/52c56bba30ddea27a0a7179da89cac1c71228de6
+ #
+ # Fixed in git master. Try removing this on the next version bump.
+ filter-lto
+
+ tc-export_build_env
+ export CC_FOR_BUILD=$(tc-getBUILD_CC) CXX_FOR_BUILD=$(tc-getBUILD_CXX)
+
# standard must come last otherwise the aranym executable gets
# overwritten by the others.
MULTIBUILD_VARIANTS=(
diff --git a/app-emulation/aranym/files/aranym-1.1.0-ar.patch b/app-emulation/aranym/files/aranym-1.1.0-ar.patch
new file mode 100644
index 000000000000..55026a626334
--- /dev/null
+++ b/app-emulation/aranym/files/aranym-1.1.0-ar.patch
@@ -0,0 +1,24 @@
+From 9d8586fe8b0f210b2a2d3f5e6f710993015945aa Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 16 Apr 2022 21:51:04 +0100
+Subject: [PATCH] Respect the AR environment variable when building
+
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 14eedb5f..8d425dee 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -371,6 +371,7 @@ AC_PROG_MAKE_SET
+ AC_PROG_INSTALL
+ AC_PROG_MKDIR_P
+ AC_PROG_RANLIB
++AM_PROG_AR
+ AC_PATH_PROG(PERL, perl)
+ AC_CHECK_TOOLS(WINDRES, [windres], :)
+ PKG_PROG_PKG_CONFIG
+--
+2.34.1
+
diff --git a/app-emulation/aranym/files/aranym-1.1.0-clang-16-register.patch b/app-emulation/aranym/files/aranym-1.1.0-clang-16-register.patch
new file mode 100644
index 000000000000..2adc5fb3c1fe
--- /dev/null
+++ b/app-emulation/aranym/files/aranym-1.1.0-clang-16-register.patch
@@ -0,0 +1,219 @@
+https://bugs.gentoo.org/894446
+https://github.com/aranym/aranym/commit/e19e21151d5e394dd45d4db08e68245e86e32ab7
+https://github.com/aranym/aranym/commit/64414e43deebc665772481d802b6c1c88d752ac3
+
+From e19e21151d5e394dd45d4db08e68245e86e32ab7 Mon Sep 17 00:00:00 2001
+From: Thorsten Otto <admin@tho-otto.de>
+Date: Tue, 2 Aug 2022 18:12:19 +0200
+Subject: [PATCH] Remove obsolete register keywords
+
+--- a/src/blitter.cpp
++++ b/src/blitter.cpp
+@@ -114,8 +114,8 @@ void BLITTER::SM_UW(memptr addr, UW value) {
+ #define HOP_OPS(_fn_name,_op,_do_source_shift,_get_source_data,_shifted_hopd_data, _do_halftone_inc) \
+ static void _fn_name ( BLITTER& b ) \
+ { \
+- register unsigned int skew = (unsigned int) b.skewreg & 15; \
+- register unsigned int source_buffer=0; \
++ unsigned int skew = b.skewreg & 15; \
++ unsigned int source_buffer=0; \
+ if (b.hop & 1) { \
+ if (b.line_num & 0x20) \
+ b.halftone_curroffset = b.skewreg & 15; \
+@@ -127,7 +127,7 @@ static void _fn_name ( BLITTER& b ) \
+ b.halftone_direction = -1; \
+ } \
+ do \
+- { register UW x,dst_data,opd_data; \
++ { UW x,dst_data,opd_data; \
+ if (b.FXSR) \
+ { _do_source_shift; \
+ _get_source_data; \
+--- a/src/md5.cpp
++++ b/src/md5.cpp
+@@ -168,7 +168,7 @@ MD5::MD5Final(md5byte digest[16])
+ void
+ MD5::MD5Transform(UWORD32 buf[4], UWORD32 const in[16])
+ {
+- register UWORD32 a, b, c, d;
++ UWORD32 a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+
+From 64414e43deebc665772481d802b6c1c88d752ac3 Mon Sep 17 00:00:00 2001
+From: Thorsten Otto <admin@tho-otto.de>
+Date: Tue, 9 Aug 2022 09:17:31 +0200
+Subject: [PATCH] Remove more obsolete register keywords
+
+--- a/src/disasm/disasm-builtin.cpp
++++ b/src/disasm/disasm-builtin.cpp
+@@ -277,7 +277,7 @@ static const char *const bitfieldtable[] =
+
+ static void ps(m68k_disasm_info *info, const char *str)
+ {
+- register char c;
++ char c;
+
+ while ((c = *str++) != '\0')
+ {
+@@ -486,7 +486,7 @@ static void oadi(m68k_disasm_info *info, int regnum)
+
+ static int os(m68k_disasm_info *info, int opcode)
+ {
+- register int size;
++ int size;
+
+ size = insize(opcode);
+ sputc('.');
+@@ -501,7 +501,7 @@ static int os(m68k_disasm_info *info, int opcode)
+
+ static int os2(m68k_disasm_info *info, int opcode)
+ {
+- register int size;
++ int size;
+
+ size = (opcode >> 9) & 3;
+ sputc('.');
+@@ -968,10 +968,10 @@ static void doextended(m68k_disasm_info *info, int opcode2, int srcr)
+
+ static void doea(m68k_disasm_info *info, int opcode, int size)
+ {
+- register int srcr;
+- register int opcode2;
++ int srcr;
++ int opcode2;
+ uae_s32 offset;
+- register uae_s32 adr;
++ uae_s32 adr;
+
+ srcr = srcreg(opcode);
+ switch (srcmod(opcode))
+@@ -1071,7 +1071,7 @@ static void doea(m68k_disasm_info *info, int opcode, int size)
+
+ static void reglist(m68k_disasm_info *info, int regmask)
+ {
+- register int regnum;
++ int regnum;
+ int liststart;
+ int lastreg;
+ int status;
+@@ -1113,8 +1113,8 @@ static void reglist(m68k_disasm_info *info, int regmask)
+
+ static int revbits(int mask, int n)
+ {
+- register int i;
+- register int newmask;
++ int i;
++ int newmask;
+
+ for (newmask = 0, i = n; i > 0; i--)
+ {
+@@ -1390,7 +1390,7 @@ static void group0(m68k_disasm_info *info, int opcode)
+
+ static void group11(m68k_disasm_info *info, int opcode)
+ {
+- register int size;
++ int size;
+
+ if ((opcode & 0x0100) != 0 && insize(opcode) != 3)
+ {
+@@ -1441,7 +1441,7 @@ static void group11(m68k_disasm_info *info, int opcode)
+
+ static void group1(m68k_disasm_info *info, int opcode)
+ {
+- register int size = 0;
++ int size = 0;
+
+ ps(info, "move");
+ if (dstmod(opcode) == 1)
+@@ -1475,7 +1475,7 @@ static void group1(m68k_disasm_info *info, int opcode)
+
+ static void group14(m68k_disasm_info *info, int opcode)
+ {
+- register short size;
++ short size;
+ unsigned int opcode2;
+ unsigned int bf;
+
+@@ -2069,7 +2069,7 @@ static enum fpu_size print_fpsize(m68k_disasm_info *info, int mask)
+ static void print_freglist(m68k_disasm_info *info, int regmask, int mode, bool cntl)
+ {
+ const char *const * regs;
+- register int regnum;
++ int regnum;
+ int liststart;
+ int lastreg;
+ int status;
+@@ -3011,8 +3011,8 @@ static void pspreg(m68k_disasm_info *info, int mask)
+
+ static void group4(m68k_disasm_info *info, int opcode)
+ {
+- register int mask;
+- register int size;
++ int mask;
++ int size;
+
+ if (opcode & 0x0100)
+ {
+@@ -3540,7 +3540,7 @@ static void group4(m68k_disasm_info *info, int opcode)
+
+ static void group5(m68k_disasm_info *info, int opcode)
+ {
+- register uae_s32 adr;
++ uae_s32 adr;
+
+ if (insize(opcode) == 3)
+ {
+@@ -3603,9 +3603,9 @@ static void group5(m68k_disasm_info *info, int opcode)
+
+ static void group6(m68k_disasm_info *info, int opcode)
+ {
+- register uae_s32 adr;
+- register int cond;
+- register signed char dist;
++ uae_s32 adr;
++ int cond;
++ signed char dist;
+
+ /* 0110 cccc dddddddd */
+ switch (cond = (opcode >> 8) & 0x000f)
+@@ -3686,7 +3686,7 @@ static void group7(m68k_disasm_info *info, int opcode)
+
+ static void g812(m68k_disasm_info *info, int opcode, const char *andor, const char *muldiv, const char *as)
+ {
+- register int size;
++ int size;
+
+ info->num_oper = 2;
+ if (dstmod(opcode) == 3)
+@@ -3772,7 +3772,7 @@ static void group8(m68k_disasm_info *info, int opcode)
+
+ static void group12(m68k_disasm_info *info, int opcode)
+ {
+- register int d5;
++ int d5;
+
+ if ((d5 = (opcode >> 3) & 0x003f) == 0x0028)
+ {
+@@ -3813,7 +3813,7 @@ static void group12(m68k_disasm_info *info, int opcode)
+
+ static void g913(m68k_disasm_info *info, int opcode, const char *addsub)
+ {
+- register int size;
++ int size;
+
+ ps(info, addsub);
+ if ((opcode & 0x0100) != 0 && insize(opcode) != 3 && ((opcode >> 4) & 3) == 0)
+@@ -4125,8 +4125,8 @@ static void (*const grphdlrs[])(m68k_disasm_info *, int) = {
+
+ int m68k_disasm_builtin(m68k_disasm_info *info)
+ {
+- register int opcode;
+- register void (*hdlr)(m68k_disasm_info *info, int opcode);
++ int opcode;
++ void (*hdlr)(m68k_disasm_info *info, int opcode);
+ unsigned int insn_size;
+ struct priv_data *priv;
+
+
diff --git a/app-emulation/aranym/files/aranym-1.1.0-configure-bashisms.patch b/app-emulation/aranym/files/aranym-1.1.0-configure-bashisms.patch
new file mode 100644
index 000000000000..f2a453095a52
--- /dev/null
+++ b/app-emulation/aranym/files/aranym-1.1.0-configure-bashisms.patch
@@ -0,0 +1,37 @@
+https://github.com/aranym/aranym/pull/102
+
+From 1a45b77ee2eaabc53fef0794c0e3a64a7c41683e Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 19 Mar 2023 02:05:09 +0000
+Subject: [PATCH] configure.ac: fix bashisms
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1714,7 +1714,7 @@ SDL_CFLAGS=
+ SDL_LIBS=
+ no_sdl=yes
+ no_sdl2=yes
+-if test "$OS_TYPE" == darwin -a "$WITH_FINK" = no; then
++if test "$OS_TYPE" = darwin -a "$WITH_FINK" = no; then
+ ARANYM_CHECK_FRAMEWORK(SDL, [])
+ if test "$have_framework_SDL" = yes ; then
+ ARANYM_CHECK_FRAMEWORK_LOCATION(SDL)
+@@ -1781,7 +1781,7 @@ SDL_LIBS="$SDL_LIBS -lpthread"
+ AM_CONDITIONAL([ENABLE_SDL2], test "$enable_sdl2" = yes)
+ #
+ # SDL2 on macOS needs 10.6 or above
+-if test "$enable_sdl2" = yes -a "$OS_TYPE" == darwin; then
++if test "$enable_sdl2" = yes -a "$OS_TYPE" = darwin; then
+ export MACOSX_DEPLOYMENT_TARGET=10.6
+ fi
+
+--
+2.40.0
+
diff --git a/app-emulation/aranym/files/aranym-1.1.0-configure-clang16.patch b/app-emulation/aranym/files/aranym-1.1.0-configure-clang16.patch
new file mode 100644
index 000000000000..66d2c091b860
--- /dev/null
+++ b/app-emulation/aranym/files/aranym-1.1.0-configure-clang16.patch
@@ -0,0 +1,30 @@
+https://github.com/aranym/aranym/pull/102
+
+From ef9ba74fcbf868aeb1b0e0b02e53775a14cda0f7 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 19 Mar 2023 01:56:56 +0000
+Subject: [PATCH] configure.ac: fix -Wimplicit-function-declaration in TUN/TAP
+ test
+
+Clang 16 makes -Wimplicit-function-declaration an error by default.
+
+Unfortunately, this can lead to misconfiguration or miscompilation of software as configure
+tests may then return the wrong result.
+
+For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
+or the (new) c-std-porting mailing list [3].
+
+[0] https://lwn.net/Articles/913505/
+[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
+[2] https://wiki.gentoo.org/wiki/Modern_C_porting
+[3] hosted at lists.linux.dev.
+--- a/configure.ac
++++ b/configure.ac
+@@ -539,6 +539,7 @@ AC_CACHE_CHECK([whether TUN/TAP is supported],
+ #include <net/if.h>
+ #include <net/if_tun.h>
+ #endif
++ #include <string.h>
+ ], [
+ struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
diff --git a/app-emulation/aranym/files/aranym-1.1.0-libcwrap.patch b/app-emulation/aranym/files/aranym-1.1.0-libcwrap.patch
new file mode 100644
index 000000000000..39ef32c7cc41
--- /dev/null
+++ b/app-emulation/aranym/files/aranym-1.1.0-libcwrap.patch
@@ -0,0 +1,24 @@
+From baa00c51d3cd63602912ee1b252fa774a43b042f Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 16 Apr 2022 10:41:44 +0100
+Subject: [PATCH] Use libcwrap.h specifically with glibc, not just Linux, to
+ fix musl
+
+---
+ src/include/linux/libcwrap.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/include/linux/libcwrap.h b/src/include/linux/libcwrap.h
+index f68bafb1..9c5c6b8e 100644
+--- a/src/include/linux/libcwrap.h
++++ b/src/include/linux/libcwrap.h
+@@ -1,5 +1,5 @@
+ /* glibc bindings for target ABI version glibc 2.11 */
+-#if defined(__linux__) && !defined (__LIBC_CUSTOM_BINDINGS_H__) && !defined(__ANDROID__)
++#if defined(__GLIBC__) && defined(__linux__) && !defined (__LIBC_CUSTOM_BINDINGS_H__) && !defined(__ANDROID__)
+
+ #if defined (__cplusplus)
+ extern "C" {
+--
+2.34.1
+
diff --git a/app-emulation/aranym/metadata.xml b/app-emulation/aranym/metadata.xml
index a9d26d2bbfb7..34e1093dcb4b 100644
--- a/app-emulation/aranym/metadata.xml
+++ b/app-emulation/aranym/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/app-emulation/bochs/Manifest b/app-emulation/bochs/Manifest
index 2dc0bd9aff99..37499a1033c0 100644
--- a/app-emulation/bochs/Manifest
+++ b/app-emulation/bochs/Manifest
@@ -1 +1,2 @@
DIST bochs-2.6.10.tar.gz 5282176 BLAKE2B 9f75d5afd6bad9f91eb18dc0bd5c9ed998bf12077d3e8d944769055f0def1eed019756346071d3809d492c54177ec798e739259ee13f67ff4760744377dc877c SHA512 eff422cadc3e0db7a47c4015a59ca0fa8caf88ed3026706c1f766e802449ec8e4798e5f147a583e1cfbbc578f71da8800542c0e1f4d04bc2dea77955855e8689
+DIST bochs-2.7.tar.gz 5298413 BLAKE2B 570ac0fec74b8e79a8e78d32a1a8655b8e3a202a3247407a45b66991598486bd6c566711a1f8e18e717d4f2119b82ae03bf4a792eebdd25a6e7ca4dedb3901ab SHA512 d43bd557316dc370ba1c317f5c3292f724460515db01316614b2d585b2760120cadd1d27a286083ac3e6f57466ed889959abd7fe960c219c149dab9a053c6967
diff --git a/app-emulation/bochs/bochs-2.6.10.ebuild b/app-emulation/bochs/bochs-2.6.10.ebuild
index c4f9fde9ba89..da275ab22599 100644
--- a/app-emulation/bochs/bochs-2.6.10.ebuild
+++ b/app-emulation/bochs/bochs-2.6.10.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="LGPL-ed pc emulator"
HOMEPAGE="http://bochs.sourceforge.net/"
-SRC_URI="mirror://sourceforge/bochs/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/bochs/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -33,7 +33,6 @@ DEPEND="${RDEPEND}
"
BDEPEND="
doc? ( app-text/docbook-sgml-utils )
- sys-apps/sed
>=app-text/opensp-1.5
"
diff --git a/app-emulation/bochs/bochs-2.7.ebuild b/app-emulation/bochs/bochs-2.7.ebuild
new file mode 100644
index 000000000000..cbfb55b92ffe
--- /dev/null
+++ b/app-emulation/bochs/bochs-2.7.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LGPL-ed pc emulator"
+HOMEPAGE="http://bochs.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/bochs/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+IUSE="3dnow avx debugger doc gdb ncurses readline sdl +smp vnc X +x86-64"
+REQUIRED_USE="
+ avx? ( x86-64 )
+ gdb? ( !debugger !smp )
+ debugger? ( !gdb )
+"
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ readline? ( sys-libs/readline:= )
+ sdl? ( media-libs/libsdl )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXpm
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ >=app-text/opensp-1.5
+ doc? ( app-text/docbook-sgml-utils )
+"
+
+src_prepare() {
+ default
+
+ sed -i "s:^docdir.*:docdir = ${EPREFIX}/usr/share/doc/${PF}:" \
+ Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --enable-all-optimizations \
+ --enable-idle-hack \
+ --enable-cdrom \
+ --enable-clgd54xx \
+ --enable-cpu-level=6 \
+ --enable-e1000 \
+ --enable-gameport \
+ --enable-iodebug \
+ --enable-monitor-mwait \
+ --enable-ne2000 \
+ --enable-plugins \
+ --enable-pci \
+ --enable-pnic \
+ --enable-raw-serial \
+ --enable-sb16=linux \
+ --enable-usb \
+ --enable-usb-ohci \
+ --enable-usb-xhci \
+ --prefix=/usr \
+ --with-nogui \
+ --without-wx \
+ $(use_enable 3dnow) \
+ $(use_enable avx) \
+ $(use_enable debugger) \
+ $(use_enable doc docbook) \
+ $(use_enable gdb gdb-stub) \
+ $(use_enable readline) \
+ $(use_enable smp) \
+ $(use_enable x86-64) \
+ $(use_with ncurses term) \
+ $(use_with sdl) \
+ $(use_with vnc rfb) \
+ $(use_with X x) \
+ $(use_with X x11)
+}
diff --git a/app-emulation/bochs/bochs-9999.ebuild b/app-emulation/bochs/bochs-9999.ebuild
index fa7208ddc58f..280702aad06e 100644
--- a/app-emulation/bochs/bochs-9999.ebuild
+++ b/app-emulation/bochs/bochs-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,14 +7,13 @@ inherit subversion
DESCRIPTION="LGPL-ed pc emulator"
HOMEPAGE="http://bochs.sourceforge.net/"
-#SRC_URI="mirror://sourceforge/bochs/${P}.tar.gz"
+#SRC_URI="https://downloads.sourceforge.net/bochs/${P}.tar.gz"
ESVN_REPO_URI="svn://svn.code.sf.net/p/bochs/code/trunk/bochs"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS=""
-IUSE="3dnow avx debugger doc gdb ncurses readline svga sdl +smp vnc X +x86-64"
+IUSE="3dnow avx debugger doc gdb ncurses readline sdl +smp vnc X +x86-64"
REQUIRED_USE="
avx? ( x86-64 )
gdb? ( !debugger !smp )
@@ -22,26 +21,27 @@ REQUIRED_USE="
"
RDEPEND="
- X? ( x11-libs/libICE
+ ncurses? ( sys-libs/ncurses:= )
+ readline? ( sys-libs/readline:= )
+ sdl? ( media-libs/libsdl )
+ X? (
+ x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
- x11-libs/libXpm )
- sdl? ( media-libs/libsdl )
- svga? ( media-libs/svgalib )
- readline? ( sys-libs/readline:= )
- ncurses? ( sys-libs/ncurses:= )
+ x11-libs/libXpm
+ )
"
DEPEND="${RDEPEND}
X? ( x11-base/xorg-proto )
"
BDEPEND="
- doc? ( app-text/docbook-sgml-utils )
- sys-apps/sed
>=app-text/opensp-1.5
+ doc? ( app-text/docbook-sgml-utils )
"
src_prepare() {
default
+
sed -i "s:^docdir.*:docdir = ${EPREFIX}/usr/share/doc/${PF}:" \
Makefile.in || die
}
@@ -53,7 +53,6 @@ src_configure() {
--enable-cdrom \
--enable-clgd54xx \
--enable-cpu-level=6 \
- --enable-disasm \
--enable-e1000 \
--enable-gameport \
--enable-iodebug \
@@ -80,9 +79,7 @@ src_configure() {
$(use_enable x86-64) \
$(use_with ncurses term) \
$(use_with sdl) \
- $(use_with svga) \
$(use_with vnc rfb) \
$(use_with X x) \
- $(use_with X x11) \
- ${myconf}
+ $(use_with X x11)
}
diff --git a/app-emulation/bochs/metadata.xml b/app-emulation/bochs/metadata.xml
index 4e953a303483..41f8336a25e7 100644
--- a/app-emulation/bochs/metadata.xml
+++ b/app-emulation/bochs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lu_zero@gentoo.org</email>
diff --git a/app-emulation/buildah/Manifest b/app-emulation/buildah/Manifest
deleted file mode 100644
index e615275cd360..000000000000
--- a/app-emulation/buildah/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST buildah-1.16.1.tar.gz 10525480 BLAKE2B d7a174049b9a99d11fa31a1b52fa6acfe037197171c7112607d755c788509b0798af315d1fde5c229bd6e029fdd3e57ae93042044f373d4ff63fcb121264730d SHA512 c17358d71e9102ef5da530df54648eaa13a1384b06cd43fe74094cdbaa2dfda6aa6d1a218fb88e12898ae4b9dca2d8c555643326779c5f09b6a118f0a440d17a
-DIST buildah-1.19.6.tar.gz 10815708 BLAKE2B c5ad1405d907f6d5973f55c15b86e4341dc4c7c0db32854b5b54655fe1af1606b1206f3c7a3e86f83962c2ab1355c9e2b770ada97abfd9b9f8f231bd4b77e981 SHA512 81a865b795588b86a61fdada40045c06f9f3bbf8bdc3f6e4c70a9e4c7b28bf3fc31dd080c9f7555a8924f8bffac10fad776275619053fee8039176d6d6b69571
diff --git a/app-emulation/buildah/buildah-1.16.1.ebuild b/app-emulation/buildah/buildah-1.16.1.ebuild
deleted file mode 100644
index 1389caa53b6a..000000000000
--- a/app-emulation/buildah/buildah-1.16.1.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 ~arm64"
-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=0de2694a2e
-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 bin/{${PN},imgtype}
- dobashcomp contrib/completions/bash/buildah
-}
-
-src_test() {
- emake test-unit
-}
diff --git a/app-emulation/buildah/buildah-1.19.6.ebuild b/app-emulation/buildah/buildah-1.19.6.ebuild
deleted file mode 100644
index dd54c70e89b9..000000000000
--- a/app-emulation/buildah/buildah-1.19.6.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit bash-completion-r1 go-module
-
-KEYWORDS="~amd64 ~arm64"
-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=7aedb16428
-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 bin/{${PN},imgtype}
- dobashcomp contrib/completions/bash/buildah
-}
-
-src_test() {
- emake test-unit
-}
diff --git a/app-emulation/buildah/metadata.xml b/app-emulation/buildah/metadata.xml
deleted file mode 100644
index 491730ac55c1..000000000000
--- a/app-emulation/buildah/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="github">containers/buildah</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/cadvisor/Manifest b/app-emulation/cadvisor/Manifest
deleted file mode 100644
index c86bf301824f..000000000000
--- a/app-emulation/cadvisor/Manifest
+++ /dev/null
@@ -1,410 +0,0 @@
-DIST bazil.org%2Ffuse%2F@v%2Fv0.0.0-20160811212531-371fbbdaa898.mod 22 BLAKE2B c2b56c0b043a2c0225c3b4142f179a2d2e4938dad64b95c8662a6d641e69a455b50ed79c66a3bcc10982792d3b7742ac96a2d74eefa7fec40a7c3146e5c949cd SHA512 7b3ef87f98485bb9ec325680f57d43a9bd76e90bdcfb1e798458f28f7d3addf91dbb6a07b654749468860981413ad2267df2d5f3535c85579e9f79d9328d355c
-DIST cadvisor-0.36.0.tar.gz 6182273 BLAKE2B 0406bd88c6595f23de06be1e63e7c0affda7f94a3bbbb1b9e390f2747fdd3ef3199622a5003b79ed083a0cd80e6c013d7776e18269044150dafb98341c54425b SHA512 2da8a2e81d33b97e6f7c5ba3982e51b6d87748b138345ff94eb7671df851f0a535ceeef61358b0ee43bc161a88becdb153065bd7ff8fc9d7c390a4629ad10f02
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.1.1-0.20160913182117-3b1ae45394a2.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.1.1-0.20160913182117-3b1ae45394a2.zip 889396 BLAKE2B 37e1420148340c6d59d3bdc554c8d92ccce4dc145403915d067fe18966fa8baea5a3090714dc8d27c8c24831ca71213c11f1c719d0044647f887590a9b5bcc62 SHA512 f5d89d8eed8a58bfba541ab1102db390e6b4e7ce181f9d6e166c03685cedb1974169b298074bf8c5b2ac7c1e965e0e9794d379a9bb6537a3a11deab41fbec772
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.zip 2508208 BLAKE2B d17c22f3d8e3f0b52bab350e86c8fe29ea474e104ba89e3238e71dbd29139717a0d26586589f47303da4eb743fe86a76f727b772707584aba5bf76d8f5ef1969 SHA512 6dc6f4229011d8606e1eb3c046640f6938dae2e12a1b0a9e2a22b7d26b4ab50051cee09d17fc05298ef5d4901a6b7e12d4b06b8b8eac6b1e71442653eb25b541
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.mod 36 BLAKE2B 52a2c5272e004524397df00dfa03b4c2d2ebd985a0c974236aad6b847d6b2b4b7c9b69ef48e263f4c67983b845b020d2004fe749b46fee3c0525da0416b20f3e SHA512 350a16c68553738ce8c2f4a6ac8beba66a7dcf2386a42aff938ebaa3bdc526bda8e5c51c493331eda4666cbcf8411ee7ca3aeb0768cc4f557f34585960f9eb84
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.zip 32735 BLAKE2B 5de266d7400ae80c027f209cea91c911e22b0ff4fc6a2e964e8906f1a86cc6905b9c12d2588d5fdc91d0d8e9501a0ddf2f7a376cca9935d21943386c3ef31979 SHA512 72621865ffc0cadd27603e2f4032f1cd9c9d8bdcb920b3ca9fd02dbf88e52876a6f092c5b74eceb136021c514b68dc599f0cbbf18ed1620b827d46462aa55e32
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.3.2.mod 37 BLAKE2B 21cbcf43ce9e4dc3485c260f4b20ae34fa1aa41676ccdc1f4bd28fdbd9402db8c1f77d4c644e5044a0f2cc44e06a6109791f6d6cc4620b32e1d2c36426df65a5 SHA512 752909cad98e7eafe9ff00951c27d955242d3d76c99c3e52427987f1c81720af76ad1da5e4d67e31bc192822b7de299edeb2077b248c0f070b6adfde4e9b8ec2
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.3.2.zip 85048 BLAKE2B add5bc63d378f3bcb73a571f9760a48368c6f0d0ca5fb304c94e2754315845ee170c24ea2bec180d594c47c513565f3213e2369cd1429b1b52771c3bd9a53356 SHA512 18e3af1670149982591c99ae52682e527e2324fa4e6ce8a59efe153f34557c867489ae77a0de16876fd0b24c455407808656dc3278760d41de816a4d919e030d
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20190919025122-fc70bd9a86b5.mod 177 BLAKE2B f2d2eb41aaa0f3f47a75ab260a461e6df690c34e7e817ec61afc7854ae26bec641cddf4f4481b5b3b27394e303d1fb1c4a9864f4de2d6c01f33e3fa0521b05bc SHA512 584c9a707b6115caac28ff373974faa59d12531962997f9640a4172b020f72c5d527355f035449a767d65ce426fc9705c143a7bd8afb5058c9ece241c9ad5d1f
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20190919025122-fc70bd9a86b5.zip 162259 BLAKE2B 71daa9e2a01282e0f29e7f47081f8e5cebb59a31837b2e70b2b52d1ab371b351f6f00a8a0cdf33efaf0529f6ea5e0230ef9a35209dcd7600ad1204cadefa53a2 SHA512 31cef74693dcc7ff3e5e3542654b4174eb8ce7fd3a8a763df52414c99e01679404f2a5e6a1ab9cdbfed958b588e6584feeb8676ef9e149c4d24ae095dd654b64
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.7.mod 1988 BLAKE2B e89ecdb4644e50e2cd545eb43452729d909745705f5254a59547420baf3da357e77bf5d73b220da6899fe08a4eb034b0d1815702dceda20ada57e277b83b9954 SHA512 67df97dbec1c4a0c0f84551ea80df88a827c9ff4467614ef61544a611e19de6d063af40cf33673621f2e52e198595b61c8d6e5d732fe87f00eb7c5bd653e0399
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.7.zip 552856 BLAKE2B ec7ad9c6e4c49c04f8aaca1c42e198027e5db5abd79ed84f1bc8dcef2e26d3e386e02554285b666eaed6dae5ac9bec5f0e9c01cb703585921f2834cd8f49b65e SHA512 5d4575dc4e98137cfacd463cabbaefe2df0e49b81af900e9c43d2f98fe2aa4a02323e395b390bdf4c05bdb1d470f8fd2f2766123d27360541f249cde5e91c738
-DIST github.com%2F!nvveen%2F!gotty%2F@v%2Fv0.0.0-20120604004816-cd527374f1e5.mod 31 BLAKE2B a9858e56714c0ef3f20576058bbad347aa76d00379ba71c7944479abe032692c3f0d33303ca82ad6d140ff529b0c6bf23a844c4c0b8b655c4fd23f6df414ff02 SHA512 ee0d1ac5d8bed0498ae9b304c1f3b07566a2e192b6f7cf706b4d801e74e62ad3157b101be9878733b48a06d5aaec3ee916336c7f73bf155d63f606d039f8c6e5
-DIST github.com%2F!nvveen%2F!gotty%2F@v%2Fv0.0.0-20120604004816-cd527374f1e5.zip 12531 BLAKE2B 0435dd738f6fe3b88b291f0744bc33659a47191cd6a091ca471f34690078b3d376e8794ac47133d2275d409646a28ee3899965c90037af293628f7b16543a23a SHA512 9f57f79977f08762c6b6cdc5bbe94f00b578046e08832afad7b5d9b860ba4ce23f13252a39b144f9878c5c1433e1fe8c44de465591c19549d686abe7a753f3b2
-DIST github.com%2F!rican7%2Fretry%2F@v%2Fv0.1.1-0.20160712041035-272ad122d6e5.mod 31 BLAKE2B 012006f0261236f5728b4c28b3f8aa7e4d0bf60599990328b81e9db5f11ed24fd8d82c3b2cf3c72f35bac3f31dd0f41dd4768b27d379a67346d968b32e814c75 SHA512 68c463f83b740db632f4e26bee20bfa047d1c4b3ca49dabc2dbd0d684f82bab86fc7368eed0abcaf970d1d46f86b22fe063c97dc563bc12e96656df79fdeaf17
-DIST github.com%2F!rican7%2Fretry%2F@v%2Fv0.1.1-0.20160712041035-272ad122d6e5.zip 12553 BLAKE2B 02ef5505656d09b5bda2db7f598160d8d502aa5cdb219549b1ace34871f456d08e849e8afbd28bd7c2b5cc5a90afbc749ee959a202685f64713ac050ac81296f SHA512 1b81f66f1689dbb10aa0befad35e509a74c71f5db3b41691f02cf2db6b6c2e5b4092c13fc4bb0d39fa2d54fef47e52ac08f1628777a47f109285592cc4177887
-DIST github.com%2F!sean!dolphin%2Fbqschema%2F@v%2Fv0.0.0-20150424181127-f92a08f515e1.mod 39 BLAKE2B 66aba0853e0d4cc0f2a8dfdb226b3228bc16b3058a7731a60a9308f89de0c5a79997221be7e5a78268015ee19faf7dbd9ecfd4ca9dd2044ea1d6b0ab9a044ca7 SHA512 266093f2ee3e775bd66d952fb6e6634f42f58e05b687bd52d16088e76a71fd2a6045d02dc87900c80beef294bcf17bf09634712cc3e3ad1f2a6ee1cbf7cfcf48
-DIST github.com%2F!sean!dolphin%2Fbqschema%2F@v%2Fv0.0.0-20150424181127-f92a08f515e1.zip 11346 BLAKE2B a30d93f0e3f7639a4b379b82d90eeeb5712342fceb7b98d1f62faa53eabd94402fb8ea60ee9d2211c1b4b8e67eb2b03e2d76034a2b8cc25431a878b38425a68e SHA512 54aa484e0b6c80798665c1ddb694b0caf68809f542dedd35b536e588f942081cf967b3edb6e161964c19f883b1c560b76f9ada2f9ebf7afe8234398a39c92649
-DIST github.com%2F!shopify%2Fsarama%2F@v%2Fv1.8.0.mod 33 BLAKE2B 7013f44d03c22c21595c5369c52e1538a526891c9fc4cccac37373504f13c66d7c504552251f46632917739dfa1d6c3a15e15aec4dc03b9c69902b0bcfc8785c SHA512 db3271d8abd514934ce5d06fd20f7490db8368e57822a2379bbfd4ccb94e67354400d487d388a57467a5a16cec339cbae9488cecf82e41d85918639bedaa0a87
-DIST github.com%2F!shopify%2Fsarama%2F@v%2Fv1.8.0.zip 160528 BLAKE2B 41e98a255190d3f4b96cb5070bc09f997da4d6273e9b19a8f124372a656444b21d10c5d733667cacf7c68c1e28ea4d4c24d77a3856f79c40d83094af3f431181 SHA512 40a346aa828a45555dd0318bb1eaea5f07a02b9fb9cc446745a57e8c55c47629a277bc6f85e561ee57a014fc6dd7299fcadb856594d8d36b262cd507cad87be1
-DIST github.com%2F!shopify%2Ftoxiproxy%2F@v%2Fv2.1.4+incompatible.mod 36 BLAKE2B af7b84d9f1cd163555b32bcf960b28b64a5689a1c9694f430af310f5041cd967fcf0d6c1a6c4020478544d347e4ba5b2fd16a6ef54258d33314ee0ad9239752c SHA512 917ada7ac198a013d2b090dfc59a45bd2619dcb7227df1521ca38a0d822fab12ea8c158c526257fef4ef506af29d9fa678e8dc2a73fc13c8dfeb57b398801744
-DIST github.com%2F!shopify%2Ftoxiproxy%2F@v%2Fv2.1.4+incompatible.zip 64188 BLAKE2B 8a83e77b1720a9c4d2004f8f8c14fbb8208687f54a5f4f09dda758c2516c0d907a5734c2a8d566b0461810899cc8e0877819612cd2d715220ac9da21d9cb4970 SHA512 89d7b18a1eda0e215851b894ed019d27cb302650ad12eb07edeb49e663ac0910be41a0e4281e1e9b7c1ff2948a74e174d47ae5dbd7956e946c7d3c72633d0a24
-DIST github.com%2Fabbot%2Fgo-http-auth%2F@v%2Fv0.0.0-20140618235127-c0ef4539dfab.mod 37 BLAKE2B c2092425b8c00b2d65f9acd280a767c1688bf3836e447a49d9e16e1f36984d6f0a8efffe35ed40fda5553a4bf45202f716e0471dd95086064c67da107a535730 SHA512 37c17489e7a493c676569f210c4909a5dbe595992919a65b1e5e5111fe39c567e8e8238e31d9e034b64fb72f5c9addc4ed958b3e7ef264ba9387b24760ddff78
-DIST github.com%2Fabbot%2Fgo-http-auth%2F@v%2Fv0.0.0-20140618235127-c0ef4539dfab.zip 18902 BLAKE2B 733bee970c2d5937dd2e3a8cd359bf5b2d4ae05a55f1686ef17210b7c381798142604ac5324ee32182486a36c1442f6b859dedbe849b2d0403b21a2386da063c SHA512 34237a94ca69ec91af68d03658a2c05b45b09b7a41cc4c31823dff6d17b0619b59c562bb732bb31e21882200ea44e6cfcbf2ab012be9481f3b49e2cf48f7c5f1
-DIST github.com%2Faws%2Faws-sdk-go%2F@v%2Fv1.6.10.mod 33 BLAKE2B 6d4b4fe348c4fc9c7572c5b5b701116eb294cb4879799b76e31b538cd27822723e789e9db75468cb93c150c7d427b4db38d33899fc42a0d930413785524fe8cf SHA512 3f13e3b470e58f31e1a5b158363e141fa75bb44f639d268aca11cc82ebe41a12e840f978c14966dab8642652e2a1f564df3ff532dbfdd06fc27b1defbb002fca
-DIST github.com%2Faws%2Faws-sdk-go%2F@v%2Fv1.6.10.zip 6241755 BLAKE2B f1e5c9962d054c8668fc83ff9419bf8620eca83be07d87a07c372df8d1bb26311bee73c751307784bad337a5662a0486acdc3cfe3f5447c8f162e97be40c7698 SHA512 0448732a346599899674fa1b24ae67a3a1dec820015fe91dd917f7f0d33cecf2e3c62ec40bc62a253def36d9e2c7f0ecb34d688d2aa00c17861074fb473fdeba
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20150223135152-b965b613227f.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20150223135152-b965b613227f.zip 13772 BLAKE2B e3dc57d4d51cf851aec2eb2b5741b235f7a9f79a9eee2f063ea39c68cf93ebd253934939b75d791f29b011cfe1ec13c84f9877a29a4b7dc49ed201e51cc2a3ea SHA512 1c233df9b1f88795039983f03b86de76d859c397fc91c524cccce34937b31d959c90400cd2acccb11b1c5fef3f52308bd571d95d7de940e8e668dee013772b1f
-DIST github.com%2Fblang%2Fsemver%2F@v%2Fv3.1.0+incompatible.mod 31 BLAKE2B 15785a01a9f07d2cfe324a1ece5c8188395300b11821621fe13427b702cb9f452ebe125566c3c2648d2d83139add9ad6224d00536aaea7b16306eb62f67f8184 SHA512 5f7f52012aa82bdc43bd89d1491fbe00091299554bd85dbfc07f0cc757fcf44f4499df97a4f19c234ce70fbb7af0f4c54c13ffd547ef0a733365ea9c68dd0297
-DIST github.com%2Fblang%2Fsemver%2F@v%2Fv3.1.0+incompatible.zip 16367 BLAKE2B 848e8bc2105e93e6cffd9af9773b1e188a26666f03884a46aa0413fa8ba1065a2256a9ac8418eb12e465e456fe5d269becae7b67c63fbee6b2d29ea6254a5389 SHA512 515ee2520b32394c1050f67e0ca4306991b715a2bbab17ad94dda4dbe718fdffe363203851a13ad44371ad69c10a9b2a4e9fc0d52b2f96996f4b188c4ecf03c5
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fcheckpoint-restore%2Fgo-criu%2F@v%2Fv0.0.0-20190109184317-bdb7599cd87b.mod 45 BLAKE2B f83f212c68ab30e030daa35c16b4e388d6be9822f6bb3c424fed3f3f7272c1331017a90d96d9bd63f375c1e04cc437748be3cbed0bda68043c6f6d1e10845f43 SHA512 8da8c7a2809f2568d2f3fb1d5918e4ab002370919f9dbe3123c4a92dbed79425c129cf9a6cec9a41f2a280f3c0a5d685aa886c961fb1b5c980c29150ef6a9619
-DIST github.com%2Fcheckpoint-restore%2Fgo-criu%2F@v%2Fv0.0.0-20190109184317-bdb7599cd87b.zip 30683 BLAKE2B 1229a9ffcdd787aef5dd65c8e391bd9975e59b87b1f0080cdb9acaa718ab554faed007f3a8a89691f8321781ca08fa29c70d638464dac0c7822b87c3b9712e9a SHA512 78578aab606d9e0c903268c72279b86f8e9c92d6d2c2803ca98196f0e7bd6c0d05217b4b74bccf25a9234f4bf69879e14c53f6bd37d47aad11f5704797c900df
-DIST github.com%2Fcilium%2Febpf%2F@v%2Fv0.0.0-20191113100448-d9fb101ca1fb.mod 135 BLAKE2B 1b785fb4e0af530378f15100e4523543e22b2f5f7f350eb46cb16290c1e2f55b18a9f8894024a472c7e9d45deacb1e7a3828a54368ce1ef83095916e2262c194 SHA512 242e8e3859ac02adf7d059da6d2fd5f774892e8a11b69d8e22bd2de43c534f7d4a472e9b3bde5e5bac106211f41546614cefd078ac23115557e26c3d8457d7d0
-DIST github.com%2Fcilium%2Febpf%2F@v%2Fv0.0.0-20191113100448-d9fb101ca1fb.zip 96807 BLAKE2B d15a37efdd5e99f037e0d24f556ef8c2903769ba5e8d977cce182d8943ebc249597862ccd782ef2a543e3241fe0060851fb0ae9e1d5e8833542cb35f6feecd90 SHA512 333dfca246ee2e738167cccae976b173a0a01c088205e37aecee075b5d7e5ccf9ca7cb1641e43368d72dd1e4059472e78924d9b988f8ae2fdac77ea83dbe8319
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20190919134610-bf292b21730f.mod 411 BLAKE2B aaed1a7526861470d053cfa204fe5af2ba4ebca024322c8007d3660acce6fdca03264a12ca0bedcb6fe1f0cc5c78de920f8e8e19a36b12e1604cc3274bb88733 SHA512 32f6adadbc5dc2c9a57c698ba76fa4fd83637e67f58da55c6a22d4faad9f705fef7a472c2b2b2b94b2bba2b839b85856254fac4681dc9770893afa940bc734a5
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20190919134610-bf292b21730f.zip 75084 BLAKE2B 873262c8f3527814f7d3210753cb811f625126cafe63016e5bb3ac9df34217143e55f11f7ca0f63b51c95b17859eddfb25ac24daf75fb9f19898d264fb71d9fb SHA512 cf73ed0a23c1a392935706058d4d0fc24f077b775d31e6f56d81cedfa259be9b0203a8ddfb3f31bfcb07951b02c3c7ab74e8ea8f601ca75befc6afadb321f37e
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20200108155730-918ed86e29cc.mod 575 BLAKE2B f19cf7d6c982a3274431d1717ef475e66946e4cd691249e7510174bfda7f06680cc0f939bd939121e196c1b753453ed044b7bc7354f027dc49ad287d3ea273ae SHA512 e821fbab7a09b8529b2ddda45a53a4b2d7f99d89be7878c6cee893b91b8530cc25fcbcce64a17adc87ed2635a4ea12ecb874fa1ac923ba2869385992d37f7cfe
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20200108155730-918ed86e29cc.zip 125872 BLAKE2B 04d2e536305a951bb328ae1917959aec55cf48dfbf1f501405eef7690cbd9724c80bff26b7b21eb2933fd30a6516d4d5bd3d82aa91743f0133ea64d025735db8 SHA512 a6e879e874bd978bf7d88fec957c2b2102a68b911a5b633a503b7d2b8406ae7f02d347ef65878e477a7954ab16562db0cbe9db4d8ac7f9025275231990409145
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20170925154832-84eeaae905fa.mod 37 BLAKE2B 7037e2b6c6f7927a37d8298f91976232fac6e1723d9ffda59b2c01bf81c24acaf124fceeddd8791b6a6bb1e81b03e1bd5ba88ec9613784462a235bdfdea76498 SHA512 3d4ac776b750aac30718ecb1a3efdb383cf39d0838ca60db5ba266152baa1dcbee739a8f384965b5b8d39b9d9b18561ac317eb8c64c61076986db66bc10bc1dc
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20170925154832-84eeaae905fa.zip 17672 BLAKE2B fcc09e0f6e7ce1c47da9f334f3de6998f32789ef6e15b32e16c50514fd7d8972095d9c6b45dc783ce775c42d63527fc467bad67608a01f417efdf4bd9a6f64cb SHA512 be49f73f1dcae8c2a982237b6f35329a7e5a7b2637cb6536ed2701f4682d1bf12c398ddfa59c3910055606e9cf6d08f730be20b5f994753cc93527357941ee2e
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20180822173158-c12b1e7919c1.mod 37 BLAKE2B 7037e2b6c6f7927a37d8298f91976232fac6e1723d9ffda59b2c01bf81c24acaf124fceeddd8791b6a6bb1e81b03e1bd5ba88ec9613784462a235bdfdea76498 SHA512 3d4ac776b750aac30718ecb1a3efdb383cf39d0838ca60db5ba266152baa1dcbee739a8f384965b5b8d39b9d9b18561ac317eb8c64c61076986db66bc10bc1dc
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20180822173158-c12b1e7919c1.zip 23623 BLAKE2B 530b1f6c1520b33a93dd4036000ac8b227d4cefdd8cd3fa877d640cc29dc822dd5d5195015fe75e7e9efacf19a54f5190ae5eaab3f63c5e4d7b2f356c74f0349 SHA512 ed79b9255d477bcaa1be18790b4f258b21f41fc97deae532a52e5a5c2f19e2d9e326547aa1735c1b1d77a0b1f00efdd3ceb6a201bb8c1fffb1af1f8ac6e322d0
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.0.2.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.0.2.zip 1992081 BLAKE2B ae493ccd96fc8dde5f5b4f6499ae80d3ab3e4cdfe5074505fd69fcc1c17a4dce3e4da730cbf1db15f4373219fb5e96da592e0d7d6751aba6b666d0d485f88d79 SHA512 45b5bb1fcd240f11caf665e0e715e6541d27888e9b240898eca4283860de912cc0bf499284d3e979c81c637aee8e6fe11dd35c683ab70484887eb13f5d62ed88
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.0-beta.2.0.20190828155532-0293cbd26c69.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.2.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.2.zip 1650463 BLAKE2B 8958a1e2bf03007734564896962be34189c6b56d1674a771819e6bee9ede0cb78601ca9f5888ec88b251b9d1bdab2e70190d0203b7694b4b30545003813b45c9 SHA512 5a355ead5a6996bd85e4c45d026371cce836a9379de65adf7f39596d9332c51f5cfdacfec66ed7e8efe7a49532b927a0ee53359f52178aa6df24787a0fc11068
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.3.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.3.zip 1652053 BLAKE2B 2dce8684aba3184342c9019b4e554b9e79855819da1c785e2e81b47d90dbd793504fcbcd7f520d8d57f3a4aa3f7753fd8f9c516620794bb76e38044533552e14 SHA512 42543e7a2ef51fef0e2890b8b803af947a39a9baa8e6792f86b8a4836fc97b0c0558b1ba6cd40ec99fc56ee9ae0ffff04e8d5cb39464da528b90a02b2bd95879
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20190426062206-aaeac12a7ffc.mod 40 BLAKE2B d99a912436af30ef3f5fd53f6348367016633170289e08c271f0148a47db1f9c5ac5da362fcc3f6fa5a7e7977377299adcffe63e9c3315c45ec173d55248006c SHA512 442fc394b0be5c87d2b9edc858f47d52b1027acf1fade259879bac7c598e51692199cba7d4e175f21f772193f1570e47e82d6c6c6fa160e253eb49b09cbca793
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200107194136-26c1120b8d41.mod 1000 BLAKE2B 595d0a4ca474b1143bfaff75d8bb1089953f1b68da5b593966f85461b5a20ea0a8ebefe6340ae8747b12e9fda5a13dff135e751262f4efbf7142993938a103a8 SHA512 b6ec25dca49d545033cf2e97f7907e4709103e1bd76b341a27511c25df44788246d9788281d2f2636bfc7b4f39ac7fb25fc1de293917bd68ebaec92babea8557
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200107194136-26c1120b8d41.zip 137748 BLAKE2B 6ccbe78dd7b1773d54ffb28aaede1b1a10ced9228c4ba511be4b5c20940f7d8551dea187254c9aea915b4f3095ea415bae6ea7bc3df00f36966e29ef8309560a SHA512 38f840756874baeca822de082893f9a5774b29164f9b798660adbc99122f8c4d42be0e0538bf5d1c4c428ee2f2f2af5592b9eba4e2b5f01a74f4e8b591212592
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20190226154929-a9fb20d87448.mod 34 BLAKE2B 24e82d551cc42b7a7c8c830ff4941074686a06dfc753202e49bdf1c7d5f7b960d0ddcf73f618585b6dc925cde9cbf123196fc4b45cba6bff79a16500f49c178e SHA512 9ae770f38dd2c9560c8c3e858890a835ed848d5434a289d889c312d681af748b11471efa47739b08ccc12beb6e9050d2f1104ac6299a50a83344f496af516761
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20191213151349-ff969a566b00.mod 175 BLAKE2B 1573b65ca6fa922fe9d47ba40920cc95f7f7f9135c729fe9d8f9c2723492a136033f6b16680bc5c405377ce7bf14db34d989c563af74bce702db0b5ab761bc13 SHA512 b227a5f0ea52840001d34ebdfb11b0209dad5dc49faa55c20f5d7283c67992f1e63e4325c4cda3a3e5b70cbc7231301ea448a7e272a5f864d78585cf938f0d2b
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20191213151349-ff969a566b00.zip 22168 BLAKE2B 9be413f55a84b6af8f8537fd3ad96c021cad01a27ebab1fb88f29b95c642c4f9aa55b9bc3110eb98d3042193485a8aa076184720158f5f6b07dc5010ac2d3279 SHA512 7b5005a900f3b8dc7ad910c0b864fa086eec1bdc4201b029ba09f63afa8711086086773ad84ed319ec328508c70cfd254cbceb68971a2e670afa94b3a284614f
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20180907222934-5a6d9f37cfa3.mod 37 BLAKE2B b3d06413bdfc072eba71c8b51cb7aaf27ca29ba736959bd0fc9ef2de8fe3dbf3f194cdff7d030aa259c8e78fcc9003dee040be0d1b858a677d9e306c89a3542b SHA512 62de290e5234d6bd82d9a865d1ff592736f075130d1c29e9d9f2544ca3f9514c4a81ce1a726cf8fc8be8404e8ca41a88958dac755174ef2c20ec9b455d0cbc50
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20190828154514-0e0f228740de.mod 35 BLAKE2B e2c6e0700e40d563dc690884628fa22b6dd56872a63ada54374c07cd6328aa332b6df2396300090da5c9f7ac730b6b9bd60dbc776557c4614d5ab3ce003579f2 SHA512 93f981daaa62351a480595cfb2feffad6c34770cf89f35399d777096fc524cafa50d0dd3f56231ae41b15e56061ab83f0f6829190730dbfc7f9fcd594af7b054
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20191028202541-4f1b8fe65a5c.mod 368 BLAKE2B 52b871af9fd9f2b71074286d0877d16dbf6e9395f18326cfee8cd1eb7339b4694bfb90ae4c843ae1f71cea664a64d4b090b3b8be7e72f01366424400ec2ff05a SHA512 1655c00f6600d5a2ce87971a893f5e23b4d40f1e49d62fc39916751fc8c5352766321761b1e4c5f321f8e205d5164409c964ec508c9cb7372bd182b850692045
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20191028202541-4f1b8fe65a5c.zip 45569 BLAKE2B 115f7ede07ac90d49016cfa0b025f0d8f4703ce661f7c678cf1ed4c76137770e637c468f604d92bc905e8be0a66d3317af94dbceb6781aae80f3f8f81169e9c1 SHA512 c97faa564c01661b4d8694f6dff0a73fa237427aded6709aa5be832f0f000ca55f80e02a1671f9b09e3fc265f8113a6237b7d942f521e55399b0086d0cd6b765
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20180627222232-a93fcdb778cd.mod 37 BLAKE2B 109f32f2dc537cfeff1699937e93eed980f34a37faa111ad3831be6dbbb1df965c56ef266deba48aa1390fd94bdedfda9ba3a51f4f6d9519ae24db6b99dfe1d4 SHA512 6485196f4703578401e82673647b49d58fe60d7f90c311294096504d3e11477c75fa50684f00c7b378b2566e6e8683cf18d99f2ac78043b077318a643fb11720
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20190911142611-5eb25027c9fd.mod 122 BLAKE2B 775bbfe519746bae037f93939baef72c091af97099c61ce8ac2e4ddc93a52ce06a4d4fccc52ae28f533da9c7aa147d9f302269d57448a003a695cc765d32cbc0 SHA512 a92ddbef593ef363aee93b81d810ff76b2df0a4155714d95dbae9d000edfcb4383953625becc3f24cbea19a77431cebc0767e40c746b6abf613ca5346f024370
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20190911142611-5eb25027c9fd.zip 12038 BLAKE2B 9a696cc9f413521860f0102e286746d4d2f86038335089e6d3e04be60ae3193747a4a7aa23c68245bdba909a3fcc9c3635d76170a3e9ac18ac259b6df1dd169e SHA512 47979bb6dab434002892b3d8ed3a49a3abb92e1dfcfcd80875eb5474cd2208edd73548a8792ef47a41f0033c4aaf813523d1bc7b68fcdba9d7154f4157cdf61f
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20160527140244-4484981625c1.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20160527140244-4484981625c1.zip 77401 BLAKE2B 9389afd7f0b14177f4e07b3777d6d6e732d79b491e72d066fce2abe0a8d6e94b7a52bafd8c55b184c285b2ffd228f26089d4506d0103c75084676105c7b1ce52 SHA512 3d8101acb510bcb07999baa511520835e861a673a2fd566ce8973b2bfb1b1fe03201124a0ac9591f16f3462521b32e157a72af5ccce3b07703832f2ddd853d7c
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.zip 109838 BLAKE2B 82e02c44f4fa60aa7257b79e385af47e23508e260415f0f768e4f7aac6a5962c713488458a50f1bc98308446ee3f45de973d5240811dc5a113e5b9577f33bab3 SHA512 7acd6ca00d067e6a81fbb12697ae9d46fa9880834934065549bb23671153012a8596d4c7875705578ca58a259ff81b1165e45aa65c93406d2c324c61954ea4df
-DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.0.0-20191111152658-2d78030078ef.mod 91 BLAKE2B fad30507d91fca15291c8f13100206c9d9eae4f73ca4034e37de10d1494b42b03535540ce704582cd7a4be4ffa2685f778ac9cd3aa647d6c48d8e6fe33a345cb SHA512 54e3700ced7222d086eac5a73a5973147473e9d063a7a8dd719bff2dbe3d61d9e4cd7427f30c926a2289ef53948f158bc09e189d9714f0437d446f7c30d0cc6e
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0-20190314233015-f79a8a8ca69d.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0-20190314233015-f79a8a8ca69d.zip 12266 BLAKE2B 93705895ca63c348ac5397fe8531214f5745a3be6f5760f9d3fbf67fd85b917dab4a2077376251a005bcf07450df1fe0b0114feacc5f92c6facbb2da637beacd SHA512 284116b4f2778ee7981e3aa5583c4e685afd8434e36ca647f0c72c5bb308e87bc3bfae8c83acd259c9da75549339aa382663b7103e4033b2418e314106923c0f
-DIST github.com%2Fcyphar%2Ffilepath-securejoin%2F@v%2Fv0.2.2-0.20170720062807-ae69057f2299.mod 45 BLAKE2B fd78b551df24aaa503a1e3a673291776e988c7975ac3bad69beadbec7ac5c85675da6e6da9deb4463535e1b0ef0a3e640df6e7ce771de71f033f0e7a3f67a1c1 SHA512 9d9af0844e5c76f84c3804b788cd643e461b02b8a00fa5a41a6238dd72dbada1bb03aa3e7e420f0c68d9926b9cbd2d159456f26ceb64f1c51162da939742d0fd
-DIST github.com%2Fcyphar%2Ffilepath-securejoin%2F@v%2Fv0.2.2-0.20170720062807-ae69057f2299.zip 9352 BLAKE2B a1364dccf9880c325bcb1bbd1cc2ed15a2ba7a1c50e27f2c8e98421ef320ec767fa5dc15414b34125326197e68832fab9d52f82533a5b785445dcb0c545439da SHA512 a7ad0a58946953dba6cff15a81a68e813b0391e78c4935ff9481ee746cb0081d609f9a3534047824a9ad49d0c47976b1cde5633fd72112503912051731899bc1
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.6.0-rc.1.0.20170726174610-edc3ab29cdff+incompatible.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.6.0-rc.1.0.20170726174610-edc3ab29cdff+incompatible.zip 670439 BLAKE2B 19d27f2608369a4564fb990c1cc7f59e92f229e6c793fd918bc53b63d30bf69de3034893c117e4fc100c3ac2019fba6d7027b0810c7c45a11c4a1c46a3924719 SHA512 c5e053079e297d5b7c8bbc147fa154291348e369393fa78de0c7c8f94f057ccd0dfff325cd275789026f33c56927c175bd1e8a2fec055cbdff2d8b74da917a0f
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1+incompatible.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1+incompatible.zip 662227 BLAKE2B e9c50aec1dd4d34aab11819bd341b1f0f6fdc32bac63124930d45f76f0259aa5e1e4781bb408411e643574112ecbe57c3b9c4c5fe59399c153d48dc5eb5bea41 SHA512 aff78c88f3bdb596f1855ab993d8ec3315de9d4809757e2cba6fe22ad4d5dc220242f90e73d9d0a33f9a13521705b82c8526082e26c752fb027dee4b28299d52
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1-0.20190205005809-0d3efadf0154+incompatible.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1-0.20190205005809-0d3efadf0154+incompatible.zip 681938 BLAKE2B 62693a6170e7f843812aed03d05965ef0a7f1d212029239924385746efbef5d4df3c649e14ae60977805063e521c0b5c68a42f32e3b8ae131b438da4d062269e SHA512 7280b01be97dba11cd18c2cf044dcd0edbe9ef09538966cc3d92d27400bc615f8106a858377e8f9c80453e8db0449829d4437fb371aed5bccda370f12479a621
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv0.7.3-0.20190327010347-be7ac8be2ae0.mod 32 BLAKE2B 60d7bedad25f2503b81b09e753b7f5aac1ce61c5b128e08dbb42f73cb5f3748d376aafcd475cda1f50f97a88790992ec920d2309e8b3faf914640ebdf4b21404 SHA512 ac7ef0a0baf8fd96efb31c685f838842cecc51e9332cafefab138f16438fe00962e91b31e53d93214ff9d18558634d4b9bed4a0a9567e06646da2d2bd3e9c439
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv0.7.3-0.20190327010347-be7ac8be2ae0.zip 3670933 BLAKE2B 781d56b59eff75e2188b5d36dfc78adde32c8056b853bde0e236261b96a55b8884f38afada9eee6897ab240f9d6a8d7a1de61f0a4d8cede90a3528dcbfc800bb SHA512 49871909bdcb08272ace18dae42d8e6cb4e9ce9e4b87d9a4039497252a3c0e6b5606e8a9c70c937375a4497c16be5a718cffda1b22fd718f5471121f012c61a5
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv1.4.2-0.20180612054059-a9fbbdc8dd87.mod 32 BLAKE2B 60d7bedad25f2503b81b09e753b7f5aac1ce61c5b128e08dbb42f73cb5f3748d376aafcd475cda1f50f97a88790992ec920d2309e8b3faf914640ebdf4b21404 SHA512 ac7ef0a0baf8fd96efb31c685f838842cecc51e9332cafefab138f16438fe00962e91b31e53d93214ff9d18558634d4b9bed4a0a9567e06646da2d2bd3e9c439
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv1.4.2-0.20180612054059-a9fbbdc8dd87.zip 3515250 BLAKE2B d0fd8d2399a52787c76c8a7fb09c05aa136c596fa8e09c3f4c5d856a3e2a4984fc7364547e6f05b78a2cc218eabcc3fb36cdadafff4c933800ca6380966d896e SHA512 3f0827865f72afe304ef4811c9bf8133faa859c206ff46c42614546c3ae8e847734e0acb49d45a0b6875b140668ee1a7fa0e5e7d67d726cb5b1a916499b52a47
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.3.0.mod 40 BLAKE2B 13f8b46e2e71edb04180a1734d63e1e84dc75661ca635d150fd2bb8b1213df768520fc1c5cffa7a9cb224cb11788efc5242dd85138915fc21dfc9ff95b1d2737 SHA512 721f6b5cc358f8ee7093f7c80e4153ebc474f2052bdb3a91bf2a4ae9d2dbd2e2e50635a5bb8f9b62bd8ee7a0b7420ca9f18c60abcfd5287a953ea63d21aec53d
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.3.0.zip 42715 BLAKE2B d34249f3328c742dbedfd2620ca178ff29b909c31606fe7abff0eb9e04dfdd488bf51f4faf489061cf540fc765a5d0842ae3e0d9840894ebe8b4c6d8d7793847 SHA512 ca175bd5bcc7757538ad04b6953287f8c869d5c5ed2e4f930cb3104b7a96f73a34c656e85d1de054f2b982eb813bdf5b02cf7dd89c4824a25c8385add7778598
-DIST github.com%2Fdocker%2Fgo-events%2F@v%2Fv0.0.0-20190806004212-e31b211e4f1c.mod 35 BLAKE2B cb3636f6ba689ab17bbd240c10dd1f1f150988421212af1498f68fcce3250f61f1dedf1aec95c5437ca7ce92c26ebd115d1b3a16da55d07cfa423871e6f6f73c SHA512 ff56a30d40408c088c121984ad3ecfbc1214da641baf359fc36b8a3ae50ebfac8b98add4b9e4a47f8e03f586800fdd9c268582e581bf99e95009abdcb4e83af3
-DIST github.com%2Fdocker%2Fgo-events%2F@v%2Fv0.0.0-20190806004212-e31b211e4f1c.zip 22827 BLAKE2B 33b13d02d0031c2a898aca18f16292ef603fcdb6aab746a77cb782fd0bb786668434fd5dc99287176b6d57679d0ea565bc55b2954ea8b26fe8914160da4dc10b SHA512 c7770bd3cfd352b844a988b8a0921ec4bac94dfbbf7223a55639ed8501e0fbd06b0b55d2458727459db41c8f0ca93a9c9abd7956f37b39bce2be30acd0f09fa0
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.2.1-0.20151230175859-0bbddae09c5a.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.2.1-0.20151230175859-0bbddae09c5a.zip 20087 BLAKE2B a3f34d4ac1ce6d901219529e4a1a9e1fef99dc25b3c769c0ee59f3c9bb0dd78af3d74f3d67bc3a6416d4513084df13f9a1f7a1359e7936a506c5eddc7a7bda85 SHA512 12f8f88fa60054b92b6bb633334c40da0bce5c75f53055d7aee4db3cf6e3f322892fa38e09f97055edfb6b25799e9b87cae5924a38435b30686433546957075e
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.zip 14089 BLAKE2B a825c998f5a7e6432a9d23f49fdf9d8559b8664ce6508468540530efe9585a98400bd38681a24b5a8b2d10b13c4ad91216f6c71153e8c597e3d2e8c8472622e9 SHA512 294682c312e079f96ac920c3f4e3dde7211e36622a378f54f32483e032f4df6f54a1f7314df7c73e2b7391bc559003ffe2bdb97380e4507aba7620ea4123d872
-DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv0.0.0-20171111073723-bb3d318650d4.mod 37 BLAKE2B f097ba062c5ae93b06edbf7827cc21a40d6bf6d2130c44fc8002344e860b3471742cf930e505a74a6a2af3a77a6dcc7d01b103d01f6f208c96dd9ca713c96344 SHA512 be96d9da23cc31932c1001e2ed367e55d06ccf2af41cc106e83b92fb866b61110d06ff224797c942b9ab6104bdcba4542f2214b9fb2d88df63e69be8158c6e2b
-DIST github.com%2Feapache%2Fgo-resiliency%2F@v%2Fv1.0.1-0.20160104191539-b86b1ec0dd42.mod 40 BLAKE2B 9300f3006801602e05416487e6021123ff345e36835b5f4841158bc87556afa086470218c3f2178d125baae065c1af3cb27e210a50173a5bc9a469c592758eb6 SHA512 fb616884898669f21d53576f0fb70c8babc38bb98da066a2cb77fa85ceab6bcc8775feea3d3bcec19ea3b25544c776b8d55ad82f8876da5d0ed5176768da735f
-DIST github.com%2Feapache%2Fgo-resiliency%2F@v%2Fv1.0.1-0.20160104191539-b86b1ec0dd42.zip 18832 BLAKE2B 1c1cbad4523fb8a60546e9c538b11b456003698dcfe44b16a303d426979460dc6d4da5f5ab8888024a669bde18b7ac636479590b3faab41dc82abb9a41c316ae SHA512 10b4417312167ce291062371105c961a3e929ea1085e5d9fcca647cdc1bfa815007b87ec7fa80a3866920a1c2052f63cb6deedd2805637e9deac19763d350002
-DIST github.com%2Feapache%2Fqueue%2F@v%2Fv1.0.2.mod 32 BLAKE2B 51c322074fb7a69418dcdfd2e54b187fbfe541c21a979c8bf8b155a6264cc670eeaa95c2949f2b760b187fa582e86688a045f3f022cb45f053a58e00ec2c0c60 SHA512 bc43f85d5a21cbdf4b3821e707c845d08f8a6d8f2c6ef0f6ec76f7711c53bb4407f2a356c79bbbda438fe138a3cf74a4b279e8757cec7aa134a93f2173b931a0
-DIST github.com%2Feapache%2Fqueue%2F@v%2Fv1.0.2.zip 4272 BLAKE2B 2cd425cdfb9c97c4c942b7d9f43c6a5aec2a3dd6d9db3478abd6e6b2879d30d57d444c826b887f3229e43323145c4a668130de3eac2d3d7fe6008a9dacb5511d SHA512 04c72bf0347f055445575e1f2cca6ad3e2f704ad7d22717276415510f443abe6fe896cad8018c31bd79497527cdd1c872a80ef7426e55acc60da16fd43a99402
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Feuank%2Fgo-kmsg-parser%2F@v%2Fv2.0.0+incompatible.mod 39 BLAKE2B 869effe65ac30d12ea51ff1945c803b1eea65547381e0ad01f37bf8a68c263a3793e03c7dbcc7cecd0c882020e506cd8e1f2afe187ae8f9c2cce03b5fb9dcf47 SHA512 172218826ef7cc862b47a76156818293267308e8193a2fcd7d0a56b67397f9ee8bd3cf136b4e94c6cf045145189d9a579df05a48c7b413d220d6098940792eaf
-DIST github.com%2Feuank%2Fgo-kmsg-parser%2F@v%2Fv2.0.0+incompatible.zip 12175 BLAKE2B 591c1bc97cf60adb577353983f12eea0897ba836ae9f3d40212c00f8f1d7107375b53449e0ec0472ba5f9bb365be188e05ff74d0e0ff3e5b8f4f17b8b4bfc99d SHA512 65dfa8dc30ec9348bd2a027e29e279d0d24e66e34ad550244340a6a2a775f91c4539478eb14ec7d7041a0f9b8837d8b4c125675c7498f9ae832af348f6870f63
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.mod 36 BLAKE2B 2b77fbdbb6c6c20767c120b390fbd2992bf79dcae0a35c27121a6e755233da3ecb7d74e74c38c0a2463976b546ed8bbfb8a8d8cb140526dd9a0c4f524cc131a4 SHA512 5749d33fb085d63b7c12f43df824c96f168323cf6d88cfea3e2536eeb7b56689dab9dddb8cde1ec8bc9c2848e7148b8a37abf8523a99c55ce10f896245c5f341
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.zip 41278 BLAKE2B e0b440a81efbe3c7c16ad276b4509652fd58bc94cd162b9ab13bb37c1e6edcd561e3fbb999e55619d58c8e3279b785b8eb67fa4e200b38fe6fcb60f0918e6e8a SHA512 9b1075ccd3d1f53773db97687e06fb777741d6c3b228bcc329be580562fb3c34006768eb3f989f92367ca116c597140045b3c345fe36065f5015d1d4652633c3
-DIST github.com%2Fgaryburd%2Fredigo%2F@v%2Fv0.0.0-20150301180006-535138d7bcd7.mod 34 BLAKE2B aacafc6177e1e87c8f4a17f295900d749608f722755d31a1939d1b601e4719984c0d1299fc4de9fe74c1109852009daf4641cb5c81629788a639eeb9314867c5 SHA512 c4b5fc4230e8e9c7631f577ee15414f7a72bfe27af524fd6bfad8c38a81426411dce35a191d840a9c69eeedfeacacd3f2a108c5eec35a3e30b0a7b262b15340a
-DIST github.com%2Fgaryburd%2Fredigo%2F@v%2Fv0.0.0-20150301180006-535138d7bcd7.zip 44132 BLAKE2B 8e06264f68464b00ed9aaa2f9eaf2a2e823d603f7bcf70003b76b896349ce0f9f4f068ba1a7c035cb3ec2932d72cde88d94e929ab564babed04da778476d0e26 SHA512 6ab36b2e7c2848649a3f7cc53b1cde73b43745077576eebf432989511096313291d8f5809e91306120f2bc1c73362a810b9f3d87a4dd93c8f885d18d8947c051
-DIST github.com%2Fgo-ini%2Fini%2F@v%2Fv1.9.0.mod 29 BLAKE2B ec6988d536e1cfabecc7e1ee6070c6429c88de9bd970b3ecb35bf8e42ac3d2dfa08beefbd3741ef7a039020e6d41332039c6bc0e13d5e79bca84cf669e4f552f SHA512 67077f6e3f3c2571d6df326aa1d6351c3f7950337a23c548ff69e73df265db516eee559ee4afff17868068f2754c7ef272e46bc3dd5ac324ed002b749116794f
-DIST github.com%2Fgo-ini%2Fini%2F@v%2Fv1.9.0.zip 35014 BLAKE2B c454b77da0ad2710f1f6622658bbe13ded7b4b8330948b7111fc16762dd4be2bbfb24de5c93e6b2a262da9f4dc45c979c0921505d5f49802435825e5926632f4 SHA512 3f53aede0178d73f42441de2d424a115b3a66e03a1fd10d72c2c9491bb4411ac70daef69d9a23b8c1a281a1cc96cf862989b9970caa37f59bc1b1d5222443a64
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20151105175453-c7fdd8b5cd55.mod 30 BLAKE2B e9f919d91a822060a84e112358ad361bc7be6f3e6e7cd668aaa89ea053c08d27bd20d281550e1f5a34f3db10ef19d7ec918bf094c755ba58bc01e17f7269fb40 SHA512 b096b5a6e72184dd2be5fb4f7ea9458e0b61cf6ef43f92a5fe5d225318315fdedd92bdc351b0802bb0959f77beb0aba830ef171ed61c6d84103690c22e8d8945
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20151105175453-c7fdd8b5cd55.zip 64714 BLAKE2B b975e15faa6450a7cfdfa55f24d52d833c30d5dddbc10c16dc224a4aa0ccd98a9fb64b0845d3a4a0482f148c862009aa8b2c31d8b0ab9584284c35ae1c299dc2 SHA512 dfe1b44b5b7121a9a4aa1c15424e8f56ae32b2a37e93cfaa20a0931b5e89f49a463b0310188f66d0abe3e916044488d7f752749b593c66d74779e398a8ca6eb4
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20190422162347-ade71ed3457e.mod 39 BLAKE2B 9884f8a07f2a84a159eb17ef62e9b17398b84bdea38fc37591af050dcebc2f56b83f851046c3333e604a7f954b7628c16b267c0c94807f7a41d5d2b797db0918 SHA512 c32a84bb302c9db3f31f714484131ee3ea96fa98b224b9cbf2c5fdd15100a24094e94b55175cf1fb0b6326128c2db8950677d8f6d281b49645b0c7b51b759093
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20190422162347-ade71ed3457e.zip 91123 BLAKE2B 16eab5a0f642cdf2af9b9ffe96a6e83ad03f0a6d7898841defe1ee5855de12a28939c27c7cfa5c1a676c8293238e6282256ed22c10a32ea47bf3d41f7b2fd507 SHA512 74be69e28d337ea6c5a8ad4f2a563f0480d04efcd1e07d75cc73c008a79e5dc9bc4f8eb068a7eae263729a81f686f5614af211ba78dcdb786eaf65e4199e5363
-DIST github.com%2Fgodbus%2Fdbus%2Fv5%2F@v%2Fv5.0.3.mod 42 BLAKE2B 79541bfacd3378a6c6dbe9591309a80390444f2dc2419fb0137c723c6a2ec1e0588c00704ce3c19dc93297b19db89f79bfa09daa2632f6674e35e76819473cb0 SHA512 b9aad4f1c1d4f2c43b293b0c9ca8a600a37ca407ba8b22b0f826c8355828cb7860a96a85df84f720fe8aa2840974807ea7ea7b790790c6dafed794e761f1f26b
-DIST github.com%2Fgogo%2Fgoogleapis%2F@v%2Fv1.3.1.mod 84 BLAKE2B df632df8e017eefb9ef1a1e571927824fb444555a575106c6a4539d41b34f59e2d4c63b214ec07d89bbf03975846e80aacd0b91169e699c7b3702a4c38849457 SHA512 dcf05925d5bc8555650415e460aad5fc38b291116fd633f576ec62250eb098c3074c22378ed0bd3b7c30af20c86e4eef7fa351b2d09a464ca78c7e2165e12338
-DIST github.com%2Fgogo%2Fgoogleapis%2F@v%2Fv1.3.1.zip 172759 BLAKE2B c76ad12b4a6126ec4a6ea89cb7809c93f134e3a6c9ed39a21e49026c6be3fb5577507c7f9d3b2684f77018fd594be506d9f51911915a6d062350da2d2b1187dc SHA512 24ebc4984116e2158b9fcd85d9590c8d4ab56fc4c9e9c1342bc0963c3e68f2e51cbbfae00d28cd226adf63a27162af592235a08507a3a2a4bbe4773372e51b98
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.mod 88 BLAKE2B 0699027ef7284edb7deb6a2640db52a5b93076e3250d42710bf02a1cd7d5f591f1d335ffb1e7e753dda5fe177837fad87a25bf69b03466bb545708fb2952fd7d SHA512 b91b25b4fe769a403fd7a1f82d7720bdb0526a349ffe7cfdfff09a2ba5e0015d5a3446cd8e0e5fe46479b7d2296a8616de38a8183c0185f84fcfc75d202db106
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.0.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.0.zip 2678507 BLAKE2B 016de242c488728027e7867b9e6bdb79547c315035769b9daf9f35200602e2eaa9c7f86ed37da6524cc4913e8a0ccd8306f9439f5d139ec00eefcc6c72da3eed SHA512 0dc9193de5a4dc03e31a128d3eaff02072f6a8cea64101adca52fc66be93374aec522b511032dc19514aa200ce5672641304fcb812b26b26a18326868a527358
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.zip 2698974 BLAKE2B 5fcb1c66d3fa55efca631fe5def383ec089fab784cad7d6a031ea390463a0c552f5fc4698f7648d271f40fb0ae3eee525f149347bb409c951d15d86b7f560e16 SHA512 c7e2170eda176da203ca64e402c11489c1fd183afd3359742e373927ff228d62e445f5dfc001a471303e1708862998c125ad4c2db86919596297b11cae4aee9e
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190702054246-869f871628b6.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190702054246-869f871628b6.zip 39652 BLAKE2B c4c9dd2930eb417b8c6bf129489c3f067b5d127ed0194808d8e7594b477fd13ef20154508126708fc69cf855ee298cd4e9031bc34d3ab8025d2b2fc67ea21f78 SHA512 e23a4491896904321a371bb972437a0b55df33fe7fc31170967d6b4c0ccf917e34f94753112d4623518875ccb4e4da2e58cad54e0a821dc4e07528021a814b3e
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.zip 39683 BLAKE2B cebd7b69e8f18547e77e07d49ca26fabd513b6bf95317553c5bcabac3b513dc1d7becc259118eadbad18ee4d45a1dffc3ec96864b80d87c0dc6885983bdbb3d4 SHA512 e7a8277f9b7d2e35d1e8586c580d03457ac1e755e1051fcda20ff9f819a6fb9c3cd1892be3a50d4cbf141b35d1c7b85b27bdc402eb45b700a37ce994be4e5b5e
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.zip 461624 BLAKE2B 37b2bbde9cd1153fe5811ae008983179820ce40fd6816155fc7b7d040e29b8725509f68c30b5099b686e9a6ff31a2d029188aa526ada6375fb9c7a236b8a7d1a SHA512 a99c2150515bc3deef1d7887644497fc4aaa96ed6c2aaeae91aabfaee6668c144b34a2c75ca829636c7e88d59b297601867b0f188ac048de452b5e0767480608
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20150730031844-723cc1e459b8.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5
-DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20150730031844-723cc1e459b8.zip 13277 BLAKE2B 259278e0f62f51a8843872aeecd582d5c21c2d718849f79eb43ead75a8f1da05e760b34cae8114f24d20952ffce470746c230476e9cad59968f2b7e09c43136c SHA512 d4f6b0163d3d8180b79958f79fbeaef816af644ae6426700cd8d6f3ccc60f74d6f0aa2074a5b9fb991a25af5f96c7f2461fa4702a98d60cda8efd5bee7e90944
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.zip 99651 BLAKE2B 14632f8da685fecc046b2cc9e61eecca02e7bd4720ebb1d3cd01a299e59d47cc604abc57d5518e18dea69785e3d5d539d87da211279e238a78dd23e3d7f8c7bd SHA512 4b47aa3677a464af17f3e320f41f59e775b45f04cabf2cf749e00ba1aa97e27ee78a07daad347bac4b5c41e2c430634fba57c6edbcd7ad405b5a084142871362
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.1.mod 30 BLAKE2B 704029826c505198458e86463528ce2c1b209376f376b92d4f05a0f4094d161b45470d04ed3c1b5635397aca3126c25911299711139d794cca3e9b2bb373ee17 SHA512 695f3424e0cc247a069fbd6b94820554e003030eb0e208ba7be38f660c5fc29f74a057e60031ec77918b5b320913d6deabdf19a0f0666b0f5bc5e2724e1fddba
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.1.zip 21279 BLAKE2B d8013c686f7cd497091f4c7d782b283eb95faa7617d68ec7f8cf937c5925d677d8552c662291e41cf2c137fce163d45fb62dfcde88088225c13e0980fcde3d7e SHA512 f28071ffb6515262fb73276725181a806740688fea8de8d9484e1204fcfe6e5fd437e38a3299acec6bb545deb31373d910a09d92937308176b2043ccc9f5397f
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.zip 257755 BLAKE2B 13d505a73dd179828fd3dbcbc1dfb90f6bdf8a888bb7ab160713a566472adf63d45491fa29928853d76725c2ffa5ada33e802cf857376c83cd8085a31acb48b5 SHA512 5bb0e61c8622e09cecc099c80cd97cdefbc497d4ad0e88984b2936e7731991e972883eb639be1cc3f56249a97b4f14c6820cda6b1c08e4a2323aaca22b840dea
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.3.mod 30 BLAKE2B e02807a9c1526691f789f8b176ad7757507d87fc5fe0d52b8997d72e9d528682a6fd10aea2426d11649c3caa7b6e4ae3c552e86fa30f3f710e6354caace3a88b SHA512 2facee17b28c8b9111ec642ffa0975e7f80601b4ffcc4d1756468e963236fc303cf69d3b5129287b746dc08a66fb719706bef277171b709a3013e6b4ce7e43c9
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.3.zip 54002 BLAKE2B 8f6fc685cc85f850ecc0b7dfd63c37a23dfb6d0b43107ac749365b10f254f8d6cbb16462848e317d91410af8524bbb1c7856eac54c7e94ab6a92d813434b9c40 SHA512 8f82d0b2d7e881b7533e6755448c01a8e32db5bd117d61afd9456387ec87761b58ffad050c4b5051ec4853096c0f11fcc5b87be21c4062ddb3d365e23405123c
-DIST github.com%2Fgotestyourself%2Fgotestyourself%2F@v%2Fv2.2.0+incompatible.mod 48 BLAKE2B 1928fe4e63005bf9d678f5d275400bd3519d679207918c44b0d93e829e1171dd1dded06cb8d82109e1f0b06b5b8a3f5124f1596e736ed83c15b6831de57a271c SHA512 dc9bf8e49c8937007be31d97dac8bc58e0ff9e983b8f287c50944ba074281c1e2d20e643cb26fb207a936a1703680a2884ef10d07bb0b9fa0c545d5414dcdb91
-DIST github.com%2Fgotestyourself%2Fgotestyourself%2F@v%2Fv2.2.0+incompatible.zip 93535 BLAKE2B 5bf87f311a8e5467a6202c59609ea2620aedfcde525a1ff7e7ce2c6b436a4eb965ba7bfc2d19883ba467395629d9f0835e9b55f795e9456fc29974d37e6be12c SHA512 9e7aff78ddfa1ef1f98af32b05d6f8da72fcc49dd1cc3b9297d803cb5d6709e8135bf43aedab7ce5a55b29891964f15aa36029893c069b9088c65d225783d3ae
-DIST github.com%2Fhashicorp%2Ferrwrap%2F@v%2Fv0.0.0-20141028054710-7554cd9344ce.mod 36 BLAKE2B e3101c1f32c24b5d5bd3de55b4f15645e7f0b338cdcfa00d30cc4c063bf4e9e31e68972979e8282d04920ffcb54f112c8c8f6e0e109824e56881a6a699cdf622 SHA512 2b68ca06311d8602f04eb738a68a24951a9187aa70018d938e549cf7b555bf54dadbda5825501436c52f6103bcd220ed170c99e4cf777187e2b997c87f05fb0d
-DIST github.com%2Fhashicorp%2Fgo-multierror%2F@v%2Fv0.0.0-20161216184304-ed905158d874.mod 42 BLAKE2B adaf8e14cd6696bc97bedcada70988d2508d8bf28e94a8b528067359665aac351ec7b7f38ca1a89ceb0c18c3c7935e30af4df20102563c9372b34b0cf54d41bb SHA512 da70feb8b6a17512c3761ce6f13653ea47bfcb4af69b471a3bfde9b79901d0f24ede05c10d35f3e051df54e1e636a848be5d00194ef5e9b85bf7915d6b27dd0e
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.zip 19548 BLAKE2B fe48c3db37bc280cf5f36e522f4b13f7daa45768cad11c1148634ce7af618c1c20f568f98ea7193b0be7021fe8a4d209a4a7f1c94be3c05924a36022a57c46b1 SHA512 6927a910a368e1f2b0792989858d25c5a55891082cc38f5907c539a35919916e02872619cbf45ed583c6f6f8e85936a3fa790a161b071dddc922383e983d37ee
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.3.mod 48 BLAKE2B d49fb83b0e128d1d891c78fd7efc4d1f6c92ff9ba30943fcda9b89d752d468836df7c37d6f30d1b4e8eaa5cd966c4b2ec90efc087887f037cce94654761ac107 SHA512 a55d0882366adebd894e5ebf9de5f70ac8b5f8f945e52b7dac8e56b4efc03f40930d132ac03bacb51ca220bad114940b9e27bc0ecbb92dc739691674a8aa5e15
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.mod 31 BLAKE2B 7202132cff9b47a4484c61586949dbf7e13622067675cdd09dace3ce2e5b3a37b6fc5275b3bd6dbb0ec6ca0335bb7c9a036cc043b2d8ff1f38bc90ce13041aec SHA512 54a5bbc02b82693a977a4f690314b16d94cf071decddee3a4af2a90398e626ff188bc34ab3517278e7aac4e657f3f3070a020c85274be3750371dfdeee139b23
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.zip 24894 BLAKE2B ab55c48bafc78202f2a0a494c6b00657dd81c078c0a23f797a59049e8ac59bc399f784ff81beb710aabd1d035e7ee3db5a4c90653d6e57dc3b3f0bcbd098fd39 SHA512 b77e39712e985744e277604bbbcd48f32d28ea69eac7a6b6cc0a3f8706e2970ccd5410761784b64eae73a07786cf81c665934c145369317b8b961b503582643a
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
-DIST github.com%2Finfluxdb%2Finfluxdb%2F@v%2Fv0.9.6-0.20151125225445-9eab56311373.mod 36 BLAKE2B 9741c89f9ed24611ce292f620b467f1be2e514583a191046aa2bbc68242776d92ca85f1b18bc216683b137dee00b6210eecf424b48b418cd05b2684aac4e8c80 SHA512 3f7987e0aecbedbd121eb6ef63e8472450cdd607cc116cb4e85bfdac79fede96aec13ab0882efe8cf45d15a959e56121ac684be7033f4284339896183a492eb0
-DIST github.com%2Finfluxdb%2Finfluxdb%2F@v%2Fv0.9.6-0.20151125225445-9eab56311373.zip 1186832 BLAKE2B 40d745a2d0754058e06641decbe49d07f7cf27d1144306e6e36fb23faea71a2ffe95d920773e8996ba99cc55c9f296dc03d7ac6388e061e36a85012196dc81e7 SHA512 7dcbc89888e2396067bbcf000bbfb3f109e128815de122ddecfdac84002310d27c591611cc7935d852cf9820f5e7b0fd092cf43726fb6feabdc0780ad298d2cf
-DIST github.com%2Fjmespath%2Fgo-jmespath%2F@v%2Fv0.0.0-20160202185014-0b12d6b521d8.mod 39 BLAKE2B 6129177aeb4cc82860b5e233715d4330fc61c4b6783af687d936a5d783b32f7192f268ee0954d8a37fc1a6c22c147e86a1fc1c9ee8f48cc979931b0500fc92b9 SHA512 19819e43a514d9d7b1c8703c06c3729456a39a963a1cd3cdce7f6318a3ef67f8663c5a66b6bc402cf422d823b1b63540a6c79f371cb81ecd1f13de646598566a
-DIST github.com%2Fjmespath%2Fgo-jmespath%2F@v%2Fv0.0.0-20160202185014-0b12d6b521d8.zip 231438 BLAKE2B 3441c5935f2f495a78c9f80dcca293e8c08fc8dff96a85dba673411b12cc03af2cb8b363c2cea07cb131435063e6f6ecf0c4e0a59f6060ff66cfe96466f8a96b SHA512 5dfbed7fa77c3827515f046923237a17c1dde62275e2365ec599ea6dfe4c93a1cacb1401c5d36f4379e4d80425352abf67ae1a0b25c7ebfb974256cc9b26d983
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.zip 9901 BLAKE2B 0c8cf7ad0809f65d91b9ad5b27759cfedc5efc25194f19effd4b19c35c940461a48a57636ef3c707b27ac614b693ea05830bdef6943f11993bf561ef558cb99d SHA512 08b7201a9aa3294a3fc59bec78fee09f0d1bc7507b50b1d1cb1fa29a523c6870d00b633ea9679c9c86df9841739f46e9d5d9bbf0e3ec15b8ad08e57db67eedc0
-DIST github.com%2Fkarrick%2Fgodirwalk%2F@v%2Fv1.7.5.mod 74 BLAKE2B c12920e4f3f51d17f6d3349a0833623766ec6a3a609850db89372062a02ca712e3080ce187754a22ce45ebbf35b6d4e317dd6e5a4071d8fd140cdd7a6b09965f SHA512 407f46f7cfac9c4dd5feaedab0f708a9ed13107091a15251dd4963cc2c32290f57614d4b5b0a371dc9cfa8ecd49d85b13114d635e1176d56782098e8978cbfc7
-DIST github.com%2Fkarrick%2Fgodirwalk%2F@v%2Fv1.7.5.zip 25761 BLAKE2B 08f337201ce7a01146ced18673c87e0905a39309943cd56149a9b536ab51932cf92ed6a70050b44400f8767fddd5537628e16206d0af4f084fd096b9ccf979bf SHA512 213fb487b2c6aedef502a24522f0ec8fbda28adc215959d576d1d03646dc516b9e7c4cfe8949ca2598ae8082d1806e66af796f086d23098cee6c40659d342d3d
-DIST github.com%2Fkevinburke%2Fgo-bindata%2F@v%2Fv3.16.0+incompatible.mod 40 BLAKE2B 1553a76830770feb3d6220cdf688b2f8f1f296f1141fd84197d5222b170806b508e895e5edf6cd5e052de5e272a211b7e01146d859670d210fcfc9ebd85862a9 SHA512 b4fd0fd62d0eb05abc32196dde7798d4d170680ca6cc151e19be765e5998759a5d570ea76f9c047259a2fbe82032e0ba5c73b63ff48b13a2e314240ac2a922d2
-DIST github.com%2Fkevinburke%2Fgo-bindata%2F@v%2Fv3.16.0+incompatible.zip 15411331 BLAKE2B c717893838b22cf5de73016e0502bc1ab1df82418889e866ed402edc630b423467603725934f56c6033c0290552625f28f66465e601f6dc1824ae158a7514e98 SHA512 5d5fa181f705c1ec4521ee2629564a33b22cb64726b3355b91a2abddb715e38a6e162d2902c91c4e13028e4978d4f5744d001db1d75a80e3798c39872e4069d7
-DIST github.com%2Fkevinburke%2Fgo-bindata%2F@v%2Fv3.17.0+incompatible.mod 40 BLAKE2B 1553a76830770feb3d6220cdf688b2f8f1f296f1141fd84197d5222b170806b508e895e5edf6cd5e052de5e272a211b7e01146d859670d210fcfc9ebd85862a9 SHA512 b4fd0fd62d0eb05abc32196dde7798d4d170680ca6cc151e19be765e5998759a5d570ea76f9c047259a2fbe82032e0ba5c73b63ff48b13a2e314240ac2a922d2
-DIST github.com%2Fkevinburke%2Fgo-bindata%2F@v%2Fv3.17.0+incompatible.zip 15412126 BLAKE2B fca367ac69d50f551e25a6fe026c13e8f359efac91735aa6ad6cd89e92870dffbe9bbad316d03d8f9af50d9474ce391714e7b0f14eaeceeba60f2b1cc5014ade SHA512 ca9628715de79cebfe6b10158698b7656245a16c96e41c43c7831c3902847b5cb1e7dcd5fc17da6e56287058289d34e429f63acf18e57dcf9068429e9bd1ee09
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.1.0.mod 143 BLAKE2B 128f8934f81d0e497e1258ec65129fe5d8831b66058669a5aef3fdb2fbe5f6d8ab30bfe97a1de7befadd34aafd55d6d15bb787e8948fb7718761392817203874 SHA512 c5e546822036a7114a29454e28290f8e1082392a47a101fb1d370e0969fc2c83186b4487473f903dd638abb8a763ce3180dc87993906895a2df33db7d8bc4790
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.2.0.mod 98 BLAKE2B b9d3c55999054ed927f666a43066ccc6758a6c5f550651f43ad5d85b5403c882ee76ac2b2553803d71789da33c60ea41857ed545003072ab6c666dbb77118e00 SHA512 3529b37d770af511a716a612b7fd7fb6a4805d13166e3a6f9378950443f6eceb2f3d95db5a46027437ce55b36e571c75bba72a03769d21ecdc97888019d80a68
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20151223135126-a3b15ae34567.mod 34 BLAKE2B de38b76cc80d4772016edec60ac6de4a290b1083a1979630a8aeeb2d6e7ad0c5e92ad3c25e1a47b6a540f106cd66a39a5057f3acc0f39ec16ca0c1a23691bb9c SHA512 97259895cac5090158a564861a3e58ff60728471fa5f0cc5225588cc5072dec813433942e39ef3fef99a00fe1b3147814e76789501c45d1f56f30403151399d0
-DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20151223135126-a3b15ae34567.zip 13878 BLAKE2B d074bd1aa584d1635a0283376a82e01f499f7abefbd91bb081c9be94052a4b9defdee9e004a137e98ced42a8cd876dbd9520fe70ea9fad3b5181c25f409613c5 SHA512 52c61fbeae7ecfd7a00bfec7586e20394cb5834e15ffffff631677e57569354e6b80e3680bbfb618cfff7c2e5ae3344be5e46c0ef3093b25cde46e7dd8cda0c0
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.zip 3567 BLAKE2B 80b7bf217df9367160180d44c1fab6a9f10154bb9a6455538860158a08c5bf8c794fff973b899b1376e4e65764a9aa0d6b8b162a6d9ebe1adb1368b9a2a42786 SHA512 27910ae03fc9fbf573ac31454635c43bfd771d2a91325eca544f7be0e24b43c2798ed8e74b4c31e8c20c1a9cd266b835017aea3a3e24c2ecb43a14a6143af8e1
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.2.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.2.zip 3968 BLAKE2B 223cfe3604cb674a11d4558b8f5a35e2eb41cf11d536e2e2cbdccd6a3c6bed8abf66f450774b39e7247493ea8a382906617c5f297fda02a272b18eef8dcbcf47 SHA512 16c4bf83b78541d2d684113926813ce4cc91f3f13f34dc2cf8d643661dc9f21a988b8382d2c058e138fc87c1ca197e8f694b07595959e917c82bd6ca9101a5ec
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.0.0-20140723054909-088c856450c0.mod 28 BLAKE2B 2b6688f37d22922f112b15c0c59e6b4c0f1ae21a6280e7de57af2d3d154edb42b529ed75b6634eabff8fb5dcf302ba54c033013aa3f89bcd0e20e82988ffb8da SHA512 9ad5dd53c8baa8c46ac9f42b4644ea39b312ae2254cf4df3f488a09986fbc9ca9305531466943a2949de87d7527a8884601b24278d2b2792e5e93c848ce689c9
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.0.0-20140723054909-088c856450c0.zip 8979 BLAKE2B 5abf959d2309934b63bdca0c8e3682ac46023fb01adac0b119b885041a710e949d9f0b9b91d2a8799f30cf9ae98d67afd9962fb1be08ee27c22feabc91d602b4 SHA512 d5eb26749e8387eedc039518f5f9e0022207ccdc32cea455e55ad254a876474e23612841b7a331e210b876cfecc52b3dadb10e8cf015d70bf0ff7a84d381b0e1
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.0.0-20130911015532-6807e777504f.mod 26 BLAKE2B 26aa3d077de6f102d7d295c5c9bbd422469261f9a3d9a0795e287eedc9a18c4dbefe2be0d748d89dc6744feaa786c3d295b05edd5688767b358f345417485c69 SHA512 fe4154b5dd6a373fe0f862d74cfe6ef4cc581c584a534b4b2c8e4ff49ea4653fc91b09b0dec9807c26deb37825192fea822ca26a810e154df3f974304a1746fc
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.0.0-20130911015532-6807e777504f.zip 9203 BLAKE2B 67c7481eff5296a98455ecc705a36ee8e7191871f958fac2b11dab96f4cf3117d72966eab5abed4dac67a625a17587d02450bf2a877cf3b3208cfdad7a1b0f00 SHA512 bcfc876a373e23827ec9ca91ee15b7be74c803ed05e893de49b06f2b5bbf127ee90904fc836cb4e3fd0e8dedde3920be63fd407b70e1b3f49c858aa74f242d16
-DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.4-0.20180201004752-39dbbfa24bbc.mod 38 BLAKE2B ddc3076fa3a93a287dcc66d087fcfa08483a03baeccc6fcfdca7c390908cd0b83017754103a78f6977c929d24868a9ce78859bf9e270fd84b5fb38ef8f939f9c SHA512 79ad90998c2a3e01501014598c152d4d08a92d354678b5e395c4a16ded8519f12e4ea883485ef49f07e240c52e075c7f9a07a410eaa9a1aca3657cfbfe4b6368
-DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.4-0.20180201004752-39dbbfa24bbc.zip 6775 BLAKE2B a10a2c73e0368afa3553965bc71c0054edc49db8b35e854d65583954d34e2c64408307d64e81682e3594315196cdd6c7ea08c50244d9c30e350db7552d0dd800 SHA512 60daf098d8d55e798617057db433216a0842ad5c143be717d0ff7d208895ddc747674f815f3992acca13962cca4b982dad463807270cf0efb8488bdd113e9dd7
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.2-0.20181231171920-c182affec369.mod 178 BLAKE2B ad9b4e7186954eb025beefa7c1d622146e2329ec6d9483da5f6066488a2422c28bc54071bc28bfc50b916a5cb9f07549bdf09bcfc4e1edc78234b84900638a91 SHA512 e830b9801e4d9645c55dbec3750189c4070d7125dd2aa7332c58e9307917a869bd432cc628680d2e9e88ce646eea9c63ba2f8aa85c53b20bfd3758c5217f5fd9
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.2-0.20181231171920-c182affec369.zip 46423 BLAKE2B ece8bcfeaa56e6d038bafb4986733763fffff1a29e232b0b86513a0ed00416221d7b31352bff01a711cf8952687bf9fe3a4e51024e6d8bba04f4defa457bbb4e SHA512 87ef30626fc29616a17023a2c9303e1e55cc9ab98b58444119717d97641d92fea8bca0fa6a64131fc4c01c4f9a1f293571a54b76f2b938be4518378ff4b73342
-DIST github.com%2Fmesos%2Fmesos-go%2F@v%2Fv0.0.7-0.20180413204204-29de6ff97b48.mod 33 BLAKE2B c2ae3fb0378f569fb65273b84ce9a1bfc018fc215f007231e174b35289617d0115440adef419fde8392d6f6a4af42b50c5e0ec1ea751130a83554420ecb0d885 SHA512 638ac70369bf89f7a511e8c8407897921860f1046e9d99ec285b361720647586bc2bd47e1bc9a1cf382f477373b82caf29922b9bda1fbb875c501f6de4723310
-DIST github.com%2Fmesos%2Fmesos-go%2F@v%2Fv0.0.7-0.20180413204204-29de6ff97b48.zip 1522483 BLAKE2B d6f43b2c21fca6325a7a3c63571abb09d9dd9bcecaf37851f12f7cf8d18fddf4e64e910214ae8333b7ed8c2b5975de1c044f3cc3d9d785b75847b6f42b897575 SHA512 93da8b09105d5d055731ece9c335516a77f146fc3c47915ded5ededc679dffc4a8647d450f11b170b7420532e4a3ee29a7549eb776bfedf708b0b70b0c8424ba
-DIST github.com%2Fmindprince%2Fgonvml%2F@v%2Fv0.0.0-20171110221305-fee913ce8fb2.mod 36 BLAKE2B 18ec4ace4de7c41e3147a0c0b1e2fd044434216707275d2a3db0da6f072f6d45f3c5a451050d4881cd0a684ec2ee12c975d94bbbab68865453b08339bd4169d5 SHA512 ade92d48e56c72c2260143b7d9e00437e55cf825a2d5cd3240fece4e1c01c77a97d7b2b5db4227112bf656b402b91be3cfe4d8890ab9b6873e2e828da1615d50
-DIST github.com%2Fmindprince%2Fgonvml%2F@v%2Fv0.0.0-20171110221305-fee913ce8fb2.zip 57760 BLAKE2B 7f9b4ba6a103c9983f3c006cc3b8dc18a5adc65ca70fb23496867ff151bb49fa00a31273272a35eb24a1a0d37c10133822063066b82007fa7efda1e47592d15a SHA512 3c987c83fecc8db1e34f9b6b155b080a7ccaa13f6c84943e6c8caf2d0a3313db2870e5320286ee41d92288e0717fc11b76c8910765a6a0bc9a898ecb288a5839
-DIST github.com%2Fmindprince%2Fgonvml%2F@v%2Fv0.0.0-20190828220739-9ebdce4bb989.mod 36 BLAKE2B 18ec4ace4de7c41e3147a0c0b1e2fd044434216707275d2a3db0da6f072f6d45f3c5a451050d4881cd0a684ec2ee12c975d94bbbab68865453b08339bd4169d5 SHA512 ade92d48e56c72c2260143b7d9e00437e55cf825a2d5cd3240fece4e1c01c77a97d7b2b5db4227112bf656b402b91be3cfe4d8890ab9b6873e2e828da1615d50
-DIST github.com%2Fmindprince%2Fgonvml%2F@v%2Fv0.0.0-20190828220739-9ebdce4bb989.zip 60421 BLAKE2B 4bdcf5bc8127af87eb60f981948527dc179a37e6861f17b31ccfdc7992a7f7c24d8005273cc1577d7e48c92fe67d3e11670e88dc90abd0097de28fb3d8c40bae SHA512 97ffd225c5fbfa53aef12e4d7b25788098d07d96230834d8707aa9446d99c40ca092e5fa59790b5cdf1c2ad81edc19a946730390c0616653c8cb9cb604106d4d
-DIST github.com%2Fmistifyio%2Fgo-zfs%2F@v%2Fv2.1.2-0.20170901132433-166dd29edf05+incompatible.mod 35 BLAKE2B f74f76885a3c86b832d1e7e80ef9d282c27cc236a3e48ce3bfeb10bb5a5b2ee0820adcffc89c0e30b7a27493b9ee8f131cb5a151baf9c1b7edc8845d30fd4531 SHA512 c5cf4433f35fd5795d64388816ffe45b49fb7192c2c7bf4fad21e680cb35bbbbf046945c48e3a6e1c3d8cf528942b5c2eca85de9d8f70811d910c4624b53f2bb
-DIST github.com%2Fmistifyio%2Fgo-zfs%2F@v%2Fv2.1.2-0.20170901132433-166dd29edf05+incompatible.zip 21170 BLAKE2B 3ea0965d40ea11c968f930096a4de086f15d8898225ef2d74f55b2909172fe346cbadfb1545e0e6ab8613e9c2462af72a34f131a23270ce1da92e5a2d1e2b306 SHA512 f67d2e2d02e366a16126e922f2fc6e6de3c2755fb90ff6b37d366afa6614e77e639ba26332388d1416fe42da6721d0f030487b861bcb3012342cd59fb546fae4
-DIST github.com%2Fmistifyio%2Fgo-zfs%2F@v%2Fv2.1.2-0.20190413222219-f784269be439+incompatible.mod 35 BLAKE2B f74f76885a3c86b832d1e7e80ef9d282c27cc236a3e48ce3bfeb10bb5a5b2ee0820adcffc89c0e30b7a27493b9ee8f131cb5a151baf9c1b7edc8845d30fd4531 SHA512 c5cf4433f35fd5795d64388816ffe45b49fb7192c2c7bf4fad21e680cb35bbbbf046945c48e3a6e1c3d8cf528942b5c2eca85de9d8f70811d910c4624b53f2bb
-DIST github.com%2Fmistifyio%2Fgo-zfs%2F@v%2Fv2.1.2-0.20190413222219-f784269be439+incompatible.zip 21210 BLAKE2B 4528a715b184a73330d73f5ddea1288225cb3054cbead83b4d5c9a1675c2c6a66bab77a1b09591ddbd8929b31e76b3f9b8bf6de329527654e108e2e4cc48fa59 SHA512 6c077c8497e01a67d4839b82b6b74b13d1c2b5591a92b7f018a622fb1388bd1e100435db5fb9de19caae5c9cd1a647befed4da5e496fcae42afc68ead47b8d80
-DIST github.com%2Fmrunalp%2Ffileutils%2F@v%2Fv0.0.0-20160930181131-4ee1cc9a8058.mod 36 BLAKE2B 787cabe805d9f0e03a6271f517cb58f18796783b308a50becd1183382cbaeaed9d55f449a7dcfdb22c050859a7654dbf0131be32e36a3974e7bb49f4ed70a2d7 SHA512 61796004d8b6e98d8dff2423ea5bba89fbaa36ca91640957801a079c8202026945d6c3d1c37acd09a8e555d7c17ed03c3a8da4e2691f3046ad0d39fd4877c101
-DIST github.com%2Fmrunalp%2Ffileutils%2F@v%2Fv0.0.0-20160930181131-4ee1cc9a8058.zip 7634 BLAKE2B f911dc1d95ab7996840763c292cdc53253cc9d431c37b548b949c41095346a0ebc794247fdae59eed95bd482f80e9e34b7443cfae45146d0cfdb223fccb4d9ea SHA512 5316932d7aa0d07f66d3b04477d05411dcc22656723d943ceae684e6fca5b2312eea7d640f006f348cff0325456c3f3e6776c2c51239bdd8678d413fb1a10081
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.1.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.3.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.3.zip 244154 BLAKE2B c770944d112fe8352d48de60bf0ef0c656008eefbe1ccd0e498e3f129d948a77bb625b6f2b7f9b26998774bf1a5490d1106774caf2171e7c7d2bc3a8e2338ae9 SHA512 fba02794ec34d0cf1083c48373889c62be424b5b0b63a614d64bd03718bba0cd928fa5d6124bc71ac014c8cc8a644861e0630bbffdf56295e56c670fda919e3a
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.6.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.0.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.1.mod 556 BLAKE2B 8e36edf565660234a9c939b93e99acfd61c30620cf45619158d5a87c102492333387de1bda35aa226695f913358a4385d1b8b768527d8a63d056ab8f13cdae61 SHA512 3c48b6f2cd9bc71efc218b11ae432776164936d4474df73510a785819c417fc894ca71f5783da77f323754ece56b681f8f1e9dacd5bf309f189997ba0b317dfb
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.1.zip 157699 BLAKE2B 15dfd7933294898066316bcf6a0943e1dfa8b6099ec8d7f05425561f622c4d81989a239d46543c37d9cba761eb08ab6a1bc6ef1fc8c8f48fc0059edfe6720ece SHA512 286608571a79faf71bc8cbc29a77ad4478cd2a1d6ece91bdaf4a7c056141a154a04c2c8a93612c3d6536a6064b9ac9198527888a3fc0cb7756ec41548e7dbd31
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv0.0.0-20180430190053-c9281466c8b2.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.zip 27125 BLAKE2B ace23a65113f48afafaf52d19231b51238dba82a08a85dc615a0037b037530f3fa3bba1af1ad885eed9ca453aeaa0e2585d2f1b94cecdccccf2e32d36a86f11b SHA512 95dd5f43096dcde7c21338e393977b2d8ff3389b9c9b24ffc11df2cffc73b26f3f16a6406b10281add7d6d952ce2276639ba94929491be7792a2cb8f40746bee
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.0-rc6.0.20170604055404-372ad780f634.mod 44 BLAKE2B e60ef6b775d320cbbd7d0d655e4a0d855f79c0f563ff3aaf0cf0a13485005c800680cb95535d57342c6f23a69da021089f7cb4d3caa3021852e1462126137887 SHA512 e7d3276e531b754a441e94acc632d7322837cc2320ced66e3e91e3512164ff84428a4665493bb3a7cf7e1057e82097bc54d0b811738b1e967b9c248b907d777b
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.0-rc6.0.20170604055404-372ad780f634.zip 171668 BLAKE2B 3efdf3d8fc341991f6a3961da7cc9fd77aaa0aa158e04003551f798765f61ef2f740f5c641d8041234d06d4287d514df8b562cd122ea4e8f2f98b2f78c34023a SHA512 b3412772adb60cda1146433134d4a0a881db45394e43e5c7a8177ee1d10e179ebbca87a8086363effceb69a3dca7ff16352f5e8f9599b68e412641f1739574c0
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.mod 44 BLAKE2B e60ef6b775d320cbbd7d0d655e4a0d855f79c0f563ff3aaf0cf0a13485005c800680cb95535d57342c6f23a69da021089f7cb4d3caa3021852e1462126137887 SHA512 e7d3276e531b754a441e94acc632d7322837cc2320ced66e3e91e3512164ff84428a4665493bb3a7cf7e1057e82097bc54d0b811738b1e967b9c248b907d777b
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.zip 170576 BLAKE2B 52c16c643c1e621cb967bfcfa1e1209b564dd81bbf1b0427cd5c02b85160c444fcbe2ad9563bd491f040df2c4c6b9cc35f6ec83f671fc00e3cd5f40c8ca3af25 SHA512 04aa87f93002428f1ab79190ea584b23363126390dbdd6c05064646e7c5c3710da712b730f8da194bd83c7b95f260eb1773fd8c1c9daa9f41891a765e6a21742
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.0.0-20190115041553-12f6a991201f.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc10.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc10.zip 399911 BLAKE2B 28f8edfd3757ccfe69cdfe15f4e4a80dadd7ad7ced50e60d5014db1d0f56f57cd1d2fc64cfc5da71cfd9c9c16c157b983b76e4834c1dd8c559b3a6bda4f4b378 SHA512 e007741726693345d12a16be9bb5e8ca43e185686bf08c137f0eef6140bb702e35fd27e1f1f0e75a41d8c749f10c7a7f91abca88f60f95d35a41d4c1ee116049
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc8.0.20190906011214-a6606a7ae9d9.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc8.0.20190906011214-a6606a7ae9d9.zip 403306 BLAKE2B a2f1f6710db078a565c3ef52f0d28955738d94466dcb0f62536cbc9f6ecf2071a637ce7d3b4ffa66f9b4da26ddb30b6a1a6d6fb1246b8938d2992573b3887c4c SHA512 6b0af281a50e884d77531e13dbaf5b067fa924ccc889f2d861f8a6eaf9f1c407accf5f2b6ab580bdf17ccda20e8afd1faafef16e8a6c29b3f111e3fc121728af
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv0.1.2-0.20190507144316-5b71a03e2700.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.0.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.0.zip 78774 BLAKE2B 09f57d4427503eab35f8b1d8a26769eddec6b61658c4bdbd9cfe1f4eef1b13e893301fcf0f32b2cd938d633e757e3ae610bca5212117a22c5acef5f840593472 SHA512 8f2cf0f60644c5106cc8b9d7e4634ed869c4b56247e3d675f1746cac2c50013667a64b2d915e9e6c1a47441fb5b5c711d1e55ef35f6aaa73e44b762df2a7acd3
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.1.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.1.zip 79636 BLAKE2B 54d182e4edd486a8d2ab61cac262b8227d392430730850cc670a3dfc038c25325a60056565e383a94d21c5016c28d86255185fb6cd7e75edd0f99e8e87d8085f SHA512 1674aba312894bdaa50e2d5b91a65ac557daa696289f395adcc1f458dd1298c305453e38b85c7ff6c125ecb7ba57904f4e23bc613b0ab09171018223e1f7db36
-DIST github.com%2Fopencontainers%2Fruntime-tools%2F@v%2Fv0.0.0-20181011054405-1d69bd0f9c39.mod 47 BLAKE2B 0eda9805fe0e1acdcc1e7b2693e72e39ea416cf57a108b1847491e1f15f8a7965c8aaa77baad1ae6148f39d36b1fc5fcf159b54111bee0d20bf2fe8edfdf85e2 SHA512 4e53e67b276ea3fe8a3977bbe72758bb2f844e22cdc3e23994176821cea51b10f5e802ca3db848a8b3d00a146c133a89271ee76158c478683b393682806400de
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.1-0.20190929122143-5215b1806f52.mod 41 BLAKE2B 183bfbb35eccb78acfbdcadd1a80aa8746354813000d559b8e597e5a6447812060c8e4daa2f8ec8fdf20ee8c04bf632d54f0445d6d81946c4f629e17748c4a39 SHA512 7aee5e544927cd9673f3cd9b02ad6607ed56e53782160a20c8e737511f0a021ac38ac0ad3548808552348a3573831f5c4bb3c85625cf1dff96cfa39b9a30129c
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.1-0.20190929122143-5215b1806f52.zip 27376 BLAKE2B 636f28d65cfae0e099fbfba16137a3867397186d9ccaa9c1edc8448dcdee90bf997354e2282287b1b2d32368b837a406778da47fdd93ab255666df5f4e7d5dc4 SHA512 94affda6f4f7bc17e073e13273d6cddf238a7523ed5e9e03dc596633aca90a8c4a97fde2dcd3fdcd8d37258633df8b46aa6415eb910dfd8734464e41d122e014
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.2.mod 146 BLAKE2B 5f1b9af6a04921a636cbef00a5dce3fcd8dc2836d8922a16b4abb1b06f898b9fbafaafc732e5c43dd774f0bc4416e186f936afd3734aa08be41908ff88971aee SHA512 737cceb5d3f0b5a231216e0b264ef250e550073302e4b3ff6fab616a90a4652a4ca7051eae98dbeaf1cd6d13ab703bdd6cb12e17ed7d2c44c0bde3a0f0a435ba
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.2.zip 27107 BLAKE2B 0fe74b88e85a3e508134750d89d8276f5819c8c73cfb06f69f685c7dc16e690032c13a8fc3367e5c27eb9f390c8fb46fdcc442fc9cd81c56b8ad67e7a857a14e SHA512 ff9765aef5320032664d33d84de687854dc304a1c311c1712a98105d8d3d4f35c286533cb91b279439141254d5772689700a0b34d10bb5313d2288484536b60b
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.3.mod 146 BLAKE2B 5f1b9af6a04921a636cbef00a5dce3fcd8dc2836d8922a16b4abb1b06f898b9fbafaafc732e5c43dd774f0bc4416e186f936afd3734aa08be41908ff88971aee SHA512 737cceb5d3f0b5a231216e0b264ef250e550073302e4b3ff6fab616a90a4652a4ca7051eae98dbeaf1cd6d13ab703bdd6cb12e17ed7d2c44c0bde3a0f0a435ba
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.3.zip 27482 BLAKE2B c4c58609d2a04122066eedf5f3e0a4206e2150dd6452e5efa48a94fcabda80329fc1163a9a987a1640a36619fb1a81166f4b1e178507284abab9d3a329c642f5 SHA512 e884a87848b78d8d3700dbe2bf200a788df708220bca8ad82b2a1ab5554ad4ba0c2287ee742b142b213c269a76caafea2e3eefa0d622fc1dad85982d07f7ae46
-DIST github.com%2Fpborman%2Fuuid%2F@v%2Fv0.0.0-20150824212802-cccd189d45f7.mod 31 BLAKE2B 0a64e2a7ce87c9805064a3f5f88293c35baa03f682945fe626a9b2fcae2905152f80766d7686e7cec0e2186fe57f850875e1f893b58df1cd440faffd9c0b1b7e SHA512 25d317e15b065eb389c517d977a770fc0c8965f24992ab4e1b665679e8de30625cc53b382863c93f9448cb365c64e2a9adea4202c3b6c224e840e78d1403dbeb
-DIST github.com%2Fpborman%2Fuuid%2F@v%2Fv0.0.0-20150824212802-cccd189d45f7.zip 17595 BLAKE2B f088f958031d2a658e22930595d44d7b910aacb8d55b9546e50d68bdcbad48a925d944185cd905f8216a03e58fadd96eab2dbc972604dcd8b2e0925ebf006545 SHA512 b83ba8dbd390ecf9555738896bacffb462ec343a3ec4910e76d8f6ba101d89f76a119ac57a117c426c4adebc20880ed3e68e73d516c0000f702479e814ef8b8b
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1-0.20171018195549-f15c970de5b7.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.zip 14339 BLAKE2B 9332d9cac7dd3aa2f4d756f0d92c911cd0fb8e00232db3bb013a0ef12addae0aea2388ce3adf79407a81e13cfe9cd4b45aeb2bc9f8b84b4e3c5dfa63b59d46a1 SHA512 f97471d54c5e73b3f59326847cdd4dbbb142a9ae790df83493f11a851d716fb407e01a857152812caf731b8f3e0f37ae151ee83300feaa73152173f6cb5b8515
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fpquerna%2Fffjson%2F@v%2Fv0.0.0-20171002144729-d49c2bc1aa13.mod 33 BLAKE2B 5d9bd69b984101e78df4f8137b633bf94decf11dc822cc2940a8f4566032975c5e9041264bac3dd24d7a877e62f21d04cf62005c1c2cfd9bc29157c2e36881d3 SHA512 04a5987e65bb878dcd0b5a364d677f1a87926bf545333ae18ee97e9eee281965f126001e7811d6dfc3b0fd22b8cbd719ddb2a3596e30f2a6a99222d28a052161
-DIST github.com%2Fpquerna%2Fffjson%2F@v%2Fv0.0.0-20171002144729-d49c2bc1aa13.zip 151613 BLAKE2B 743c362fd207bd06ce1ed2eacbeeaaecd500eabbf7082a26923d2888a65ae4de7cbff51cb1061f2ed996ee66b975b4a5a0b3d1371fec70a1a8d9d3ee28a1ac82 SHA512 7fc538a4c342416dae749d39e87b5fc53aa273a4af6e785906dd79338878fcb78e766404b4f79462e4b87020b7f0f79b190cf0723901dacf297edfa53014d214
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.zip 190367 BLAKE2B 3672fecc77f62ce656fd138e1ec906068a300f147f9daef304802a813578dc50b873540e16cdd5fe03940a612c0737a6b67217e8bd6fd19eced29e8c1ed875e1 SHA512 13f04c5c3978426e5961c5d0b2494497149352ddc5cb7a528b69dab2a38edda2df0d3440445270b90d2588bc4d77ea2164815dad475d3a50f0898e8a64999b61
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20170216185247-6f3806018612.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20170216185247-6f3806018612.zip 65956 BLAKE2B 6d8aa01b2ece4e8779ec7ba58dadd27a5b1ae072397188eba425e7f7e189c62fb7192f12cf0174f76e6aeb7d43a0f32b4419b283664d9e1b25c04794ebb2edba SHA512 e6ff1af5896e5bb9e3753288ec3d1bb74ee2a32b8f9614d754d7c6d94b3ac6048d78da1751dbac8a67c36e1e9d6d226a1ee962765bae30947ffd8a9c414edf22
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20170220103846-49fee292b27b.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20170220103846-49fee292b27b.zip 103336 BLAKE2B f707e3b48d8c3eb8491a4e67871159bbea1068029b8b72bb79c60b832d201f88db7888be037028cb81f5278e33ebc28cb702e6b693f788df88420113975aad03 SHA512 065c4c469d6497da3ae424eee127bdef887520dec7846ead84b1d5a3f6b931f06aa5576598ff924b7ee0c0108988caaf917f189d9fe9b65dd202f7613e8c0113
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20170419201554-1e2146578273.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20170419201554-1e2146578273.zip 51433 BLAKE2B 2bbe06abf0100e465d21c5815c3b05f42004e680441dc525afe9c017ef870fff8425d2d84e76d9a847b03123cadc1cef2b704b5c32c623f19bfd8d5283b057e7 SHA512 9ef7bc49e3cd7f511fc6ad40246ae58d84b6ecbeb292d9eb928d0111fec2933e217bb797f201c8277465ffbc170b49ebc641d3a1367b3a30475ca6f2013e1270
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20190522114515-bc1a522cf7b1.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.5.mod 136 BLAKE2B 49b2b47ca2cb64a1522a3719c1b46dc6f44d3122d3a05ea475dab88e89336aae3f396082f4de0f89400a0e8db85208446582a226238a701fb92c155a2e85fef8 SHA512 fbbbd57eff765585e67074e5c278d7d3077289c3d13c306147d6c3efb98232ff317ad92464ba768fc3d921b4a09cb3f3ff5c5480c89a01ec821bc86e5dca82f1
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.5.zip 188550 BLAKE2B 6163258786861881f6a7b621f8578e8dbe3eccecee396c3564a88686cfe72584e234f593847ee5cb4fed6a6a1009f1f14da8238f967ce5d68ff919410d25d8df SHA512 42a764174dc4a56c6e27b0e83004f042b3fba397039a923310b8bdfc658ec24096395f27bbd69e8275c1d0f0ea45ed68c2015ffdcc74b6186c6d1497f0ea1e6a
-DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.mod 42 BLAKE2B 23dbba19737db7327590adaf3988abb9b5548cb3f959a9746a3b745c51f3c1397f071f2573a413a088f58e32959a2210c2b5354c47c263e90ad2ff1506872a5d SHA512 ac376a387fa39fe35dc4d073d8becd74e79f52e9d36b0a6628740dfe0e7c1f4fb6533fc262212663b105afcaa104082e055fa87d20cb3068359faae6dcba7738
-DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.zip 110026 BLAKE2B 862c858d51e59569c38e1304de08c256752db260cde7f7f44fab41d22695999fe73483d3854166f4e8d3da9b4f8e41b7999d7e44510ab8c2ca6c0120173b77e3 SHA512 992df87104aa66dec048d39496c85819cab19bc890cb2c60326660d011642f49cd926b082d3eb4136b229a6e4893ed023a133e4bf83a4993c534b24e14d77b4d
-DIST github.com%2Fseccomp%2Flibseccomp-golang%2F@v%2Fv0.0.0-20150813023252-1b506fc7c24e.mod 44 BLAKE2B 74f7855fc5488715e3e4b73dfbe83b0a35a050447fc3369c06c532592c7678cdeb28e9f1fc7ef4f5c14fc90c458d8654baec12ab0453117219ab7b865259ab63 SHA512 b9123f2c64dfb2b16e7081bdd7cd3e5a54f911387cb13ccd5c50c113b3ad75ccb64c754123a3b41d916b4a8d089512eb65a5db5eb303f30118775eea553f1d8b
-DIST github.com%2Fseccomp%2Flibseccomp-golang%2F@v%2Fv0.0.0-20150813023252-1b506fc7c24e.zip 14720 BLAKE2B 94485892a25edcfbf3abf1afddb6c718ef4aca089326318752083d9030fd0fda7b6e0e6aa9d007b99143b3c94cb8e76c11df0dd2cae38a27181b9455d7e7c5b9 SHA512 66bfb937afbed88d8a7fe3085888636e525f7c0561ae7acad4a692f53c15c50bd33ef0f6d8f00cc316440d0c6b9525922db3c30a7c335796e99822588efe4526
-DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.mod 49 BLAKE2B 47bc5235e81d233e28b446ec2403accc442b4cc1ee956a0b7d47b5dac2a525f22bba87d05c3fe09179837860655f27191e073a3f6d7d0dad81c9a750752fe5f8 SHA512 6f6b924c2a3af28ef4342cdf8b83b726f2c409accf19c6ba0a4a47c6ae61857e4b69727fceb9e9e16fb8ce660a7181952714d49b6cafaacb282fa4e8af6e13b3
-DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.zip 3399 BLAKE2B 348c2171bf3404d8b69166fd412707d8a348e1d808618036de2ae01fce77e3880fc782ef301f9b4135a19d81ca9ded5cc0cc4fd73d36b66b121b7f0baa73df51 SHA512 d02d5e4b8a24b1709c053138c4128d4bd6347d4adef95d1e25141935cf560fdcfd5c2b7837d6e690f175f1cd5a21b0279ce97b8b3b66d5e0a5006e4103b25f46
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.0.4-0.20170822132746-89742aefa4b2.mod 34 BLAKE2B 9ff118e3db6f2a49d8cef81bbb78af4ae29fbcf97955758c08c4a9a610fa66f1f6da80dec5aff3c657bbbdf1fd5330331e58dc46c2b2bb657438ec0879a3c45f SHA512 186b34d707aaf1557ddc8edaf49fbc559024f454bd560ca8451cfa555abc211cccf861aea94018363547e39140d9e507c97f7a3c87bb9f1e5d444bab4c531e36
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.1.mod 337 BLAKE2B 41471db637c5c0363cd36be6d16a6228671ce9658ef71103ad2122a2cd8cfc13c30b87bf2b34df7ba9d6c1fff1ac821462fbb86b622c274cf26a1e3ecb7fd2e9 SHA512 29a4efc27c658b047fbfc6eb2ae311753b01fe878cc733e2fdfd83f5791b3e30ab50b08addd300dff37e7880f6b57662ac0cb0f4b98df2c5a5a9f7d555bc98a5
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.zip 58627 BLAKE2B f4276f0095188324c06e4412303ac19e3006b18823985e26ca49b2de54ef58cade626b3d2439f5f2a29c47618420b890951f94e5a4801dbaad4c3294f6555a4e SHA512 3bf6be07dd9a97bde938309857e16dc425587c100e35b2acd1a6f11a9ac196238b0844abbaded43fcc01be0664efa15b64f159f6259322043e3046e7d361dc20
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.zip 81760 BLAKE2B a5767557b0e96fa3bbbace46e08d6a2167be2c203a44ffaadcf14079a23e906ee9197c8028fb29bdfc596d4f39e7bdd29993a1a520c36c8b08c5c5b6bd6bd2cc SHA512 e204307d5a06550292a4fb6e44912260aa5a7f9fcce0883d8abb324a53673512218982b1893e7d563eb7d6313ac98a8638072aaf7b5d66d359e82832f2a8bb2f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.zip 1521758 BLAKE2B 653e697d76d392b18c09e5c1c96734a737071667345b9d6ff9c9589bbe74e1c50849dcd7fc00b660adc1aaa30366aa9ca93a94d5eb4e605f7897d9714119f926 SHA512 3bdd2bbeaf755618d9fa7f324814497308361cb0f3f93a7ac84b9fc01b79ab346353ff0a022d3d85e74aef57b3773e03ea9279d0a60de317a1c57d5eca2d1507
-DIST github.com%2Fspf13%2Fafero%2F@v%2Fv1.2.2.mod 64 BLAKE2B 51fb4de1e12106663228a747aa9e5fc135104573154f2a33f2a6cd2a927873efeb19bbb6d7a0a74fa1c7050683ba40d176d7c9e2c32b31e71aa43f9284b868b6 SHA512 e091de41de8e320e4eb47a082cc419a6d102791c888646a0482bf4d2b91a9f357455fe59ef0657e043dcd021441d6d78fe89440db3f11d4d516995903e0aa3b1
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.2-0.20171109065643-2da4a54c5cee.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.1-0.20171106142849-4c012f6dcd95.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.zip 34637 BLAKE2B 9e26766ed5717903173455e60ee1b690779e286b6be3cc22f633ccf26592839d149f813a1b92775ab2a447f0c1a20960f956fe5aa4a7c56abc6642b58b7973e3 SHA512 968b76a138261cfee0d1f58ede483741328968e24d073b24affdc7ab9cbf9bb76dd9fa1785423c49471c02ea4804810ebe673bc623c4f72389b2654a64a565e1
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.zip 37190 BLAKE2B 7c8b79cb736f53337fdd2878cd1d745a6da3d803c3d3f6a0ed53a86f1d4789d2c656c6e7a17f90caed496fac91fdc89fa66b1de7b2caf97409114aa59658efa3 SHA512 b2af82dccd20e9539d72c8629f2d4babd573f711a810fa77e629fec897a614776cc4ff857700c0b6eb32370a13d122504c0a4abdd3d9111eb8ac0938a0e7234f
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.zip 83537 BLAKE2B 6d6de57cc5e393aaef1cdc7e2140143eb7fa324bb2ea3b9f63bfe1e8652c02d24eb441fc3b435c6b287f165c5540a008a7c21ab4070d8bc77c77e6fb608f7e46 SHA512 c5cd06f825bbfdcf2ae58ea21edbeea03c110de3fc20fcf69db07aae26c9ae67a8ac57a9ffedec9b3b4f1f3b016089935049d75d92a9a03e45ce6345b4c9c611
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20170704070218-db04d3cc01c8.mod 38 BLAKE2B eafcc0e8c3633f2d4c2cb4eeb38eacdb7d029944b76da9ee611b3fd2d3b82d2adfb726405168a34f70251be920da17fdc6c70e8052720a6093c788dd724d24b3 SHA512 1efa76d27434ede74fd37d57c1673c8a60cf06248a73c425b5bd08dd068d6b50166b17a15b52d0c059218479fa3976e80e16cba08f671e9ecf7744cf5daa199c
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20180916011248-d98352740cb2.mod 38 BLAKE2B eafcc0e8c3633f2d4c2cb4eeb38eacdb7d029944b76da9ee611b3fd2d3b82d2adfb726405168a34f70251be920da17fdc6c70e8052720a6093c788dd724d24b3 SHA512 1efa76d27434ede74fd37d57c1673c8a60cf06248a73c425b5bd08dd068d6b50166b17a15b52d0c059218479fa3976e80e16cba08f671e9ecf7744cf5daa199c
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20180916011248-d98352740cb2.zip 14006 BLAKE2B 98de01f568485c6909fd0e98a46e2cb040bc556c175948af267453cff5c750c32e95b27609b513073d374da19a8521e62f7a8cc195e0eb993662e1c443cbbfd5 SHA512 7782b65f0d21a519d280f1655257da7b15e5e433f3eb3ff4bc963c81fab22cc9d18ffaea0786d9a7e9f5f32425353c055ea8fcc1daa1e8a30caac47ef2ef31b1
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv0.0.0-20171014202726-7bc6a0acffa5.mod 29 BLAKE2B 4f20ac8fb7beef2b678cff290a28c8125d368504aebfcde33e746d3ca7b9606804bd94c59c50fe328da4c1c592b8768b1aad89bc1d22ddf76cbc88d0f0f76b74 SHA512 5edcf2aac39658fc7e60d5086b066470c6d6213b66a2432bc35c6f67b8cb37a66a67fd97cdd4b8fa1b8b1bddfd544e4aa9838cec06806b89f8e1447e3c61bd2a
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.1.mod 180 BLAKE2B 5d858ca40ba2af791726707bdab12d76aebc9f9c9ea79e49a6125308b079cb945d6ed06ca2425116f19604651eb56f29b3ec8d79fd9f38ed044e745c9b73ddb6 SHA512 b5431ec3fbdaf9efda016ea275ff597106916f5d5781b2ca82e075e42da98f6c5d34a00410fe65ac3a3e64b3ac0e1ab02e68579effc426ccc5ee19a583c44d2c
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.1.zip 103935 BLAKE2B 3c8512512515eae07ff3690657bd8800880246c3cd667dac372268d59e0a6b2e4f01d2879e121af2a4535300404d9265e491f1f1792e30e7eda7604f121ad0b1 SHA512 28b5760cea9765d971fa36f8465b6f9ad3eb507af619f7782df86da44cbe61de5c95353bdb64b2a151c170f5e1afdb14ef4aa6bbcd9734aec10a1b104487ac7d
-DIST github.com%2Fvishvananda%2Fnetlink%2F@v%2Fv0.0.0-20150820014904-1e2e08e8a2dc.mod 38 BLAKE2B 3ade12a1ed924c4e12dd9422b763bf2cadf710ef072d593dc40923d48477b792d87aaa3035e020bcab860da3ceeddcadc44afd74d9e11c3902a5d6241c8826b9 SHA512 637521629966c8f1b3d711a2b2b7b1753bed946f26570cd8e5e55ee3da5b106d418e0b80f48cac7a2651b71103c0d09116707d7b9d8cfb2d78d7bac2e908560a
-DIST github.com%2Fvishvananda%2Fnetlink%2F@v%2Fv0.0.0-20150820014904-1e2e08e8a2dc.zip 63370 BLAKE2B 532cde14c4a77e867609ec8c6298c867322f9cb7f266a67eda9f8f823b0d942835792ff4828f2944badb439146771a40097464b3f775e6ce481b2c460c9d234e SHA512 3a67f6dc286b7e61ebd8b6f1334f90bad4c96b10354f2d74ba738352cb874631e028261dbe64ce05d2b7f8f93d94368559416275b4ac25aeb12ed9b10c7c5e20
-DIST github.com%2Fvishvananda%2Fnetns%2F@v%2Fv0.0.0-20191106174202-0a2b9b5464df.mod 45 BLAKE2B bca314ac4894ffa7e671b1d4ef848ae73386b60786cde851e62ff43e3534310c32b0b5e1134a3c81439ded6766c176ebf1d3759c9690ddcf31c4a36edc625bba SHA512 b4dd7f2c1eaa083bdc0e90f3f636ac1fe32b290b6dfbf09153b8b076aa7cb39c9fae038822059413a4883bab87982bfe873477cc38b23076a7c70b3ce9bf1f45
-DIST github.com%2Fvishvananda%2Fnetns%2F@v%2Fv0.0.0-20191106174202-0a2b9b5464df.zip 10040 BLAKE2B cbb85164b1525fed1ee710c1510a898d3dde2498f457bd70b57f25dadc7fa139b5ee9913140dfe500b31bc1ad6f6090ff47ba86d2c0704461f704955980f3403 SHA512 eb20cdd07df50c217fd67d1567da82c17ee020ea6d1f7bc79f4554a4f0beafd311c70b8a601f13df6534424bd45ce1a05c0262b0f1e54a10c77b2fb25720b99f
-DIST github.com%2Fxeipuuv%2Fgojsonpointer%2F@v%2Fv0.0.0-20180127040702-4e3ac2762d5f.mod 40 BLAKE2B bd8fe364e43fdad423aa574d01229ce91e9b3211cbe3a0234070805150d960d3c0fc0c6ec229e7ce5b4079906f2595a2b5f50a8da7bbe9bd906a72a6a7a7434b SHA512 cdd8a665fc41a4b04c59e869b021d5a9b793b9a441c320a234bf2a13be67af9aa60378c58991161f73d83c184039a52fc3f11cd121490996737f0508e277e1cc
-DIST github.com%2Fxeipuuv%2Fgojsonreference%2F@v%2Fv0.0.0-20180127040603-bd5ef7bd5415.mod 42 BLAKE2B c2d6fb272d8ae4e541c98023713bcf0b7f47f334d09ad7f9f375ed13eb14d27ee2995745782ecea40d31a561e28702fddeae4b5e32750726c7188118d741cf82 SHA512 14c839017eebd5dcf49dd3495a1ef6421d522389a2943c010d7869d214f757fe7d19d6ac3482fb3d8cbaaeb3977c5c311523aba90e9f7909fb1ba593ba57ae8a
-DIST github.com%2Fxeipuuv%2Fgojsonschema%2F@v%2Fv0.0.0-20180618132009-1d523034197f.mod 39 BLAKE2B 4a9a7321d9c10929abaf038e336248709fcfcde17c0ec9ec8e96407a9e12910b84e7008a7a847f533bd8695b56a8e35313d5771931d2fb1dfddd74ff59b58d5b SHA512 8ee8fb19b40e1366446a91a48a495fa96e4626f594903b7d4a53355069043c5a2958612dd0bf0f8b0a01a4fadf9dd92d0b9dfafbd10ab9c8ee6e3bcaa01853d2
-DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
-DIST go.opencensus.io%2F@v%2Fv0.22.0.zip 291484 BLAKE2B ca3bfc9c9864a2218ec373d78792ba0a40f4e2522bf3e0acd01b153eee43083cf8b124ae19b5fb0eaf7eef7cd59b2733b6c3ad847761518eeff2b183780c79cf SHA512 4fe718c3dd4c7bc0914b32844ae86ce281721f98b05797fb0a0fb51245129dfe1a74d2d04b419f4e0b7a31409b874e0e9d7939c8426af1efd92fdd5f12a52a98
-DIST go.opencensus.io%2F@v%2Fv0.22.2.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0
-DIST go.opencensus.io%2F@v%2Fv0.22.2.zip 296264 BLAKE2B 0b0e20eb2f10b81748d55b843f8489ffb8147a8b17c063cb21fe505fcdb46feb9cc0830f3b3a91ea7034b1e7ba78df27b0b235b8500b8c1ade19f6837366aaa1 SHA512 c98a43e1bfc9f4bd1e54847dfd6b07e9af14efdbcd8d61b70c9f9701541ee2405f800b1e33cf115615a43030accb735a1235e2b7d81f54efd127e2fe5c992326
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20171113213409-9f005a07e0d3.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.zip 1776515 BLAKE2B 5833fc2a16dec541a1362c9df7c02abe04a54e92e04eaafd5767c1a923e3a9cf90bc8d8ae0ee3c60b9745f5f0e3234350be1cafd984052353594d6e6b9fba041 SHA512 a1418dbc50d1e41495fd68ccba2ac84fed5edfd3e613c68850068afcce1136c3456e99d226674908a77c9648f16d7861edacb70afebcf3a7e73ea3dcdf8edbe7
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180906233101-161cd47e91fd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.zip 1417575 BLAKE2B 8c8f5c30c87eb0b1da6b5b8f60b64fcd5eb901e4b37dc504613bb344107086b2c12426cee08dfea04ad8dbeea80285dfe70fdc160599a40fa6266287811c86da SHA512 effdad1ad7877458a130ed4e895fce038c6aa4e94b7e4b32aee3fb5bd18813f2443e3cd4c019e3819839b9f6ddfef1850ffd88dfe334b14586a0899f42b362df
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.zip 1499692 BLAKE2B 2ca64710a73a42e2c956ac30aff1ef35e9df2619ae3eaf7ebea4e6efe6cd322244daac868fce5842f08d14eb2ae3b20654d721bd8713fe2141b409aac593dbc7 SHA512 49ce7d40e2a126a4bece83b274e7c5ec18dfbc3fe2203290022a47d4eb651425dd3e90e23e747229e0b5c734fde374bfdbff629ff8466767cb17e8e94385719d
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20150321034511-ca8a464d23d5.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20150321034511-ca8a464d23d5.zip 46377 BLAKE2B f4b0b1310f0661416f7c5a1ff711b8e27bae0ab50f757a7a787d45ace8a3fef730fe7d7a8c382b448d6d527c8d46e94c38ff25ba7aac9a597ef0c03ff508d6ee SHA512 023dc91a36f639a1f675c49201ba3df4f247e1b529c7df2725571b5fcfcb462f1cd4378f9eb9f7d6627fa6751da4c1187490aa3bd0c4940a4eb546b2f92afbcb
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.zip 81780 BLAKE2B 48e9b7ec89ad3f9cec88fe6c62ce64348a9217a134aab7306a07fd8cb28eeff91b15cf6f59ffec36df23a086195322f28e76fc16c026f33d2f419dcd3f84de04 SHA512 c7656f3c10140a5cb08620ce0647d0b2026272ec41bcd9df346dd2b5de5bd2236835ea117091646151a991f8f3aeeebd0cdfc1f784015d140162db5dc49f7325
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.zip 24746 BLAKE2B 743f3b4641f002cdfec6805ead87d196b43a4de1ec59c788f8516f4bc78ef2d58fc8f0cc34a52e8762f39f0845470dfe4e50f269036576d021d65a5f30aaf08a SHA512 f7622fbf44dcdf894cd397edc8399e38b734cdfc6a6ef4f8e81af9408c9d912a1b96544e713c42237fb3116e70678755e829da8f5f628bc1cbf6767921cd380e
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.zip 24987 BLAKE2B 5514571e2f35de919bf97d652901664298019c210e05e2f87c687e5ce8b83076ad2404f9aff704389f08ecb1a145f726f08a74c79a6c8b473545d79b426c589b SHA512 fe30b59f79b7819ecf634d22581da90684b2d76a1673a77e42f86dff9c418f85622b003982df7b066a3a8fd07f0dd8204c91c4733eeabb7fac4626ab43bd60b9
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.zip 26635 BLAKE2B a464a4ad04b36e50cfe966e6e6dc299c0f8b45d0f4198ba64483bb70ab815d033cec5cde60753b76dd1fbb16fed087b41179100a2002b0a61cd4a08f9de779fc SHA512 ae6f29d5f7790b37d1722d65f31708670bf19f429c60b2f6633756ecd40e47c1fab40fc128e0d70b3b6ed0ba47ce5f970ce5f4e55b8f1fa407d2efee7444b646
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180909124046-d0be0721c37e.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190422165155-953cdadca894.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190509141414-a5b02f93d862.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190509141414-a5b02f93d862.zip 1774674 BLAKE2B 1471e1c192483dba5292c653b7a34971ed6831bf2b0dad4e841da721ccb19d6f3497222cf6bf7b2c0a24f3a7e9a78d1585e52450ccd449a04cb31b91b2f4e3ca SHA512 fd411842df14ae4d9640d4213278510b76aaa9b24dbe6bb6369d7c1ba241bf6e37c9eee571615f878f65cadc61afdfdf4d2930241e914da21770cd92ddb8570b
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190514135907-3a4b5fb9f71f.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190522044717-8097e1b27ff5.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190916202348-b4ddaad3f8a3.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191022100944-742c48ecaeb7.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191112214154-59a1497f0cea.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191115151921-52ab43148777.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191210023423-ac6580df4449.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191210023423-ac6580df4449.zip 1910695 BLAKE2B 316571a5971606dba4acc980849d499d719bbdac688f86844468e462af5357e1f488509491d0f233d615348c4c4c8af685ce24b0c8dd585c4b4101d7637a1e99 SHA512 217a6b72ebe4d132ffa67cf34be0081325eb684ebb611544fcc8d91d00413351cbdc493a21fc6310290f64bb9af0e0a72c98f119a74405bb153734ab51fc4095
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.zip 1913079 BLAKE2B 8beb8e74d186ac1a5424f65cef958515d39b3082fd35c348a86305743b26d6e378635f8b4df868ddc386a700fac7e92d24f5aac3da467a8ee08abfcab7060be6 SHA512 7ccc0910f3dd4ca652bb2f02bd0e423497b4ecb6f9e124c4c6016597893ca3c9bed3c293922e28e5e6c958cdfedc0b8ffef2fe44ca3b282ebde1ab310a975fd9
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.zip 6349244 BLAKE2B 0aa464ac7b7d17fa7ec0627b64cd2301ed4f2819f837807db7a55725950dacb40be899b5148b07ea31b51530818edcccc6444a9800755e1d369ba8f1bce949b0 SHA512 982d78f580a7eac99a0c51e6f1fd2b2c3b91f56cd5e2b96fe960510049f7daf5915264f73f55f05675eee232a52998f9667fa84a9ccba15ed7819e4c93f583a7
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20191024005414-555d28b269f0.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20191024005414-555d28b269f0.zip 11971 BLAKE2B 7b29c746b75b42c23fca353b8299a4feaf69556ce1395872470e891835a8dec88a4e4c3b64ba6dcb4b5512aafb9bb44cc38c68915a0f6702f1027cda89d03d81 SHA512 58cb42ebeb88c06e049caf8c609e95243e7bdba51057de7d7301885aa904111dbe85962b5faef216ae45aa73f371b5de6516800a6f5765219cfde3fb06372afe
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180221164845-07fd8470d635.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181030221726-6c7e314b6563.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST google.golang.org%2Fapi%2F@v%2Fv0.0.0-20150730141719-0c2979aeaa5b.mod 29 BLAKE2B 411ad882e1d61d9e7a02f83256abf55c6a9557a980b89d7fd1a8981cd44f81182c17659e2fec1f4a587163a16556076418f166e90118a04041a8c488f9bb69dd SHA512 f2367919f017863362525d492f3c7f9e36aa311a55f96533ad6a2db1dcbdc9628f516ca435a43cd63a09c677c3528c2fe386907fda1da7dcb69ac2f6c95bfdc1
-DIST google.golang.org%2Fapi%2F@v%2Fv0.0.0-20150730141719-0c2979aeaa5b.zip 2771008 BLAKE2B 6e25a953858b1c8d6a2da19b4138df38cc4bb2a2979e410c0b0a13b8ada8ac29e9ba02c43ebdc9435b5bf121149a4b094473d13f2333f42c1aa6875ae1a04fac SHA512 c191253b0e76c52c3620c3b0de4caf7dd88a5d98e46b3cbfc149c5e5820338533191a462164170f4182c7f192be0a3d4b374e7565dcbb738ff10124d8633c80c
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.mod 171 BLAKE2B 09b1ead1721eaa1dab7106f0206fd6f1c1509ddd07f70d7a23f73a1c047b9b33b41bae2519d2ba7e5c6ca632a9082483080dbffe0af3c371934f2ceab9ad334c SHA512 f99bba4e696291aae951ea3865a1cbaf0ba2df7cde4f86e942b2e5f5a4dfc6dfde95c74e52ff31ba69f2aa2a838d21843343b2203c732279eede5936b92d7c8c
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.zip 417678 BLAKE2B cdb4e693ed5fb2bb77ed1ce0e0b1b25dbc3648c00554ade874ce28fffd5824f487fac744f9f2cb0920aad2c94a82024e1d233d1663887f0681790488a3af6f3c SHA512 1ffe3894d8fd004f6c28916e06d8e64708c20321ff914e82d05c50ce4c62b76bcd93e74e45871f7adc779791240ef8e25df08fdaaf2abdce20a3640d8964bb28
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20170731182057-09f6ed296fc6.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20170731182057-09f6ed296fc6.zip 1123155 BLAKE2B 8e361c2d35ecf55377521d01b9d07105703ece0ae2a3f2841766c06801dd61d87556852b5ab42ee23c2466dcae1fd7982bbfee36fc8f489c57aee24bfba5e066 SHA512 5e2ed5fdfd1172cff14fbf934e626033031a30dc8cc8c8b6322a798fcc3dabc02430ef4ca203dbdc537d974395e42bc35b8845d6828c63f1db8418c05b3302b3
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190522204451-c2c4e71fbf69.mod 331 BLAKE2B 7a174749635ef1cfd4ef7a5c67d29c51934734bb7d7d0873f56a461f040373213cd4c5deac8fe12b3ee75b7c210e5d26e7b378e31214ea0278ac84eb001f99fd SHA512 1ab2bfe29c78700b879cd08ba8993d452715b4d374d349f48018a7ea8bd5999c236be0d164fe8d340d660e222e229f8ed490b7d8f5c931e754f3617510145905
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190522204451-c2c4e71fbf69.zip 5299917 BLAKE2B 1e9e17b4453165e49537ec7edaf7be3959ea31c5ed6d434b7e3d4206f584fbb462e19469d40347cd89d9cc184cce8c215b1984f82b77e6f9e558cb5fa7b4a3c3 SHA512 c7e1da10eff6349af97c415b3a981601e40b384a7541668c0d55d969cdfbe5535582128a4cbeaab8978480760b56d3e2363bef6c0a6b709e2469fcda143421bc
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191230161307-f3c370f40bfb.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191230161307-f3c370f40bfb.zip 8035997 BLAKE2B 701b65c8b51271f8ff0e96f5fc2164f42951506c6c0d5caa1a621607e32fc1521a5be3dd287b461aee3f0022d5928eaddc314afad2f33d48da45d1d1df33347b SHA512 b1c72908124eeb0eca965973f0585e26216cc441b6eedb2c99698998fa16a3adde17879cc1d795fb1f4a9f902a2230f8647fdf2b4ea1d879bccc0980625f0ad4
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.0.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.0.zip 1027057 BLAKE2B aea0c3492c86bffd080c6e1c2d1bd213a6a6c9f6a47a63557f87397901177a78bbbfd40798ecb05bac315c250ad8d0d13e792e16cff69b5dec4557d7dc292d07 SHA512 ade68a1bb465469ad19340518e388da498afbaacad5e4decba807fad863fdaf22a36baf13b6bd629b15f18211057a94393aacfc31a5753216cffd86368cf74df
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.zip 1101208 BLAKE2B bee7938f7e39bd6acfe03bf03e1d4787f30384f34fbf292ddabf7e172dcf8736ebc0d32f7d26bdf0021252dcb984766bc3b778312434a4ffc5f515f009fd26ed SHA512 8b90599cca0b31538086a5d65dc124c2e7641ec42b4774b15b3f5cb063b39f3d8f83a7114e89e6aac1dc4cebbac526105378a3cd9504bc723cb26781b5d214fd
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.7.0.mod 30 BLAKE2B 8ec04a655d1d0c3cfde5c051842d84f8a8615d7d56563ad57769905212e0e7cc821933d5adedcb210c724de9699b6b9cd5bcfd3a2c9555516354d3e19ffd3482 SHA512 10c6aa20da47c7923358430b63d5d5264d54f6a6cf70b008ed157807c07073cd0c64bef9db282b39fdb523515e1429125079cc29273ba186f7e4b42712d3d37a
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.7.0.zip 466649 BLAKE2B dec58f439a38bb283fbc8ce13470800077f0f70e1707f47d32c490c7ead22a4a12ba085397903d1819d0212aca5d7cc5ae0a69439de01a728a7c3eeb1628079c SHA512 46c800c5e1d5eb475cd5f4a5d38ffcad3deecb799c0b5c96ff6eabebb0bbcffe3408548534cdd56c2a438238a872889af2d67a475bf675873a8238698074d235
-DIST gopkg.in%2Fairbrake%2Fgobrake.v2%2F@v%2Fv2.0.9.mod 36 BLAKE2B 33002a8288351a233f5e8236743a91df1f630355380a4ae8df10c32abc03470955eac6c15c95655caec990eb17ef2661985570e49293cb146517828090d95635 SHA512 8482c3135335a3a69611529f0d50bd19257b0fe8a8de2d4f2d6441ccde5f1e7a57d487cedc375575c5fe16094e5fc1c7f7f1a6bf04acc8a9d4f92701db279002
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.zip 39844 BLAKE2B b3dab69dbd1ebb999938c12595de7007dce9431cfeaeb5e77aba80c49918d1a4edf7fb95279e9b66686cb45deaf57a011c083e55fb66ec2c614582ba323954da SHA512 97c96a92ec86372c2f06141c30bceaa86ed62c1db34696f9542f43f3411cb0a37dea654de923a5ee054e603198179b9048e3b477da140e4092ffadc4525b9241
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.mod 28 BLAKE2B ee2514c386f6cb3ff4a9b829d903e57372ce765aeab91fb2f29e95358e3472e0612a00f2982f53790159738e416819e368afa03e44bf8f6b43511347bc6d6995 SHA512 7cf7d1933039974dd4fa16febc52cc118bcd0e35c329d4c563c7f411b8000d9e17be5bca9a60d94f5309cbef97b3d176110704ebfbc3c114572cbadf63a55a34
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.zip 40894 BLAKE2B 5edf237401ae1a48c425ffec6fc67146850d7137c7026260e894656f6c832066321d930151bdd7624489e1f768fc04b47b0fd3dac3b2171bd092dff344de16a7 SHA512 f99afc545324e49ef1de05fd4c8dde0dae37094e2fb1b81de8d8c9b8ba9b28f39f9b5ab715c728e4a0375544a48d49c2dbd719fc178d222e0b914a425d9aeb63
-DIST gopkg.in%2Fgemnasium%2Flogrus-airbrake-hook.v2%2F@v%2Fv2.1.2.mod 50 BLAKE2B c715a977e733670d4047cc0f62fd485ce2af214d87e799cdea97015f64ee66488e1f68f4aec8e8ab139cd70574a0dd5f54b7bcedad09b8890ad098bcb01d7f5f SHA512 2d48fa45b7183412ac358a60c0af0b3c2f77d5c461f6bf4ba5d7a162195d49076870e739ac6c59e95d41dae2002370f52faf183fd6ca7999d60374866fa3ebdc
-DIST gopkg.in%2Folivere%2Felastic.v2%2F@v%2Fv2.0.12.mod 35 BLAKE2B a362618fa34bbb067989eecaa1db22ce48db4d54bc2c445da1793ef909fd177047e6522f1aa6960d0dcf2033e5745d1be900c76f257c929af28340e65af49009 SHA512 305a12fa532d9a1b55fbb6cb95f0ef40012fce95411e54d2ebc309c3cfec3fb4d6c4ef85084478339618b5f8baed84ea793bebcc89726bff4955caa0ecf02c5c
-DIST gopkg.in%2Folivere%2Felastic.v2%2F@v%2Fv2.0.12.zip 398866 BLAKE2B a6f73c8fd00afa7b58adad07ad08a14bb63a734822c0ac5ec1c2778d75d39524f6de19d4bd90166c4785cbe12aad8c3263218740ff672a7877b5c8fd62157d9f SHA512 42ec4ed03304aaad0f18bc3b3818dd580c6af5f38ff940b9740461d4da71c113d73d1bad247fd079abcf8d4e134ef1b824681c713bc8a0a515a872afe4ecb4f8
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.mod 24 BLAKE2B 24a0c476e6590543f1b46175c4f0e036498afd9af616f6e204cac280e61cc10454e0c2a54fe10b9a7a306715ab966a5822ad78626c6cf20c2c78aac02598c922 SHA512 b147b03cabc4666519b94f4d9c7d9fefdea45810e3e35a9b3d303dba491d486fe03c0d5969a6186adbb9c75665e4f3e9811c7bf4ce72c46280b053611c198c41
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.zip 5099 BLAKE2B 56a68e317ccf9e6b0912331e7006742c3bfffd087742293b3d48ca7069c707db57b3722179c76b8c724303c8d58ac9ebf847c4277ed38a59e1510c676ebc941c SHA512 658ebdf931b23afe9d9d5d33d6c910fba7cf37740efe7052ba7627199c1a5fa4f93f093796674e341109430ba1f1b5ea933ea4a32356f63eaf337f05a562004a
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.zip 80160 BLAKE2B 7c19bcfee1136e9afaa54bb36a296e48c276e21517eead613313409f3ff85f4a961c1dca7926d3c4fd51feb0f537a85de905294d2a310276bb8177f27f3776c3 SHA512 a8fa21d2f84f8c6f28250e9ec7d678ae160963eaa0a373f345fe67804925b2647239a6117ad6f253f458f34ec9f62bc21e8f2071fc9dfe76dbd2a7ded1e1a0e0
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.mod 20 BLAKE2B 25d11078b1caa5a705f3ae32f28d155683dfe0109d96531b1fc20e632acdc2f8429395975e6509f5dc78bc042b5e70e90fa2daa9790c39eb3422cbc189fb21af SHA512 5a73bc54777766425ba833348d2986408baedcaff86acf1648384bbcb31e302b0b0de38e1a92d53083551e35c62f375262497c0d5a37c9fb39824ae68fe8113e
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.zip 88327 BLAKE2B 8730134244a00fb47b24b347ee4758fac8c11e3f627788c03d6568af129acb5b911b08857ab77a619bf571986ee90dd1c6c6aa12fd8e6e26d395a64bb7513a8b SHA512 66a13fedc358399644b869ac4b39a295c6c15d642e074ec66ff042e1b109f9603bc941ff25aaf7d9bc700f6c2fb1f60bf2a637a471e26ae037d822f0f1e2c518
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST k8s.io%2Fklog%2F@v%2Fv0.3.0.mod 19 BLAKE2B 2af8f84f1cc7227be731c55dbe33e87e9d4fbba134ae86b6a86bac30260f32c7f17422789189486b17e1a2b84cfdca35984dd6d6079aab621620e90da230a6ac SHA512 cd5afa0488338a1b22bb852219078d74d61f894fd075b60b22bf062dbc49ad16c1088ab55bc8ae72aeadb4f7fb9534b99adceeaf3913e47bbf00df1ead1c7aaf
-DIST k8s.io%2Fklog%2F@v%2Fv0.3.0.zip 35266 BLAKE2B 73313b579008ab1bf3f4b1c0857ba24b34798ea7c92c18b5da11db956b5f544cd2b2e8d601256f2ed012b972033662b3cb6afe1c85de048dc76978373b2c0e6e SHA512 adec8e9a68d5729c35604764b24caafdd30ea097e9e493f35fa47f0f2b4632d7055d50a1d90be3bcc22bc00e3c431e30795ea189ecf7ddfc634ad380eb686f9a
-DIST k8s.io%2Fkubernetes%2F@v%2Fv1.13.0.mod 25 BLAKE2B 4060536d51fac9854215957b1108a158adb0b3aeb8bfc659eca1140efdcf79cffe378db6f3cb1f4a4b68aa36468b7d5631e993d5a089eb839bd03b6b608496be SHA512 2349b7dbe8409836cc70d97c5b336f518b809f5731baf05ce68d957c9970895a9b7f89caf09763794cf13824ee29410b3a6e431b2da7f64610895c44b86c4d2d
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20190712204705-3dccf664f023.mod 164 BLAKE2B cd4086710de69fcfd2179978f78cb5fb4633a6700b6cab545a83a733fef06e492428deb492149294c3fea186aa01b86080d2a387c1af2a789f35b5f37abfc7ac SHA512 d2cb2a60b25ab16fe3d377d4811a04503c068eef7901bb971f4107d3cc1339279ee95e3c3967651c98112b61fa7bc0fd913dd61a8aec6348180fa8bb357914c5
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20190712204705-3dccf664f023.zip 93888 BLAKE2B f02de12146b319d3f1788ce00abcb4d73e1e00b7d372b59722bafafc94ecdec831985228595fc424fdf5125438fe03eaf93e55fe43f379a95180cc5e93348f2e SHA512 6b198501669452d40fbf42de191dae2e0289a9f7d9c8eb299aa1ec010010d3d01f5c34cd184e389b9eb88d27ef3fae8fa14e0c7c6dc05ff5ba79c7f60f4063e0
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20200117235808-5f6fbceb4c31.mod 164 BLAKE2B cd4086710de69fcfd2179978f78cb5fb4633a6700b6cab545a83a733fef06e492428deb492149294c3fea186aa01b86080d2a387c1af2a789f35b5f37abfc7ac SHA512 d2cb2a60b25ab16fe3d377d4811a04503c068eef7901bb971f4107d3cc1339279ee95e3c3967651c98112b61fa7bc0fd913dd61a8aec6348180fa8bb357914c5
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20200117235808-5f6fbceb4c31.zip 139116 BLAKE2B 0de019e1229821d8c2c53df204e6f8f9c3b80f1b3fe5ca6ff7482dd8f684c2bec95bdbfcfe84b9fb54fe060687d4f0740759a24aaaac27dc8d4794a4157d01ff SHA512 a67bcdc90e4d5395a2ff1ec6030bbbbd105a7a8cc564abdef28fed07a3d7a53382ff06b36b10a59f717e52d3fd3b3a54e92ff98ccafb31096fc03f7d78ce3cdf
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20200122174043-1e243dd1a584.mod 164 BLAKE2B cd4086710de69fcfd2179978f78cb5fb4633a6700b6cab545a83a733fef06e492428deb492149294c3fea186aa01b86080d2a387c1af2a789f35b5f37abfc7ac SHA512 d2cb2a60b25ab16fe3d377d4811a04503c068eef7901bb971f4107d3cc1339279ee95e3c3967651c98112b61fa7bc0fd913dd61a8aec6348180fa8bb357914c5
-DIST k8s.io%2Futils%2F@v%2Fv0.0.0-20200122174043-1e243dd1a584.zip 139668 BLAKE2B 503f321d47d7e30d85b1c6ef96cd136901e3a4d100cfad50382d2f88f312d0c525b134f0414abf3e03faa6ed86a665646746e848c2f55a8747f7fa90f0d9e4cc SHA512 631e2314df6041fc800bf34e10359894223f7500034d6a53ae578a117f05602708ae0030a312656a15147064ec8a17465f0c917ed400d4fc5b163e6ece89c764
diff --git a/app-emulation/cadvisor/cadvisor-0.36.0.ebuild b/app-emulation/cadvisor/cadvisor-0.36.0.ebuild
deleted file mode 100644
index 0dcf7a935df8..000000000000
--- a/app-emulation/cadvisor/cadvisor-0.36.0.ebuild
+++ /dev/null
@@ -1,453 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-COMMIT=4fe450a23991beb6c61dc941c0f87f56021ad386
-
-DESCRIPTION="Analyzes resource usage and performance characteristics of running containers"
-HOMEPAGE="https://github.com/google/cadvisor"
-
-EGO_SUM=(
- "bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod"
- "cloud.google.com/go v0.1.1-0.20160913182117-3b1ae45394a2"
- "cloud.google.com/go v0.1.1-0.20160913182117-3b1ae45394a2/go.mod"
- "cloud.google.com/go v0.26.0"
- "cloud.google.com/go v0.26.0/go.mod"
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78"
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/Microsoft/go-winio v0.3.2"
- "github.com/Microsoft/go-winio v0.3.2/go.mod"
- "github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5"
- "github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod"
- "github.com/Microsoft/hcsshim v0.8.7"
- "github.com/Microsoft/hcsshim v0.8.7/go.mod"
- "github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5"
- "github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod"
- "github.com/Rican7/retry v0.1.1-0.20160712041035-272ad122d6e5"
- "github.com/Rican7/retry v0.1.1-0.20160712041035-272ad122d6e5/go.mod"
- "github.com/SeanDolphin/bqschema v0.0.0-20150424181127-f92a08f515e1"
- "github.com/SeanDolphin/bqschema v0.0.0-20150424181127-f92a08f515e1/go.mod"
- "github.com/Shopify/sarama v1.8.0"
- "github.com/Shopify/sarama v1.8.0/go.mod"
- "github.com/Shopify/toxiproxy v2.1.4+incompatible"
- "github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod"
- "github.com/abbot/go-http-auth v0.0.0-20140618235127-c0ef4539dfab"
- "github.com/abbot/go-http-auth v0.0.0-20140618235127-c0ef4539dfab/go.mod"
- "github.com/aws/aws-sdk-go v1.6.10"
- "github.com/aws/aws-sdk-go v1.6.10/go.mod"
- "github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f"
- "github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f/go.mod"
- "github.com/blang/semver v3.1.0+incompatible"
- "github.com/blang/semver v3.1.0+incompatible/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b"
- "github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod"
- "github.com/cilium/ebpf v0.0.0-20191113100448-d9fb101ca1fb"
- "github.com/cilium/ebpf v0.0.0-20191113100448-d9fb101ca1fb/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f"
- "github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod"
- "github.com/containerd/cgroups v0.0.0-20200108155730-918ed86e29cc"
- "github.com/containerd/cgroups v0.0.0-20200108155730-918ed86e29cc/go.mod"
- "github.com/containerd/console v0.0.0-20170925154832-84eeaae905fa"
- "github.com/containerd/console v0.0.0-20170925154832-84eeaae905fa/go.mod"
- "github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1"
- "github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod"
- "github.com/containerd/containerd v1.0.2"
- "github.com/containerd/containerd v1.0.2/go.mod"
- "github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod"
- "github.com/containerd/containerd v1.3.2"
- "github.com/containerd/containerd v1.3.2/go.mod"
- "github.com/containerd/containerd v1.3.3"
- "github.com/containerd/containerd v1.3.3/go.mod"
- "github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod"
- "github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41"
- "github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41/go.mod"
- "github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod"
- "github.com/containerd/fifo v0.0.0-20191213151349-ff969a566b00"
- "github.com/containerd/fifo v0.0.0-20191213151349-ff969a566b00/go.mod"
- "github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c"
- "github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod"
- "github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod"
- "github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd"
- "github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod"
- "github.com/coreos/go-systemd v0.0.0-20160527140244-4484981625c1"
- "github.com/coreos/go-systemd v0.0.0-20160527140244-4484981625c1/go.mod"
- "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e"
- "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod"
- "github.com/coreos/go-systemd/v22 v22.0.0-20191111152658-2d78030078ef/go.mod"
- "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d"
- "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod"
- "github.com/cyphar/filepath-securejoin v0.2.2-0.20170720062807-ae69057f2299"
- "github.com/cyphar/filepath-securejoin v0.2.2-0.20170720062807-ae69057f2299/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/docker/distribution v2.6.0-rc.1.0.20170726174610-edc3ab29cdff+incompatible"
- "github.com/docker/distribution v2.6.0-rc.1.0.20170726174610-edc3ab29cdff+incompatible/go.mod"
- "github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible"
- "github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod"
- "github.com/docker/distribution v2.7.1+incompatible"
- "github.com/docker/distribution v2.7.1+incompatible/go.mod"
- "github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0"
- "github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod"
- "github.com/docker/docker v1.4.2-0.20180612054059-a9fbbdc8dd87"
- "github.com/docker/docker v1.4.2-0.20180612054059-a9fbbdc8dd87/go.mod"
- "github.com/docker/go-connections v0.3.0"
- "github.com/docker/go-connections v0.3.0/go.mod"
- "github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c"
- "github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod"
- "github.com/docker/go-units v0.2.1-0.20151230175859-0bbddae09c5a"
- "github.com/docker/go-units v0.2.1-0.20151230175859-0bbddae09c5a/go.mod"
- "github.com/docker/go-units v0.4.0"
- "github.com/docker/go-units v0.4.0/go.mod"
- "github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod"
- "github.com/eapache/go-resiliency v1.0.1-0.20160104191539-b86b1ec0dd42"
- "github.com/eapache/go-resiliency v1.0.1-0.20160104191539-b86b1ec0dd42/go.mod"
- "github.com/eapache/queue v1.0.2"
- "github.com/eapache/queue v1.0.2/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/euank/go-kmsg-parser v2.0.0+incompatible"
- "github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod"
- "github.com/fsnotify/fsnotify v1.4.7"
- "github.com/fsnotify/fsnotify v1.4.7/go.mod"
- "github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7"
- "github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod"
- "github.com/go-ini/ini v1.9.0"
- "github.com/go-ini/ini v1.9.0/go.mod"
- "github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55"
- "github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod"
- "github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e"
- "github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod"
- "github.com/godbus/dbus/v5 v5.0.3/go.mod"
- "github.com/gogo/googleapis v1.3.1"
- "github.com/gogo/googleapis v1.3.1/go.mod"
- "github.com/gogo/protobuf v1.2.1/go.mod"
- "github.com/gogo/protobuf v1.3.0"
- "github.com/gogo/protobuf v1.3.0/go.mod"
- "github.com/gogo/protobuf v1.3.1"
- "github.com/gogo/protobuf v1.3.1/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6"
- "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/snappy v0.0.0-20150730031844-723cc1e459b8"
- "github.com/golang/snappy v0.0.0-20150730031844-723cc1e459b8/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/uuid v1.1.1"
- "github.com/google/uuid v1.1.1/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/gorilla/mux v1.7.3"
- "github.com/gorilla/mux v1.7.3/go.mod"
- "github.com/gotestyourself/gotestyourself v2.2.0+incompatible"
- "github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod"
- "github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod"
- "github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.3/go.mod"
- "github.com/hpcloud/tail v1.0.0"
- "github.com/hpcloud/tail v1.0.0/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/influxdb/influxdb v0.9.6-0.20151125225445-9eab56311373"
- "github.com/influxdb/influxdb v0.9.6-0.20151125225445-9eab56311373/go.mod"
- "github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8"
- "github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/karrick/godirwalk v1.7.5"
- "github.com/karrick/godirwalk v1.7.5/go.mod"
- "github.com/kevinburke/go-bindata v3.16.0+incompatible"
- "github.com/kevinburke/go-bindata v3.16.0+incompatible/go.mod"
- "github.com/kevinburke/go-bindata v3.17.0+incompatible"
- "github.com/kevinburke/go-bindata v3.17.0+incompatible/go.mod"
- "github.com/kisielk/errcheck v1.1.0/go.mod"
- "github.com/kisielk/errcheck v1.2.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/klauspost/crc32 v0.0.0-20151223135126-a3b15ae34567"
- "github.com/klauspost/crc32 v0.0.0-20151223135126-a3b15ae34567/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.2"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod"
- "github.com/kr/pretty v0.0.0-20140723054909-088c856450c0"
- "github.com/kr/pretty v0.0.0-20140723054909-088c856450c0/go.mod"
- "github.com/kr/text v0.0.0-20130911015532-6807e777504f"
- "github.com/kr/text v0.0.0-20130911015532-6807e777504f/go.mod"
- "github.com/mattn/go-shellwords v1.0.4-0.20180201004752-39dbbfa24bbc"
- "github.com/mattn/go-shellwords v1.0.4-0.20180201004752-39dbbfa24bbc/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369"
- "github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod"
- "github.com/mesos/mesos-go v0.0.7-0.20180413204204-29de6ff97b48"
- "github.com/mesos/mesos-go v0.0.7-0.20180413204204-29de6ff97b48/go.mod"
- "github.com/mindprince/gonvml v0.0.0-20171110221305-fee913ce8fb2"
- "github.com/mindprince/gonvml v0.0.0-20171110221305-fee913ce8fb2/go.mod"
- "github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989"
- "github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989/go.mod"
- "github.com/mistifyio/go-zfs v2.1.2-0.20170901132433-166dd29edf05+incompatible"
- "github.com/mistifyio/go-zfs v2.1.2-0.20170901132433-166dd29edf05+incompatible/go.mod"
- "github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible"
- "github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod"
- "github.com/mrunalp/fileutils v0.0.0-20160930181131-4ee1cc9a8058"
- "github.com/mrunalp/fileutils v0.0.0-20160930181131-4ee1cc9a8058/go.mod"
- "github.com/onsi/ginkgo v1.6.0/go.mod"
- "github.com/onsi/ginkgo v1.10.1/go.mod"
- "github.com/onsi/ginkgo v1.10.3"
- "github.com/onsi/ginkgo v1.10.3/go.mod"
- "github.com/onsi/gomega v1.7.0/go.mod"
- "github.com/onsi/gomega v1.7.1"
- "github.com/onsi/gomega v1.7.1/go.mod"
- "github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod"
- "github.com/opencontainers/go-digest v1.0.0-rc1"
- "github.com/opencontainers/go-digest v1.0.0-rc1/go.mod"
- "github.com/opencontainers/image-spec v1.0.0-rc6.0.20170604055404-372ad780f634"
- "github.com/opencontainers/image-spec v1.0.0-rc6.0.20170604055404-372ad780f634/go.mod"
- "github.com/opencontainers/image-spec v1.0.1"
- "github.com/opencontainers/image-spec v1.0.1/go.mod"
- "github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod"
- "github.com/opencontainers/runc v1.0.0-rc10"
- "github.com/opencontainers/runc v1.0.0-rc10/go.mod"
- "github.com/opencontainers/runc v1.0.0-rc8.0.20190906011214-a6606a7ae9d9"
- "github.com/opencontainers/runc v1.0.0-rc8.0.20190906011214-a6606a7ae9d9/go.mod"
- "github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod"
- "github.com/opencontainers/runtime-spec v1.0.0"
- "github.com/opencontainers/runtime-spec v1.0.0/go.mod"
- "github.com/opencontainers/runtime-spec v1.0.1"
- "github.com/opencontainers/runtime-spec v1.0.1/go.mod"
- "github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod"
- "github.com/opencontainers/selinux v1.3.1-0.20190929122143-5215b1806f52"
- "github.com/opencontainers/selinux v1.3.1-0.20190929122143-5215b1806f52/go.mod"
- "github.com/opencontainers/selinux v1.3.2"
- "github.com/opencontainers/selinux v1.3.2/go.mod"
- "github.com/opencontainers/selinux v1.3.3"
- "github.com/opencontainers/selinux v1.3.3/go.mod"
- "github.com/pborman/uuid v0.0.0-20150824212802-cccd189d45f7"
- "github.com/pborman/uuid v0.0.0-20150824212802-cccd189d45f7/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod"
- "github.com/pkg/errors v0.8.1"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/pquerna/ffjson v0.0.0-20171002144729-d49c2bc1aa13"
- "github.com/pquerna/ffjson v0.0.0-20171002144729-d49c2bc1aa13/go.mod"
- "github.com/prometheus/client_golang v0.9.1"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612"
- "github.com/prometheus/client_model v0.0.0-20170216185247-6f3806018612/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.0.0-20170220103846-49fee292b27b"
- "github.com/prometheus/common v0.0.0-20170220103846-49fee292b27b/go.mod"
- "github.com/prometheus/procfs v0.0.0-20170419201554-1e2146578273"
- "github.com/prometheus/procfs v0.0.0-20170419201554-1e2146578273/go.mod"
- "github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod"
- "github.com/prometheus/procfs v0.0.5"
- "github.com/prometheus/procfs v0.0.5/go.mod"
- "github.com/russross/blackfriday/v2 v2.0.1"
- "github.com/russross/blackfriday/v2 v2.0.1/go.mod"
- "github.com/seccomp/libseccomp-golang v0.0.0-20150813023252-1b506fc7c24e"
- "github.com/seccomp/libseccomp-golang v0.0.0-20150813023252-1b506fc7c24e/go.mod"
- "github.com/shurcooL/sanitized_anchor_name v1.0.0"
- "github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod"
- "github.com/sirupsen/logrus v1.4.1/go.mod"
- "github.com/sirupsen/logrus v1.4.2"
- "github.com/sirupsen/logrus v1.4.2/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/spf13/afero v1.2.2/go.mod"
- "github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod"
- "github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod"
- "github.com/stretchr/objx v0.1.0"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod"
- "github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2"
- "github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod"
- "github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod"
- "github.com/urfave/cli v1.22.1"
- "github.com/urfave/cli v1.22.1/go.mod"
- "github.com/vishvananda/netlink v0.0.0-20150820014904-1e2e08e8a2dc"
- "github.com/vishvananda/netlink v0.0.0-20150820014904-1e2e08e8a2dc/go.mod"
- "github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df"
- "github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod"
- "github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod"
- "github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod"
- "github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod"
- "go.opencensus.io v0.22.0"
- "go.opencensus.io v0.22.0/go.mod"
- "go.opencensus.io v0.22.2"
- "go.opencensus.io v0.22.2/go.mod"
- "golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553"
- "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod"
- "golang.org/x/oauth2 v0.0.0-20150321034511-ca8a464d23d5"
- "golang.org/x/oauth2 v0.0.0-20150321034511-ca8a464d23d5/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190509141414-a5b02f93d862"
- "golang.org/x/sys v0.0.0-20190509141414-a5b02f93d862/go.mod"
- "golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod"
- "golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod"
- "golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod"
- "golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod"
- "golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod"
- "golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod"
- "golang.org/x/sys v0.0.0-20191210023423-ac6580df4449"
- "golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50"
- "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod"
- "golang.org/x/text v0.3.0"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.2"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20191024005414-555d28b269f0"
- "golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod"
- "golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "google.golang.org/api v0.0.0-20150730141719-0c2979aeaa5b"
- "google.golang.org/api v0.0.0-20150730141719-0c2979aeaa5b/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.6.5"
- "google.golang.org/appengine v1.6.5/go.mod"
- "google.golang.org/genproto v0.0.0-20170731182057-09f6ed296fc6"
- "google.golang.org/genproto v0.0.0-20170731182057-09f6ed296fc6/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69"
- "google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb"
- "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod"
- "google.golang.org/grpc v1.7.0"
- "google.golang.org/grpc v1.7.0/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.0"
- "google.golang.org/grpc v1.21.0/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.26.0"
- "google.golang.org/grpc v1.26.0/go.mod"
- "gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/fsnotify.v1 v1.4.7"
- "gopkg.in/fsnotify.v1 v1.4.7/go.mod"
- "gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod"
- "gopkg.in/olivere/elastic.v2 v2.0.12"
- "gopkg.in/olivere/elastic.v2 v2.0.12/go.mod"
- "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7"
- "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "gopkg.in/yaml.v2 v2.2.4"
- "gopkg.in/yaml.v2 v2.2.4/go.mod"
- "gotest.tools v2.2.0+incompatible"
- "gotest.tools v2.2.0+incompatible/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "k8s.io/klog v0.3.0"
- "k8s.io/klog v0.3.0/go.mod"
- "k8s.io/kubernetes v1.13.0/go.mod"
- "k8s.io/utils v0.0.0-20190712204705-3dccf664f023"
- "k8s.io/utils v0.0.0-20190712204705-3dccf664f023/go.mod"
- "k8s.io/utils v0.0.0-20200117235808-5f6fbceb4c31"
- "k8s.io/utils v0.0.0-20200117235808-5f6fbceb4c31/go.mod"
- "k8s.io/utils v0.0.0-20200122174043-1e243dd1a584"
- "k8s.io/utils v0.0.0-20200122174043-1e243dd1a584/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/google/cadvisor/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC MIT"
-KEYWORDS="~amd64"
-SLOT="0"
-
-COMMON_DEPEND="acct-group/cadvisor
- acct-user/cadvisor"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_prepare() {
- sed -i -e "/go get/d" build/assets.sh || die
- sed -i -e "s/git describe.*/echo ${PV} )/"\
- -e "s/git rev-parse --short HEAD.*/echo ${COMMIT} )/"\
- build/build.sh || die
- default
-}
-
-src_compile() {
- rm -fr vendor || die
- GO_FLAGS="${GOFLAGS}" VERBOSE="true" emake build
-}
-
-src_install() {
- newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
- dobin ${PN}
- keepdir /var/log/${PN}
- fowners ${PN}:${PN} /var/log/${PN}
-}
diff --git a/app-emulation/cadvisor/files/cadvisor.initd-r1 b/app-emulation/cadvisor/files/cadvisor.initd-r1
deleted file mode 100644
index 97a593dcd066..000000000000
--- a/app-emulation/cadvisor/files/cadvisor.initd-r1
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2016-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="cAdvisor - Analyzes resource usage and performance characteristics of running containers"
-pidfile=${pidfile:-"/run/${SVCNAME}.pid"}
-user=${user:-${SVCNAME}}
-group=${group:-${SVCNAME}}
-
-command="/usr/bin/cadvisor"
-command_background="true"
-start_stop_daemon_args="--user ${user} --group ${group} \
- --stdout /var/log/${SVCNAME}/${SVCNAME}.log \
- --stderr /var/log/${SVCNAME}/${SVCNAME}.log"
-
-depend() {
- after net
- use docker
-}
diff --git a/app-emulation/cadvisor/metadata.xml b/app-emulation/cadvisor/metadata.xml
deleted file mode 100644
index 054ff1968a44..000000000000
--- a/app-emulation/cadvisor/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <upstream>
- <remote-id type="github">google/cadvisor</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/cloud-hypervisor/Manifest b/app-emulation/cloud-hypervisor/Manifest
new file mode 100644
index 000000000000..5519f9b3e4fc
--- /dev/null
+++ b/app-emulation/cloud-hypervisor/Manifest
@@ -0,0 +1,2 @@
+DIST cloud-hypervisor-31.0-vendor.tar.gz 36783838 BLAKE2B 6087223f6cf17954bbe81a792233e735672da97e7b83515ce705b6b789afefcdee1d5a6c3a8f9aded27fd842eab0d1c31b1d09c0e56391ba4422ae4360befd5d SHA512 3595445a765a3571fe3597488940f7fa01576063de2324aa7a212f69b09b9fb0163ff922e3f789696702626ca51df4512fe9e60fe0cd59c3ea191c421718bf4f
+DIST cloud-hypervisor-31.0.tar.gz 849675 BLAKE2B b88f1cb53fde6085c33e969d508fbccf29d54e2f04cee143340d0a43547a967d7cdea6bc880c24c84e34bfc4a4d8c4e4478aeb54e858d4518e528f07b521b9b3 SHA512 9ddb8bce534331f609d00703e1c47e4359723432661aef4e0b920f8b289f13c9fda68d0f3320bcbc80824f699df1e456375b6268355c8a79d69c78e5d7659f52
diff --git a/app-emulation/cloud-hypervisor/cloud-hypervisor-31.0.ebuild b/app-emulation/cloud-hypervisor/cloud-hypervisor-31.0.ebuild
new file mode 100644
index 000000000000..6de65cf5be66
--- /dev/null
+++ b/app-emulation/cloud-hypervisor/cloud-hypervisor-31.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Auto-Generated by cargo-ebuild 0.5.4
+
+EAPI=8
+
+CRATES=" "
+inherit cargo
+
+DESCRIPTION="Open source Virtual Machine Monitor (VMM) that runs on top of KVM"
+HOMEPAGE="https://www.cloudhypervisor.org"
+SRC_URI="https://github.com/cloud-hypervisor/cloud-hypervisor/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~jsmolic/distfiles/${P}-vendor.tar.gz"
+
+LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+src_unpack() {
+ cargo_src_unpack
+ mkdir "${S}"/{vendor,.cargo} || die
+ ln -s "${WORKDIR}/vendor/"* "${S}"/vendor || die
+ cp "${FILESDIR}"/${P}-vendor-config "${S}"/.cargo/config.toml || die
+}
+
+src_prepare() {
+ default
+ sed -i 's/strip = true/strip = false/' Cargo.toml || die
+}
+
+src_configure() {
+ cargo_gen_config
+ cargo_src_configure --frozen
+}
+
+src_test() {
+ # Intergration tests require root
+ # https://github.com/cloud-hypervisor/cloud-hypervisor/issues/5388
+ cargo_src_test --bins
+}
+
+src_install() {
+ cargo_src_install
+ dodoc -r docs
+}
diff --git a/app-emulation/cloud-hypervisor/cloud-hypervisor-9999.ebuild b/app-emulation/cloud-hypervisor/cloud-hypervisor-9999.ebuild
new file mode 100644
index 000000000000..2769f9c4605b
--- /dev/null
+++ b/app-emulation/cloud-hypervisor/cloud-hypervisor-9999.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Auto-Generated by cargo-ebuild 0.5.4
+
+EAPI=8
+
+inherit cargo git-r3
+
+DESCRIPTION="Open source Virtual Machine Monitor (VMM) that runs on top of KVM"
+HOMEPAGE="https://www.cloudhypervisor.org"
+EGIT_REPO_URI="https://github.com/cloud-hypervisor/cloud-hypervisor.git"
+
+LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
+SLOT="0"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+src_unpack() {
+ git-r3_src_unpack
+ cargo_live_src_unpack
+}
+
+src_prepare() {
+ default
+ sed -i 's/strip = true/strip = false/' Cargo.toml || die
+}
+
+src_configure() {
+ cargo_gen_config
+ cargo_src_configure --frozen
+}
+
+src_test() {
+ # Integration tests require root
+ # https://github.com/cloud-hypervisor/cloud-hypervisor/issues/5388
+ cargo_src_test --bins
+}
+
+src_install() {
+ cargo_src_install
+ dodoc -r docs
+}
diff --git a/app-emulation/cloud-hypervisor/files/cloud-hypervisor-31.0-vendor-config b/app-emulation/cloud-hypervisor/files/cloud-hypervisor-31.0-vendor-config
new file mode 100644
index 000000000000..b20bf67b611d
--- /dev/null
+++ b/app-emulation/cloud-hypervisor/files/cloud-hypervisor-31.0-vendor-config
@@ -0,0 +1,45 @@
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source."https://github.com/cloud-hypervisor/kvm-bindings"]
+git = "https://github.com/cloud-hypervisor/kvm-bindings"
+branch = "ch-v0.6.0-tdx"
+replace-with = "vendored-sources"
+
+[source."https://github.com/cloud-hypervisor/versionize_derive"]
+git = "https://github.com/cloud-hypervisor/versionize_derive"
+branch = "ch"
+replace-with = "vendored-sources"
+
+[source."https://github.com/firecracker-microvm/micro-http"]
+git = "https://github.com/firecracker-microvm/micro-http"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source."https://github.com/rust-vmm/acpi_tables"]
+git = "https://github.com/rust-vmm/acpi_tables"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source."https://github.com/rust-vmm/mshv"]
+git = "https://github.com/rust-vmm/mshv"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source."https://github.com/rust-vmm/vfio"]
+git = "https://github.com/rust-vmm/vfio"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source."https://github.com/rust-vmm/vfio-user"]
+git = "https://github.com/rust-vmm/vfio-user"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source."https://github.com/rust-vmm/vm-fdt"]
+git = "https://github.com/rust-vmm/vm-fdt"
+branch = "main"
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
diff --git a/app-emulation/cloud-hypervisor/metadata.xml b/app-emulation/cloud-hypervisor/metadata.xml
new file mode 100644
index 000000000000..81242aa0ae84
--- /dev/null
+++ b/app-emulation/cloud-hypervisor/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cloud-hypervisor/cloud-hypervisor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest
index 7398ca2b26d7..a1fdc85deb9c 100644
--- a/app-emulation/cloud-init/Manifest
+++ b/app-emulation/cloud-init/Manifest
@@ -1,3 +1,3 @@
-DIST cloud-init-19.4.tar.gz 1091893 BLAKE2B 2ab8fef70b420c066d6d8f83871568eeac24f00879ecf3d58c3768dd809cff6a3b79c7e72d9a10204002101049ab86ab64f0c524362e00497a9222960ef380df SHA512 e69ea47eab41d69d64fa44102fbde59319da5f71a68f28a0f6ac65cd6866542b4fe58a71b84c903cfa9b1d2f26eb648cdf4de633b8df61e4f89c9fa4c2a2b1d3
-DIST cloud-init-20.1.tar.gz 1088152 BLAKE2B 1c075676bcf7454965beafaaa38f3cdf08f321ddd0303b7f710c49d2a69e0fb2ec8a81870a632b7504c47af6436555c97ea9fa9c8416955de78f8f551b5509b7 SHA512 ad28e4a0290165308ef2cdb8a935778ad99039978a204bee1098460de006bc3f375a3b81d0d72971fc4f4195d5d2ade9c648fb19e6d6eba12decf750dc54b6eb
-DIST cloud-init-20.4.tar.gz 1228898 BLAKE2B c5697af31e7219a060a82732fbae2e89dd00786e5b0feb638f1f64f6ce861df041ef687a6095cc3bdb5478f4f4c1504286155808102aea9cae853caa97d4ba1b SHA512 da2fa4673b253468380c4472795fd449809c8ac84d8f13ec1472b9b7e7d54e187ae06e5a81a36774793b05f4e1212dca57bc19aa8955b4c7fa7183cb100bfbb9
+DIST cloud-init-22.2.2.tar.gz 1349451 BLAKE2B fdb6669e9762984614fefe787834f20f056345d304327679fa8bc7b4d6566509a23ecc4a7ac4e6368b9b9078a72fe6fe35533a67e7aeb0c0accbf5ad014f8aae SHA512 18b75ebbb5e808e19df5ceddb6402cc881c33443fb169f736f54837254ba43836994f2392a26febbd8df3342b3467ee72759b6942cfeb96d07c0e452c11dd0bf
+DIST cloud-init-22.4.tar.gz 1494295 BLAKE2B 5f961c895c0d6c78a7cee47d2b52acd57d959baeb5172cea89d75ffe23424e3a8a3170a0ecdcad729c6cb0c898477ea94c43a5f8bdf200fc3f122c32fdb2e96d SHA512 6151d1d5e4be241219cb5804ca2bad2dd790f366bc847d286a8840faad1fb4adf5d780c9418ce574c2cfcefc16851a49961f33c5da1fbc84bb8299cf138bfcfc
+DIST cloud-init-23.4.tar.gz 1648908 BLAKE2B 0acec9c437c7a5a86ed9cd8718830a7311c257ae9f223a68959b8d1eccc693b35f6a716de5c04112d848c1e2e54f6461a3919fd733debba18989145f6669d359 SHA512 34966b173571764bf83779bef0e89a86971310ff0fa62feceef4fbe17c9fa6d1b69f11f57caaa32cc4ae4a74f598f157dfb3ce356221044666401230cfb1ad13
diff --git a/app-emulation/cloud-init/cloud-init-20.4.ebuild b/app-emulation/cloud-init/cloud-init-22.2.2.ebuild
index 9ad56e71193d..a1d0ec08c413 100644
--- a/app-emulation/cloud-init/cloud-init-20.4.ebuild
+++ b/app-emulation/cloud-init/cloud-init-22.2.2.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
-inherit distutils-r1
+# Disabled for now: bug #850628
+# https://bugs.launchpad.net/cloud-init/+bug/1978328
+#DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_10 )
-if [[ ${PV} == *9999 ]];then
+inherit distutils-r1 udev
+
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="amd64 arm64 ppc64 x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
@@ -20,7 +23,7 @@ HOMEPAGE="https://launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
-IUSE="test"
+IUSE="selinux test"
RESTRICT="!test? ( test )"
CDEPEND="
@@ -32,17 +35,16 @@ CDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
+ dev-python/netifaces[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
+ ${CDEPEND}
test? (
- ${CDEPEND}
>=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
)
"
RDEPEND="
@@ -51,28 +53,19 @@ RDEPEND="
sys-apps/iproute2
sys-fs/growpart
virtual/logger
+ selinux? ( sec-policy/selinux-cloudinit )
"
-PATCHES=(
- # Fix Gentoo support
- # https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
- "${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
- "${FILESDIR}/${PN}-20.4-gentoo-support-upstream-templates.patch"
- "${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
- "${FILESDIR}"/18.4-fix-update_package_sources-function.patch
- "${FILESDIR}"/18.4-add-support-for-package_upgrade.patch
-)
+distutils_enable_tests pytest
python_prepare_all() {
# Fix location of documentation installation
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
- sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
- distutils-r1_python_prepare_all
-}
-python_test() {
- # Do not use Makefile target as it does not setup environment correclty
- esetup.py nosetests -v --where cloudinit --where tests/unittests || die
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
+ fi
+ distutils-r1_python_prepare_all
}
python_install() {
@@ -85,10 +78,16 @@ python_install_all() {
distutils-r1_python_install_all
# installs as non-executable
- chmod +x "${D}"/etc/init.d/*
+ chmod +x "${D}"/etc/init.d/* || die
+}
+
+pkg_prerm() {
+ udev_reload
}
pkg_postinst() {
+ udev_reload
+
elog "cloud-init-local needs to be run in the boot runlevel because it"
elog "modifies services in the default runlevel. When a runlevel is started"
elog "it is cached, so modifications that happen to the current runlevel"
diff --git a/app-emulation/cloud-init/cloud-init-20.1.ebuild b/app-emulation/cloud-init/cloud-init-22.4.ebuild
index 4a00e092c2bc..839d6105a832 100644
--- a/app-emulation/cloud-init/cloud-init-20.1.ebuild
+++ b/app-emulation/cloud-init/cloud-init-22.4.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_7 python3_8 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
-inherit distutils-r1
+# Disabled for now: bug #850628
+# https://bugs.launchpad.net/cloud-init/+bug/1978328
+#DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_10 python3_11 )
-if [[ ${PV} == *9999 ]];then
+inherit distutils-r1 udev
+
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
else
SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 x86"
+ KEYWORDS="amd64 arm64 ppc64 x86"
fi
DESCRIPTION="Cloud instance initialisation magic"
@@ -20,7 +23,7 @@ HOMEPAGE="https://launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
-IUSE="test"
+IUSE="selinux test"
RESTRICT="!test? ( test )"
CDEPEND="
@@ -32,17 +35,16 @@ CDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
+ dev-python/netifaces[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
+ ${CDEPEND}
test? (
- ${CDEPEND}
>=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
)
"
RDEPEND="
@@ -51,28 +53,19 @@ RDEPEND="
sys-apps/iproute2
sys-fs/growpart
virtual/logger
+ selinux? ( sec-policy/selinux-cloudinit )
"
-PATCHES=(
- # Fix Gentoo support
- # https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
- "${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
- "${FILESDIR}/${PN}-20.1-gentoo-support-upstream-templates.patch"
- "${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
- "${FILESDIR}"/18.4-fix-update_package_sources-function.patch
- "${FILESDIR}"/18.4-add-support-for-package_upgrade.patch
-)
+distutils_enable_tests pytest
python_prepare_all() {
# Fix location of documentation installation
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
- sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
- distutils-r1_python_prepare_all
-}
-python_test() {
- # Do not use Makefile target as it does not setup environment correclty
- esetup.py nosetests -v --where cloudinit --where tests/unittests || die
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
+ fi
+ distutils-r1_python_prepare_all
}
python_install() {
@@ -85,10 +78,16 @@ python_install_all() {
distutils-r1_python_install_all
# installs as non-executable
- chmod +x "${D}"/etc/init.d/*
+ chmod +x "${D}"/etc/init.d/* || die
+}
+
+pkg_prerm() {
+ udev_reload
}
pkg_postinst() {
+ udev_reload
+
elog "cloud-init-local needs to be run in the boot runlevel because it"
elog "modifies services in the default runlevel. When a runlevel is started"
elog "it is cached, so modifications that happen to the current runlevel"
diff --git a/app-emulation/cloud-init/cloud-init-19.4.ebuild b/app-emulation/cloud-init/cloud-init-23.4.ebuild
index f83d948d0160..eba8a0ee55f0 100644
--- a/app-emulation/cloud-init/cloud-init-19.4.ebuild
+++ b/app-emulation/cloud-init/cloud-init-23.4.ebuild
@@ -1,20 +1,29 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_7 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
-inherit distutils-r1
+# Disabled for now: bug #850628
+# https://bugs.launchpad.net/cloud-init/+bug/1978328
+#DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_10 python3_11 python3_12 )
+
+inherit distutils-r1 udev
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.launchpad.net/cloud-init"
+else
+ SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
DESCRIPTION="Cloud instance initialisation magic"
HOMEPAGE="https://launchpad.net/cloud-init"
-SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
+IUSE="selinux test"
RESTRICT="!test? ( test )"
CDEPEND="
@@ -26,17 +35,16 @@ CDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
+ dev-python/netifaces[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
+ ${CDEPEND}
test? (
- ${CDEPEND}
- >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
)
"
RDEPEND="
@@ -45,28 +53,19 @@ RDEPEND="
sys-apps/iproute2
sys-fs/growpart
virtual/logger
+ selinux? ( sec-policy/selinux-cloudinit )
"
-PATCHES=(
- # Fix Gentoo support
- # https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
- "${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
- "${FILESDIR}/${P}-gentoo-support-upstream-templates.patch"
- "${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
- "${FILESDIR}"/18.4-fix-update_package_sources-function.patch
- "${FILESDIR}"/18.4-add-support-for-package_upgrade.patch
- "${FILESDIR}/${P}_CVE-2020-8631.patch"
-)
-
-src_prepare() {
+distutils_enable_tests pytest
+
+python_prepare_all() {
# Fix location of documentation installation
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
- distutils-r1_src_prepare
-}
-python_test() {
- # Do not use Makefile target as it does not setup environment correclty
- esetup.py nosetests -v --where cloudinit --where tests/unittests || die
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
+ fi
+ distutils-r1_python_prepare_all
}
python_install() {
@@ -79,10 +78,16 @@ python_install_all() {
distutils-r1_python_install_all
# installs as non-executable
- chmod +x "${D}"/etc/init.d/*
+ chmod +x "${D}"/etc/init.d/* || die
+}
+
+pkg_prerm() {
+ udev_reload
}
pkg_postinst() {
+ udev_reload
+
elog "cloud-init-local needs to be run in the boot runlevel because it"
elog "modifies services in the default runlevel. When a runlevel is started"
elog "it is cached, so modifications that happen to the current runlevel"
diff --git a/app-emulation/cloud-init/cloud-init-9999.ebuild b/app-emulation/cloud-init/cloud-init-9999.ebuild
index 406e3ee664a4..7bb69ee6336a 100644
--- a/app-emulation/cloud-init/cloud-init-9999.ebuild
+++ b/app-emulation/cloud-init/cloud-init-9999.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_7 python3_8 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
-inherit distutils-r1
+# Disabled for now: bug #850628
+#DISTUTILS_USE_PEP517=setuptools
+# https://bugs.launchpad.net/cloud-init/+bug/1978328
+PYTHON_COMPAT=( python3_10 python3_11 python3_12 )
-if [[ ${PV} == *9999 ]];then
+inherit distutils-r1 udev
+
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
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"
@@ -20,8 +23,7 @@ HOMEPAGE="https://launchpad.net/cloud-init"
LICENSE="GPL-3"
SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
+IUSE="selinux"
CDEPEND="
dev-python/jinja[${PYTHON_USEDEP}]
@@ -32,17 +34,16 @@ CDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
+ dev-python/netifaces[${PYTHON_USEDEP}]
"
-DEPEND="
+BDEPEND="
+ ${CDEPEND}
test? (
- ${CDEPEND}
- >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/unittest2[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/contextlib2[${PYTHON_USEDEP}]
+ dev-python/passlib[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
)
"
RDEPEND="
@@ -51,28 +52,20 @@ RDEPEND="
sys-apps/iproute2
sys-fs/growpart
virtual/logger
+ selinux? ( sec-policy/selinux-cloudinit )
"
-PATCHES=(
- # Fix Gentoo support
- # https://code.launchpad.net/~gilles-dartiguelongue/cloud-init/+git/cloud-init/+merge/358777
- "${FILESDIR}/${PN}-18.4-fix-packages-module.patch"
- "${FILESDIR}/${PN}-20.1-gentoo-support-upstream-templates.patch"
- "${FILESDIR}"/18.4-fix-filename-for-storing-locale.patch
- "${FILESDIR}"/18.4-fix-update_package_sources-function.patch
- "${FILESDIR}"/18.4-add-support-for-package_upgrade.patch
-)
+distutils_enable_tests pytest
python_prepare_all() {
# Fix location of documentation installation
sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die
- sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
- distutils-r1_python_prepare_all
-}
-python_test() {
- # Do not use Makefile target as it does not setup environment correclty
- esetup.py nosetests -v --where cloudinit --where tests/unittests || die
+ if [[ ${PV} == *9999 ]] ; then
+ sed -i 's/version=get_version(),/version=9999,/g' setup.py || die
+ fi
+
+ distutils-r1_python_prepare_all
}
python_install() {
@@ -85,10 +78,16 @@ python_install_all() {
distutils-r1_python_install_all
# installs as non-executable
- chmod +x "${D}"/etc/init.d/*
+ chmod +x "${D}"/etc/init.d/* || die
+}
+
+pkg_prerm() {
+ udev_reload
}
pkg_postinst() {
+ udev_reload
+
elog "cloud-init-local needs to be run in the boot runlevel because it"
elog "modifies services in the default runlevel. When a runlevel is started"
elog "it is cached, so modifications that happen to the current runlevel"
diff --git a/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch b/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch
deleted file mode 100644
index 9c542cfc0777..000000000000
--- a/app-emulation/cloud-init/files/18.4-add-support-for-package_upgrade.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7868b97507d0dd7d7721ad5c4539e22c67635f92 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:58:30 +0100
-Subject: [PATCH 5/5] gentoo: add support for package_upgrade
-
----
- cloudinit/distros/gentoo.py | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 7b838e82..22ad2cf3 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -189,23 +189,26 @@ class Distro(distros.Distro):
- distros.set_etc_timezone(tz=tz, tz_file=self._find_tz_file(tz))
-
- def package_command(self, command, args=None, pkgs=None):
-- if pkgs is None:
-- pkgs = []
--
- cmd = ['emerge']
- # Redirect output
- cmd.append("--quiet")
-
-- if args and isinstance(args, str):
-- cmd.append(args)
-- elif args and isinstance(args, list):
-- cmd.extend(args)
-+ if command == "upgrade":
-+ cmd.extend(["--update", "world"])
-+ else:
-+ if pkgs is None:
-+ pkgs = []
-+
-+ if args and isinstance(args, str):
-+ cmd.append(args)
-+ elif args and isinstance(args, list):
-+ cmd.extend(args)
-
-- if command:
-- cmd.append(command)
-+ if command:
-+ cmd.append(command)
-
-- pkglist = util.expand_package_list('%s-%s', pkgs)
-- cmd.extend(pkglist)
-+ pkglist = util.expand_package_list('%s-%s', pkgs)
-+ cmd.extend(pkglist)
-
- # Allow the output of this to flow outwards (ie not be captured)
- util.subp(cmd, capture=False)
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch b/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch
deleted file mode 100644
index a5bbf6034ac5..000000000000
--- a/app-emulation/cloud-init/files/18.4-fix-filename-for-storing-locale.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3756cdea3e844b9611de321a8075df80e7dbf74d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:28:22 +0100
-Subject: [PATCH 3/5] gentoo: fix filename for storing locale
-
-There must have been a misunderstanding as locale.gen is meant to
-contain locales to be generated if no argument is passed to locale-gen.
-
-When using openrc, Gentoo stores system locale in /etc/env.d/02locale
-which is generally manipulated through eselect.
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 98ac41ca..50bb61fb 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -20,7 +20,7 @@ LOG = logging.getLogger(__name__)
-
-
- class Distro(distros.Distro):
-- locale_conf_fn = '/etc/locale.gen'
-+ locale_conf_fn = '/etc/env.d/02locale'
- network_conf_fn = '/etc/conf.d/net'
- resolve_conf_fn = '/etc/resolv.conf'
- hostname_conf_fn = '/etc/conf.d/hostname'
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch b/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch
deleted file mode 100644
index d90258d1bc48..000000000000
--- a/app-emulation/cloud-init/files/18.4-fix-update_package_sources-function.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b15c4c4b24c894b3c8d444466110c881c35525e2 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 14 Nov 2018 15:35:37 +0100
-Subject: [PATCH 4/5] gentoo: fix update_package_sources function
-
-Method is meant to update packages repository, not to update the system.
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index 50bb61fb..7b838e82 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -212,7 +212,7 @@ class Distro(distros.Distro):
-
- def update_package_sources(self):
- self._runner.run("update-sources", self.package_command,
-- ["-u", "world"], freq=PER_INSTANCE)
-+ ["--sync"], freq=PER_INSTANCE)
-
-
- def convert_resolv_conf(settings):
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch b/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch
deleted file mode 100644
index 4a42cbb7d9e1..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-18.4-fix-packages-module.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e894c6f57b88305cdf6e4e2b1543475b2e02f436 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 23 Oct 2018 18:59:58 +0200
-Subject: [PATCH 1/2] Fix Gentoo package installation command
-
----
- cloudinit/distros/gentoo.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py
-index dc57717d..98ac41ca 100644
---- a/cloudinit/distros/gentoo.py
-+++ b/cloudinit/distros/gentoo.py
-@@ -192,7 +192,7 @@ class Distro(distros.Distro):
- if pkgs is None:
- pkgs = []
-
-- cmd = list('emerge')
-+ cmd = ['emerge']
- # Redirect output
- cmd.append("--quiet")
-
---
-2.19.0
-
diff --git a/app-emulation/cloud-init/files/cloud-init-19.4-gentoo-support-upstream-templates.patch b/app-emulation/cloud-init/files/cloud-init-19.4-gentoo-support-upstream-templates.patch
deleted file mode 100644
index 210c29437361..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-19.4-gentoo-support-upstream-templates.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 24 Oct 2018 10:52:46 +0200
-Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
-
----
- config/cloud.cfg.tmpl | 8 ++++++--
- templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
- tools/render-cloudcfg | 2 +-
- 3 files changed, 31 insertions(+), 3 deletions(-)
- create mode 100644 templates/hosts.gentoo.tmpl
-
-diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
-index 1fef133a..3f5a41a2 100644
---- a/config/cloud.cfg.tmpl
-+++ b/config/cloud.cfg.tmpl
-@@ -134,7 +134,7 @@ cloud_final_modules:
- # (not accessible to handlers/transforms)
- system_info:
- # This will affect which distro class gets used
--{% if variant in ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %}
-+{% if variant in ["arch", "centos", "debian", "fedora", "freebsd", "gentoo", "rhel", "suse", "ubuntu"] %}
- distro: {{ variant }}
- {% else %}
- # Unknown/fallback distro.
-@@ -172,7 +172,7 @@ system_info:
- primary: http://ports.ubuntu.com/ubuntu-ports
- security: http://ports.ubuntu.com/ubuntu-ports
- ssh_svcname: ssh
--{% elif variant in ["arch", "centos", "fedora", "rhel", "suse"] %}
-+{% elif variant in ["arch", "centos", "fedora", "gentoo", "rhel", "suse"] %}
- # Default user name + that default users groups (if added/used)
- default_user:
- name: {{ variant }}
-@@ -180,6 +180,10 @@ system_info:
- {% endif %}
- {% if variant == "suse" %}
- groups: [cdrom, users]
-+{% elif variant == "gentoo" %}
-+ groups: [users, wheel]
-+ primary_group: users
-+ no_user_group: true
- {% elif variant == "arch" %}
- groups: [wheel, users]
- {% else %}
-diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
-new file mode 100644
-index 00000000..cd045fa6
---- /dev/null
-+++ b/templates/hosts.gentoo.tmpl
-@@ -0,0 +1,24 @@
-+## template:jinja
-+{#
-+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
-+if enabled in cloud-config. Specifically, in order to enable it
-+you need to add the following to config:
-+ manage_etc_hosts: True
-+-#}
-+# Your system has configured 'manage_etc_hosts' as True.
-+# As a result, if you wish for changes to this file to persist
-+# then you will need to either
-+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
-+# b.) change or remove the value of 'manage_etc_hosts' in
-+# /etc/cloud/cloud.cfg or cloud-config from user-data
-+#
-+# The following lines are desirable for IPv4 capable hosts
-+127.0.0.1 {{fqdn}} {{hostname}}
-+127.0.0.1 localhost.localdomain localhost
-+127.0.0.1 localhost4.localdomain4 localhost4
-+
-+# The following lines are desirable for IPv6 capable hosts
-+::1 {{fqdn}} {{hostname}}
-+::1 localhost.localdomain localhost
-+::1 localhost6.localdomain6 localhost6
-+
-diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
-index 8b7cb875..d109044e 100755
---- a/tools/render-cloudcfg
-+++ b/tools/render-cloudcfg
-@@ -4,7 +4,7 @@ import argparse
- import os
- import sys
-
--VARIANTS = ["arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse",
-- "ubuntu", "unknown"]
-+VARIANTS = ["arch", "centos", "debian", "fedora", "freebsd", "gentoo", "rhel",
-+ "suse", "ubuntu", "unknown"]
-
- if "avoid-pep8-E402-import-not-top-of-file":
- _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/cloud-init-19.4_CVE-2020-8631.patch b/app-emulation/cloud-init/files/cloud-init-19.4_CVE-2020-8631.patch
deleted file mode 100644
index 625473c68f1d..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-19.4_CVE-2020-8631.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 42788bf24a1a0a5421a2d00a7f59b59e38ba1a14 Mon Sep 17 00:00:00 2001
-From: Ryan Harper <ryan.harper@canonical.com>
-Date: Fri, 24 Jan 2020 21:33:12 +0200
-Subject: [PATCH] cc_set_password: increase random pwlength from 9 to 20 (#189)
-
-Increasing the bits of security from 52 to 115.
-
-LP: #1860795
----
- cloudinit/config/cc_set_passwords.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cloudinit/config/cc_set_passwords.py b/cloudinit/config/cc_set_passwords.py
-index e3b39d8be..4943d5453 100755
---- a/cloudinit/config/cc_set_passwords.py
-+++ b/cloudinit/config/cc_set_passwords.py
-@@ -236,7 +236,7 @@ def handle(_name, cfg, cloud, log, args):
- raise errors[-1]
-
-
--def rand_user_password(pwlen=9):
-+def rand_user_password(pwlen=20):
- return util.rand_str(pwlen, select_from=PW_SET)
-
-
diff --git a/app-emulation/cloud-init/files/cloud-init-20.1-gentoo-support-upstream-templates.patch b/app-emulation/cloud-init/files/cloud-init-20.1-gentoo-support-upstream-templates.patch
deleted file mode 100644
index c840f4fde3eb..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-20.1-gentoo-support-upstream-templates.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 24 Oct 2018 10:52:46 +0200
-Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
-
----
- config/cloud.cfg.tmpl | 8 ++++++--
- templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
- tools/render-cloudcfg | 2 +-
- 3 files changed, 31 insertions(+), 3 deletions(-)
- create mode 100644 templates/hosts.gentoo.tmpl
-
-diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
-index 1fef133a..3f5a41a2 100644
---- a/config/cloud.cfg.tmpl
-+++ b/config/cloud.cfg.tmpl
-@@ -134,7 +134,7 @@ cloud_final_modules:
- # (not accessible to handlers/transforms)
- system_info:
- # This will affect which distro class gets used
--{% if variant in ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel", "suse", "ubuntu"] %}
-+{% if variant in ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "gentoo", "rhel", "suse", "ubuntu"] %}
- distro: {{ variant }}
- {% else %}
- # Unknown/fallback distro.
-@@ -172,7 +172,7 @@ system_info:
- primary: http://ports.ubuntu.com/ubuntu-ports
- security: http://ports.ubuntu.com/ubuntu-ports
- ssh_svcname: ssh
--{% elif variant in ["amazon", "arch", "centos", "fedora", "rhel", "suse"] %}
-+{% elif variant in ["amazon", "arch", "centos", "fedora", "gentoo", "rhel", "suse"] %}
- # Default user name + that default users groups (if added/used)
- default_user:
- name: {{ variant }}
-@@ -180,6 +180,10 @@ system_info:
- {% endif %}
- {% if variant == "suse" %}
- groups: [cdrom, users]
-+{% elif variant == "gentoo" %}
-+ groups: [users, wheel]
-+ primary_group: users
-+ no_user_group: true
- {% elif variant == "arch" %}
- groups: [wheel, users]
- {% else %}
-diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
-new file mode 100644
-index 00000000..cd045fa6
---- /dev/null
-+++ b/templates/hosts.gentoo.tmpl
-@@ -0,0 +1,24 @@
-+## template:jinja
-+{#
-+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
-+if enabled in cloud-config. Specifically, in order to enable it
-+you need to add the following to config:
-+ manage_etc_hosts: True
-+-#}
-+# Your system has configured 'manage_etc_hosts' as True.
-+# As a result, if you wish for changes to this file to persist
-+# then you will need to either
-+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
-+# b.) change or remove the value of 'manage_etc_hosts' in
-+# /etc/cloud/cloud.cfg or cloud-config from user-data
-+#
-+# The following lines are desirable for IPv4 capable hosts
-+127.0.0.1 {{fqdn}} {{hostname}}
-+127.0.0.1 localhost.localdomain localhost
-+127.0.0.1 localhost4.localdomain4 localhost4
-+
-+# The following lines are desirable for IPv6 capable hosts
-+::1 {{fqdn}} {{hostname}}
-+::1 localhost.localdomain localhost
-+::1 localhost6.localdomain6 localhost6
-+
-diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
-index 8b7cb875..d109044e 100755
---- a/tools/render-cloudcfg
-+++ b/tools/render-cloudcfg
-@@ -4,7 +4,7 @@ import argparse
- import os
- import sys
-
--VARIANTS = ["amazon", "arch", "centos", "debian", "fedora", "freebsd", "rhel",
-- "suse", "ubuntu", "unknown"]
-+VARIANTS = ["amazon", "arch", "centos", "debian", "fedora", "freebsd",
-+ "gentoo", "rhel", "suse", "ubuntu", "unknown"]
-
- if "avoid-pep8-E402-import-not-top-of-file":
- _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
---
-2.19.1
-
diff --git a/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch b/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch
deleted file mode 100644
index ec6063d0c68a..000000000000
--- a/app-emulation/cloud-init/files/cloud-init-20.4-gentoo-support-upstream-templates.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 823454f1ea140ec47f5f9c5c3c5ad62eb458eb8a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 24 Oct 2018 10:52:46 +0200
-Subject: [PATCH 2/5] Add support for gentoo in cloud.cfg and templates
-
----
- config/cloud.cfg.tmpl | 8 ++++++--
- templates/hosts.gentoo.tmpl | 24 ++++++++++++++++++++++++
- tools/render-cloudcfg | 2 +-
- 3 files changed, 31 insertions(+), 3 deletions(-)
- create mode 100644 templates/hosts.gentoo.tmpl
-
-diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
-index 1fef133a..3f5a41a2 100644
---- a/config/cloud.cfg.tmpl 2020-12-27 18:35:39.107000000 +0000
-+++ b/config/cloud.cfg.tmpl 2020-12-27 18:38:23.982000000 +0000
-@@ -154,7 +154,7 @@ cloud_final_modules:
- system_info:
- # This will affect which distro class gets used
- {% if variant in ["alpine", "amazon", "arch", "centos", "debian",
-- "fedora", "freebsd", "netbsd", "openbsd", "rhel",
-+ "fedora", "freebsd", "gentoo", "netbsd", "openbsd", "rhel",
- "suse", "ubuntu"] %}
- distro: {{ variant }}
- {% else %}
-@@ -206,7 +206,7 @@ system_info:
- primary: http://ports.ubuntu.com/ubuntu-ports
- security: http://ports.ubuntu.com/ubuntu-ports
- ssh_svcname: ssh
--{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora",
-+{% elif variant in ["alpine", "amazon", "arch", "centos", "fedora", "gentoo",
- "rhel", "suse"] %}
- # Default user name + that default users groups (if added/used)
- default_user:
-@@ -221,6 +221,10 @@ system_info:
- {% endif %}
- {% if variant == "suse" %}
- groups: [cdrom, users]
-+{% elif variant == "gentoo" %}
-+ groups: [users, wheel]
-+ primary_group: users
-+ no_user_group: true
- {% elif variant == "alpine" %}
- groups: [adm, sudo]
- {% elif variant == "arch" %}
-diff --git a/templates/hosts.gentoo.tmpl b/templates/hosts.gentoo.tmpl
-new file mode 100644
-index 00000000..cd045fa6
---- /dev/null
-+++ b/templates/hosts.gentoo.tmpl
-@@ -0,0 +1,24 @@
-+## template:jinja
-+{#
-+This file /etc/cloud/templates/hosts.gentoo.tmpl is only utilized
-+if enabled in cloud-config. Specifically, in order to enable it
-+you need to add the following to config:
-+ manage_etc_hosts: True
-+-#}
-+# Your system has configured 'manage_etc_hosts' as True.
-+# As a result, if you wish for changes to this file to persist
-+# then you will need to either
-+# a.) make changes to the master file in /etc/cloud/templates/hosts.gentoo.tmpl
-+# b.) change or remove the value of 'manage_etc_hosts' in
-+# /etc/cloud/cloud.cfg or cloud-config from user-data
-+#
-+# The following lines are desirable for IPv4 capable hosts
-+127.0.0.1 {{fqdn}} {{hostname}}
-+127.0.0.1 localhost.localdomain localhost
-+127.0.0.1 localhost4.localdomain4 localhost4
-+
-+# The following lines are desirable for IPv6 capable hosts
-+::1 {{fqdn}} {{hostname}}
-+::1 localhost.localdomain localhost
-+::1 localhost6.localdomain6 localhost6
-+
-diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg
-index 8b7cb875..d109044e 100755
---- a/tools/render-cloudcfg 2020-12-27 18:44:22.032049636 +0000
-+++ a/tools/render-cloudcfg 2020-12-27 18:44:41.632619051 +0000
-@@ -5,7 +5,7 @@ import os
- import sys
-
- VARIANTS = ["alpine", "amazon", "arch", "centos", "debian", "fedora",
-- "freebsd", "netbsd", "openbsd", "rhel", "suse", "ubuntu",
-+ "freebsd", "gentoo", "netbsd", "openbsd", "rhel", "suse", "ubuntu",
- "unknown"]
diff --git a/app-emulation/cloud-init/metadata.xml b/app-emulation/cloud-init/metadata.xml
index 997452569a62..a754b254be6b 100644
--- a/app-emulation/cloud-init/metadata.xml
+++ b/app-emulation/cloud-init/metadata.xml
@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
- <maintainer type="person">
- <email>eva@gentoo.org</email>
- <name>Gilles Dartiguelongue</name>
- </maintainer>
<longdescription lang="en">
Cloud-init is the industry standard multi-distribution method for cross-platform cloud instance initialization. It is supported across all major public cloud providers, provisioning systems for private cloud infrastructure, and bare-metal installations.
</longdescription>
<upstream>
<remote-id type="launchpad">cloud-init</remote-id>
+ <remote-id type="github">canonical/cloud-init</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/coldfire/coldfire-0.3.1-r1.ebuild b/app-emulation/coldfire/coldfire-0.3.1-r1.ebuild
new file mode 100644
index 000000000000..768ca068bcb2
--- /dev/null
+++ b/app-emulation/coldfire/coldfire-0.3.1-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Motorola Coldfire Emulator"
+HOMEPAGE="http://www.slicer.ca/coldfire/"
+SRC_URI="http://www.slicer.ca/coldfire/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-headers.patch
+ "${FILESDIR}"/${P}-ld.patch
+ "${FILESDIR}"/${P}-no-common.patch
+ "${FILESDIR}"/${P}-implicit-function-declarations.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ tc-export LD
+}
+
+src_install() {
+ dobin coldfire
+ dodoc CONTRIBUTORS HACKING README
+}
diff --git a/app-emulation/coldfire/files/coldfire-0.3.1-implicit-function-declarations.patch b/app-emulation/coldfire/files/coldfire-0.3.1-implicit-function-declarations.patch
new file mode 100644
index 000000000000..2a96229e101f
--- /dev/null
+++ b/app-emulation/coldfire/files/coldfire-0.3.1-implicit-function-declarations.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/900326
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -87,6 +87,7 @@ AC_CHECK_FUNCS(_snprintf snprintf)
+
+ AC_MSG_CHECKING(for unaligned long accesses)
+ AC_TRY_RUN([
++ #include <stdlib.h>
+ void main(void)
+ { unsigned char data[sizeof(long)*2];
+ long *ptr;
diff --git a/app-emulation/coldfire/metadata.xml b/app-emulation/coldfire/metadata.xml
index 71b1461e1146..98ae10b3c34a 100644
--- a/app-emulation/coldfire/metadata.xml
+++ b/app-emulation/coldfire/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
diff --git a/app-emulation/conmon/Manifest b/app-emulation/conmon/Manifest
deleted file mode 100644
index f8329538e44f..000000000000
--- a/app-emulation/conmon/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST conmon-2.0.22.tar.gz 103371 BLAKE2B f509ba800c847886ec2350e141d2b965ff1cc09822467718fb0d94acdabdc86c6f40dff9428679e4c4171ac6a522b3ba7622d66ebd8108be1a68cbf7418d5c09 SHA512 819e1d9279c1a22388220d710b975cdeb3c0b56413afb177afe1c96b649e2dce496d5f51fe4094f572111f771102ccd0ae86f1776e99fedb2e76e6e9130c2d5c
-DIST conmon-2.0.26.tar.gz 104681 BLAKE2B fc8369258a414d3a169b64019199c604d1d8bded70d5a38230f243053dcf09c6f9aee931b328913e6cbbe3c495aab4894647897f40f537a79eb587ecee58517a SHA512 5cbb66053fb48b514f93b3be4d4ac428f9eea8a3e1452b4df232250e9cd01202ecb7477c05e1e4dfb21595f2d1881be35cdea9b23f43c02bb7c0e67a3161396e
-DIST conmon-2.0.27.tar.gz 106647 BLAKE2B f242b1be4f86b18ca94dade3d1f5522d1ae1951f4b7abf7e563e1a93472c2a673cd48a136fdff12b410ebaa46694b70ffbf173fc37a3bbefb03891452c22dfae SHA512 2bc389fa3963cbb612669ec1d288adc888d7ac1de2b9bf483f18e0f62220775327ebcb771bfa7236815ef7247adb8fc6b8ae38748f7a383ec9590e3ee5769b65
diff --git a/app-emulation/conmon/conmon-2.0.22.ebuild b/app-emulation/conmon/conmon-2.0.22.ebuild
deleted file mode 100644
index 22d66f80a279..000000000000
--- a/app-emulation/conmon/conmon-2.0.22.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-EGIT_COMMIT="9c34a8663b85e479e0c083801e89a2b2835228ed"
-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 ~arm64"
-IUSE="systemd"
-RESTRICT="test"
-
-RDEPEND="dev-libs/glib:=
- systemd? ( sys-apps/systemd:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man"
-
-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
- sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die
- sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die
-}
-
-src_compile() {
- tc-export CC
- 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.26.ebuild b/app-emulation/conmon/conmon-2.0.26.ebuild
deleted file mode 100644
index e2e8f1c90b90..000000000000
--- a/app-emulation/conmon/conmon-2.0.26.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-EGIT_COMMIT="0e155c83aa739ef0a0540ec9f9d265f57f68038b"
-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 ~arm64"
-IUSE="systemd"
-RESTRICT="test"
-
-RDEPEND="dev-libs/glib:=
- systemd? ( sys-apps/systemd:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man"
-
-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
- sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die
- sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die
-}
-
-src_compile() {
- tc-export CC
- 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.27.ebuild b/app-emulation/conmon/conmon-2.0.27.ebuild
deleted file mode 100644
index 8922d84fc488..000000000000
--- a/app-emulation/conmon/conmon-2.0.27.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="An OCI container runtime monitor"
-HOMEPAGE="https://github.com/containers/conmon"
-SRC_URI="https://github.com/containers/conmon/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="systemd"
-RESTRICT="test"
-
-RDEPEND="dev-libs/glib:=
- systemd? ( sys-apps/systemd:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man"
-
-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
- sed -e 's|make -C tools|$(MAKE) -C tools|' -i Makefile || die
- sed -e 's|^GOMD2MAN = .*|GOMD2MAN = go-md2man|' -i docs/Makefile || die
-}
-
-src_compile() {
- tc-export CC
- emake GIT_COMMIT="v${PV}" \
- 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/metadata.xml b/app-emulation/conmon/metadata.xml
deleted file mode 100644
index 15f05bae08e9..000000000000
--- a/app-emulation/conmon/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="github">containers/conmon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/containerd/Manifest b/app-emulation/containerd/Manifest
deleted file mode 100644
index 494937361e7b..000000000000
--- a/app-emulation/containerd/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST containerd-1.3.7.tar.gz 5709989 BLAKE2B 0cfa6f5bcd41c1591e64f41dbba2720bed5f25d61625b6d09be19df56fe74b61532b627c35a830e1e4937333f790f7ff8a5fad18b8869a679a6fec18daf238d3 SHA512 7c6de27b6529e3fb3f924ec67a260a51bc45186d69baa4cae6720a08e5c3b74aeb43d236c0a4739f297b2863233bde7d2246a597c9e17713c48bec767c6bbfee
-DIST containerd-1.3.9.tar.gz 5717856 BLAKE2B f6b9741f7d793a18b44813453d185cb9e8f4742fbb2987521445104fb44bca913571d6b4f6386ea048084d6565d41759c6ec95ac4591bd9b2101b40bbaafd8fa SHA512 79e0baab72169f84b8661b77f54d0a906a380cd00cbabd00bfec6c10d71a13fc4dd81c7b5e1c3ce184f91d3f68d6df9b735f13e6e04d494792bf7374058d43aa
-DIST containerd-1.4.4.tar.gz 6174959 BLAKE2B 62d0a6bafbdb8da2b7d0f8b9371b566a971eda87b993e54af7a1d40a3d8ee3876bb38cb18c876f6911f91a531235bb448446acc690854b833bd51657df294d6e SHA512 f09930d19f53381d86cf522954458ecc949f15a0c6a49f990bdb61fe19afee075356338998ed84bd756f16ba85211f55f9c638de8b7083d71e24d8e87335e070
diff --git a/app-emulation/containerd/containerd-1.3.7.ebuild b/app-emulation/containerd/containerd-1.3.7.ebuild
deleted file mode 100644
index ab62a3500dbd..000000000000
--- a/app-emulation/containerd/containerd-1.3.7.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# update on bump, look for https://github.com/docker\
-# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/containerd.installer
-CONTAINERD_COMMIT="8fba4e9a7d01810a393d5d25a3621dc101981175"
-EGO_PN="github.com/containerd/${PN}"
-
-inherit golang-vcs-snapshot toolchain-funcs
-
-DESCRIPTION="A daemon to control runC"
-HOMEPAGE="https://containerd.io/"
-SRC_URI="https://github.com/containerd/${PN}/archive/${CONTAINERD_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
-IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
-
-DEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- seccomp? ( sys-libs/libseccomp )
-"
-
-RDEPEND="
- ${DEPEND}
- ~app-emulation/runc-1.0.0_rc10
-"
-
-BDEPEND="
- dev-go/go-md2man
- virtual/pkgconfig
- test? ( "${RDEPEND}" )
-"
-
-# tests require root or docker
-# upstream does not recommend stripping binary
-RESTRICT+=" strip test"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i -e "s/git describe --match.*$/echo ${PV})/"\
- -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\
- -e "s/-s -w//" \
- Makefile || die
-}
-
-src_compile() {
- local options=(
- $(usev apparmor)
- $(usex btrfs "" "no_btrfs")
- $(usex cri "" "no_cri")
- $(usex device-mapper "" "no_devmapper")
- $(usev seccomp)
- $(usev selinux)
- )
-
- myemakeargs=(
- BUILDTAGS="${options[*]}"
- DESTDIR="${ED}"
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
- )
-
- export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
- export GOFLAGS="-v -x -mod=vendor"
- emake "${myemakeargs[@]}" all man
-}
-
-src_install() {
- dobin bin/*
- doman man/*
- newinitd "${FILESDIR}"/${PN}.initd "${PN}"
- keepdir /var/lib/containerd
-
- # we already installed manpages, remove markdown source
- # before installing docs directory
- rm -rf docs/man || die
- local DOCS=( README.md PLUGINS.md docs/. )
- einstalldocs
-}
diff --git a/app-emulation/containerd/containerd-1.3.9.ebuild b/app-emulation/containerd/containerd-1.3.9.ebuild
deleted file mode 100644
index bf487739cac6..000000000000
--- a/app-emulation/containerd/containerd-1.3.9.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# update on bump, look for https://github.com/docker\
-# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/containerd.installer
-CONTAINERD_COMMIT="ea765ab"
-EGO_PN="github.com/containerd/${PN}"
-
-inherit golang-vcs-snapshot toolchain-funcs
-
-DESCRIPTION="A daemon to control runC"
-HOMEPAGE="https://containerd.io/"
-SRC_URI="https://github.com/containerd/${PN}/archive/${CONTAINERD_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
-IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
-
-DEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- seccomp? ( sys-libs/libseccomp )
-"
-
-RDEPEND="
- ${DEPEND}
- ~app-emulation/runc-1.0.0_rc10
-"
-
-BDEPEND="
- dev-go/go-md2man
- virtual/pkgconfig
- test? ( "${RDEPEND}" )
-"
-
-# tests require root or docker
-# upstream does not recommend stripping binary
-RESTRICT+=" strip test"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i -e "s/git describe --match.*$/echo ${PV})/"\
- -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\
- -e "s/-s -w//" \
- Makefile || die
-}
-
-src_compile() {
- local options=(
- $(usev apparmor)
- $(usex btrfs "" "no_btrfs")
- $(usex cri "" "no_cri")
- $(usex device-mapper "" "no_devmapper")
- $(usev seccomp)
- $(usev selinux)
- )
-
- myemakeargs=(
- BUILDTAGS="${options[*]}"
- DESTDIR="${ED}"
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
- )
-
- export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
- export GOFLAGS="-v -x -mod=vendor"
- emake "${myemakeargs[@]}" all man
-}
-
-src_install() {
- dobin bin/*
- doman man/*
- newinitd "${FILESDIR}"/${PN}.initd "${PN}"
- keepdir /var/lib/containerd
-
- # we already installed manpages, remove markdown source
- # before installing docs directory
- rm -rf docs/man || die
- local DOCS=( README.md PLUGINS.md docs/. )
- einstalldocs
-}
diff --git a/app-emulation/containerd/containerd-1.4.4.ebuild b/app-emulation/containerd/containerd-1.4.4.ebuild
deleted file mode 100644
index fc5462fead93..000000000000
--- a/app-emulation/containerd/containerd-1.4.4.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CONTAINERD_COMMIT=05f951a3781f4f2c1911b05e61c160e9c30eaa8e
-EGO_PN="github.com/containerd/${PN}"
-inherit golang-vcs-snapshot toolchain-funcs
-
-DESCRIPTION="A daemon to control runC"
-HOMEPAGE="https://containerd.io/"
-SRC_URI="https://github.com/containerd/containerd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="apparmor btrfs device-mapper +cri hardened +seccomp selinux test"
-
-DEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- seccomp? ( sys-libs/libseccomp )
-"
-
-RDEPEND="
- ${DEPEND}
- ~app-emulation/runc-1.0.0_rc92
-"
-
-BDEPEND="
- dev-go/go-md2man
- virtual/pkgconfig
- test? ( ${RDEPEND} )
-"
-
-# tests require root or docker
-# upstream does not recommend stripping binary
-RESTRICT+=" strip test"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i -e "s/git describe --match.*$/echo ${PV})/"\
- -e "s/git rev-parse HEAD.*$/echo ${CONTAINERD_COMMIT})/"\
- -e "s/-s -w//" \
- Makefile || die
-}
-
-src_compile() {
- local options=(
- $(usev apparmor)
- $(usex btrfs "" "no_btrfs")
- $(usex cri "" "no_cri")
- $(usex device-mapper "" "no_devmapper")
- $(usev seccomp)
- $(usev selinux)
- )
-
- myemakeargs=(
- BUILDTAGS="${options[*]}"
- DESTDIR="${ED}"
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')"
- )
-
- export GOPATH="${WORKDIR}/${P}" # ${PWD}/vendor
- export GOFLAGS="-v -x -mod=vendor"
- emake "${myemakeargs[@]}" all man
-}
-
-src_install() {
- dobin bin/*
- doman man/*
- newinitd "${FILESDIR}"/${PN}.initd "${PN}"
- keepdir /var/lib/containerd
-
- # we already installed manpages, remove markdown source
- # before installing docs directory
- rm -r docs/man || die
-
- local DOCS=( README.md PLUGINS.md docs/. )
- einstalldocs
-}
diff --git a/app-emulation/containerd/files/containerd.initd b/app-emulation/containerd/files/containerd.initd
deleted file mode 100644
index 6536fc9ef209..000000000000
--- a/app-emulation/containerd/files/containerd.initd
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="Containerd container runtime"
-command="/usr/bin/containerd"
-command_args="${command_args:-}"
-command_background="true"
-pidfile="${pidfile:-/run/${RC_SVCNAME}.pid}"
-start_stop_daemon_args="--stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
-
-start_pre() {
- checkpath -m 0750 -d "/var/log/${RC_SVCNAME}"
-
- ulimit -n 1048576
-
- # Having non-zero limits causes performance problems due to accounting overhead
- # in the kernel. We recommend using cgroups to do container-local accounting.
- ulimit -u unlimited
-
- return 0
-}
-
-start_post() {
- ewaitfile 5 /run/containerd/containerd.sock
-}
diff --git a/app-emulation/containerd/metadata.xml b/app-emulation/containerd/metadata.xml
deleted file mode 100644
index 0795c4ce61ef..000000000000
--- a/app-emulation/containerd/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription>
- Containerd is a daemon with an API and a command line client, to manage
- containers on one machine. It uses runC to run containers according to
- the OCI specification. Containerd has advanced features such as seccomp
- and user namespace support as well as checkpoint and restore for cloning
- and live migration of containers.
- </longdescription>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <use>
- <flag name="apparmor">Support for AppArmor</flag>
- <flag name="btrfs">Support for BTRFS snapshot driver</flag>
- <flag name="cri">Support for Kubernetes CRI</flag>
- <flag name="device-mapper">Support for device mapper snapshot driver</flag>
- </use>
- <upstream>
- <remote-id type="github">containerd/containerd</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/containers-storage/Manifest b/app-emulation/containers-storage/Manifest
deleted file mode 100644
index 68e76893028e..000000000000
--- a/app-emulation/containers-storage/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST containers-storage-1.18.1.tar.gz 3803605 BLAKE2B 6ecf7a2ac395f0973f2d071d6736ccd6dfe8917168b50daeb26b141457d9fc53d9f4471577c659dcf77f2d4058d0a5cecbe1599a365d7ae102916188dc44aa5d SHA512 1b2d16ae5703af232c58eb4ecc65b98a7f754cd9784b563e5323ef3303dc8f72896453f2fd84fee20490b72f9c2455437d5879f6c5c23aaa188316cb1b272211
-DIST containers-storage-1.20.2.tar.gz 3827404 BLAKE2B 7284a86c34c91c21e49d7c9f89bfe8cc65d3a6673d37ea2e6e769c8abda581189b62119480bfcb0757cc3b4b47e29c7e0c65d245ec9bac082674f4b29f0899e1 SHA512 6ed73080da5c284eb421dd3c192662b16b2c72801bd0043f676c1e3bf44ee9899b10dea7fe5e2e52f95ecc511606aa2d971fd064b4cc7c993459ea75bf14536f
-DIST containers-storage-1.23.3.tar.gz 3345068 BLAKE2B 2eb62b851e23055409a3ba41beb08add1faa0ed508572ce125359d35dd9163e85547bbec1b71903a67580f9f9f7f056107adce549b680a84cb356cba3954cde4 SHA512 0aaf2ba71f6e4ee26e9798f42c4ad4f5b5b9c625891177757bdbdcf760c2e55526167f4775cd3ddab83a0b0b61f1aebc75be4abc6565846cb442cdc26afbe17e
diff --git a/app-emulation/containers-storage/containers-storage-1.18.1.ebuild b/app-emulation/containers-storage/containers-storage-1.18.1.ebuild
deleted file mode 100644
index 868c589909c5..000000000000
--- a/app-emulation/containers-storage/containers-storage-1.18.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-
-KEYWORDS="~amd64"
-DESCRIPTION="containers/storage library"
-HOMEPAGE="https://github.com/containers/storage"
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-IUSE="btrfs +device-mapper test"
-SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-RDEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- device-mapper? ( sys-fs/lvm2:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man
- test? (
- sys-fs/btrfs-progs
- sys-fs/lvm2
- sys-apps/util-linux
- )"
-RESTRICT="test"
-
-S=${WORKDIR}/${P#containers-}
-
-src_prepare() {
- default
-
- sed -e 's|: install\.tools|:|' -i Makefile || die
-
- [[ -f hack/btrfs_tag.sh ]] || die
- use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
- "hack/btrfs_tag.sh" || die; }
-
- [[ -f hack/libdm_tag.sh ]] || die
- use device-mapper || { echo -e "#!/bin/sh\necho btrfs_noversion exclude_graphdriver_devicemapper" > \
- "hack/libdm_tag.sh" || die; }
-}
-
-src_compile() {
- export -n GOCACHE GOPATH XDG_CACHE_HOME #678856
- emake GOMD2MAN=go-md2man FFJSON= containers-storage docs
-}
-
-src_install() {
- dobin "${PN}"
- while read -r -d ''; do
- mv "${REPLY}" "${REPLY%.1}" || die
- done < <(find "${S}/docs" -name '*.[[:digit:]].1' -print0)
- find "${S}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die
-}
-
-src_test() {
- env -u GOFLAGS unshare -m emake local-test-unit || die
-}
diff --git a/app-emulation/containers-storage/containers-storage-1.20.2.ebuild b/app-emulation/containers-storage/containers-storage-1.20.2.ebuild
deleted file mode 100644
index 868c589909c5..000000000000
--- a/app-emulation/containers-storage/containers-storage-1.20.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-
-KEYWORDS="~amd64"
-DESCRIPTION="containers/storage library"
-HOMEPAGE="https://github.com/containers/storage"
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-IUSE="btrfs +device-mapper test"
-SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-RDEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- device-mapper? ( sys-fs/lvm2:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man
- test? (
- sys-fs/btrfs-progs
- sys-fs/lvm2
- sys-apps/util-linux
- )"
-RESTRICT="test"
-
-S=${WORKDIR}/${P#containers-}
-
-src_prepare() {
- default
-
- sed -e 's|: install\.tools|:|' -i Makefile || die
-
- [[ -f hack/btrfs_tag.sh ]] || die
- use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
- "hack/btrfs_tag.sh" || die; }
-
- [[ -f hack/libdm_tag.sh ]] || die
- use device-mapper || { echo -e "#!/bin/sh\necho btrfs_noversion exclude_graphdriver_devicemapper" > \
- "hack/libdm_tag.sh" || die; }
-}
-
-src_compile() {
- export -n GOCACHE GOPATH XDG_CACHE_HOME #678856
- emake GOMD2MAN=go-md2man FFJSON= containers-storage docs
-}
-
-src_install() {
- dobin "${PN}"
- while read -r -d ''; do
- mv "${REPLY}" "${REPLY%.1}" || die
- done < <(find "${S}/docs" -name '*.[[:digit:]].1' -print0)
- find "${S}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die
-}
-
-src_test() {
- env -u GOFLAGS unshare -m emake local-test-unit || die
-}
diff --git a/app-emulation/containers-storage/containers-storage-1.23.3.ebuild b/app-emulation/containers-storage/containers-storage-1.23.3.ebuild
deleted file mode 100644
index 868c589909c5..000000000000
--- a/app-emulation/containers-storage/containers-storage-1.23.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-
-KEYWORDS="~amd64"
-DESCRIPTION="containers/storage library"
-HOMEPAGE="https://github.com/containers/storage"
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-IUSE="btrfs +device-mapper test"
-SRC_URI="https://github.com/containers/storage/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-RDEPEND="
- btrfs? ( sys-fs/btrfs-progs )
- device-mapper? ( sys-fs/lvm2:= )"
-DEPEND="${RDEPEND}
- dev-go/go-md2man
- test? (
- sys-fs/btrfs-progs
- sys-fs/lvm2
- sys-apps/util-linux
- )"
-RESTRICT="test"
-
-S=${WORKDIR}/${P#containers-}
-
-src_prepare() {
- default
-
- sed -e 's|: install\.tools|:|' -i Makefile || die
-
- [[ -f hack/btrfs_tag.sh ]] || die
- use btrfs || { echo -e "#!/bin/sh\necho exclude_graphdriver_btrfs" > \
- "hack/btrfs_tag.sh" || die; }
-
- [[ -f hack/libdm_tag.sh ]] || die
- use device-mapper || { echo -e "#!/bin/sh\necho btrfs_noversion exclude_graphdriver_devicemapper" > \
- "hack/libdm_tag.sh" || die; }
-}
-
-src_compile() {
- export -n GOCACHE GOPATH XDG_CACHE_HOME #678856
- emake GOMD2MAN=go-md2man FFJSON= containers-storage docs
-}
-
-src_install() {
- dobin "${PN}"
- while read -r -d ''; do
- mv "${REPLY}" "${REPLY%.1}" || die
- done < <(find "${S}/docs" -name '*.[[:digit:]].1' -print0)
- find "${S}/docs" -name '*.[[:digit:]]' -exec doman '{}' + || die
-}
-
-src_test() {
- env -u GOFLAGS unshare -m emake local-test-unit || die
-}
diff --git a/app-emulation/containers-storage/metadata.xml b/app-emulation/containers-storage/metadata.xml
deleted file mode 100644
index ea691c789838..000000000000
--- a/app-emulation/containers-storage/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <use>
- <flag name="btrfs">
- Enables dependencies for the "btrfs" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="device-mapper">
- Enables dependencies for the "devicemapper" graph driver, including
- necessary kernel flags.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">containers/storage</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/cri-o/Manifest b/app-emulation/cri-o/Manifest
deleted file mode 100644
index 10b6399bd014..000000000000
--- a/app-emulation/cri-o/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST cri-o-1.17.1.tar.gz 10532728 BLAKE2B 12747b0161ca2fa7dc7e95fd4c000b9011402e65dac0885ed59a37a87b53907044d3b3c873d6fe82186313af6745e463ce84be259dae99793c6363794c76e16f SHA512 1548c4b20081e8f1af772b0b0fadd0f1b63af641283bef8b8cd8478bd626699c23b30b39fe460660776bc7e6509e85db73d1d7e0d030dd7bd3dbfe319c82e332
-DIST cri-o-1.18.3.tar.gz 11210469 BLAKE2B 16a9ed89c594c082e18d5a08ba1f87eaed600b95baed1e36c5b718e9dbaf52c7b482dbf6dba94a1cbc5e02f3dc58f0f21236b6b11c65fa60666d654e28c793fd SHA512 28798d0a46a9fe361fa2e57f350375abe2a66b955447d667a0a51b39034d73f98abf06371ccf5ea27dfcad38dc46907a2fe9583b94c9a0092ad18b2485b12640
-DIST cri-o-1.19.0.tar.gz 13383665 BLAKE2B 8288985392a08fb7fdc58f509d34f8814bf9670386b7aae42be349765cb1f3bd3f4b77077e9c282a4a25b0f99b8a8fc335c6a53053bd2575b3e23c225483a1d3 SHA512 15b506d755be735d7b71e503b02b309693e3090be41f5790bd34cec460238eab56829239caf18849f3656cf8c12f77a10bbb3ae4ad81eb4e18858946e454583d
diff --git a/app-emulation/cri-o/cri-o-1.17.1.ebuild b/app-emulation/cri-o/cri-o-1.17.1.ebuild
deleted file mode 100644
index d528603cf524..000000000000
--- a/app-emulation/cri-o/cri-o-1.17.1.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=ee2de87bd8e2a7a84799476cb4fc4ce8a78fdf6d
-
-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}
- !<app-emulation/podman-1.3.2-r1"
-
-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}'/' \
- -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \
- -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \
- -i Makefile || die
-
- echo ".NOTPARALLEL: binaries docs" >> 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
deleted file mode 100644
index bed85815a897..000000000000
--- a/app-emulation/cri-o/cri-o-1.18.3.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# 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 ~arm64"
-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}
- !<app-emulation/podman-1.3.2-r1"
-
-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}'/' \
- -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \
- -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \
- -i Makefile || die
-
- echo ".NOTPARALLEL: binaries docs" >> 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.19.0.ebuild b/app-emulation/cri-o/cri-o-1.19.0.ebuild
deleted file mode 100644
index d1678516f2e9..000000000000
--- a/app-emulation/cri-o/cri-o-1.19.0.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-EGIT_COMMIT=99c925bebdd9e392f2d575e25f2e6a1082e6c232
-
-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 ~arm64"
-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}
- !<app-emulation/podman-1.3.2-r1"
-
-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}'/' \
- -e "s|^GIT_COMMIT := .*|GIT_COMMIT := ${EGIT_COMMIT}|" \
- -e "s|^COMMIT_NO := .*|COMMIT_NO := ${EGIT_COMMIT}|" \
- -i Makefile || die
-
- echo ".NOTPARALLEL: binaries docs" >> 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/files/cri-o.logrotated b/app-emulation/cri-o/files/cri-o.logrotated
deleted file mode 100644
index fb0b8b14a8a1..000000000000
--- a/app-emulation/cri-o/files/cri-o.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/crio/crio.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/app-emulation/cri-o/files/crio.initd b/app-emulation/cri-o/files/crio.initd
deleted file mode 100644
index 9e6383ac976b..000000000000
--- a/app-emulation/cri-o/files/crio.initd
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2015-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="OCI Kubernetes Container Runtime daemon"
-pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
-extra_started_commands="reload"
-command="/usr/bin/${RC_SVCNAME}"
-command_args="${command_args}"
-command_background="true"
-start_stop_daemon_args=" \
- --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
- --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
-
-depend() {
- need net
-}
-
-checkconfig() {
- checkpath --directory --owner root:root --mode 0775 \
- /var/log/${RC_SVCNAME}
- checkpath --file --owner root:root --mode 0644 \
- /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
-}
-
-start() {
- checkconfig
- default_start
-}
-
-reload() {
- ebegin "Reloading ${RC_SVCNAME}"
- start-stop-daemon --signal HUP --pidfile "${pidfile}"
- eend $?
-}
diff --git a/app-emulation/cri-o/metadata.xml b/app-emulation/cri-o/metadata.xml
deleted file mode 100644
index ec23ec09fcc9..000000000000
--- a/app-emulation/cri-o/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <longdescription lang="en">
- CRI-O is meant to provide an integration path between
- OCI conformant runtimes and the kubelet. Specifically, it
- implements the Kubelet Container Runtime Interface (CRI)
- using OCI conformant runtimes. The scope of CRI-O is tied to
- the scope of the CRI.
- </longdescription>
- <use>
- <flag name="btrfs">
- Enables dependencies for the "btrfs" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="device-mapper">
- Enables dependencies for the "devicemapper" graph driver, including
- necessary kernel flags.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">cri-o/cri-o</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/cri-tools/Manifest b/app-emulation/cri-tools/Manifest
deleted file mode 100644
index 7e57aa95daf2..000000000000
--- a/app-emulation/cri-tools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cri-tools-1.18.0.tar.gz 5295512 BLAKE2B 9dda4a401b858e98aa60521d3268d8f6ff6a2c1bd2c219a0e5e9e5360fba58d41e97258c636da26ee57bbfc3286798c74107c7de92d3e3398bdf53b7d9078e94 SHA512 849b496e6d19eec29e0e56f0b37c094649311b80514f319b0c68c6519e3ddd48e1973c3d288144db998826676416644ec705b7ea0916c21898b40928ea800af1
diff --git a/app-emulation/cri-tools/cri-tools-1.18.0.ebuild b/app-emulation/cri-tools/cri-tools-1.18.0.ebuild
deleted file mode 100644
index 32412429f575..000000000000
--- a/app-emulation/cri-tools/cri-tools-1.18.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit bash-completion-r1 go-module
-MY_PV="v${PV/_beta/-beta.}"
-
-DESCRIPTION="CLI and validation tools for Kubelet Container Runtime (CRI)"
-HOMEPAGE="https://github.com/kubernetes-sigs/cri-tools"
-SRC_URI="https://github.com/kubernetes-sigs/cri-tools/archive/${MY_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"
-
-RESTRICT+=" test"
-
-src_compile() {
- emake VERSION="${MY_PV}"
- _output/crictl completion bash > ${PN}.bash || die
- _output/crictl completion zsh > ${PN}.zsh || die
-}
-
-src_install() {
- dobin _output/crictl
-
- newbashcomp ${PN}.bash ${PN}
- insinto /usr/share/zsh/site-functions
- newins ${PN}.zsh _${PN}
-
- dodoc -r docs {README,RELEASE,CHANGELOG,CONTRIBUTING}.md
-}
diff --git a/app-emulation/cri-tools/metadata.xml b/app-emulation/cri-tools/metadata.xml
deleted file mode 100644
index ded6fbaced72..000000000000
--- a/app-emulation/cri-tools/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">kubernetes-sigs/cri-tools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest
index 4e76bb4c8935..cdf8db6e0822 100644
--- a/app-emulation/crossover-bin/Manifest
+++ b/app-emulation/crossover-bin/Manifest
@@ -1 +1,4 @@
-DIST install-crossover-20.0.4.bin 221436226 BLAKE2B 486494455759d92f8e7e5d35968a603e41a0674cb0752e7d5ba4893d33e77b3e31fea2ebe75d471e2478e7f3cce9be2f712840f1f50bfe790fec5ec936b804a5 SHA512 78252d29f8a72a8742d57a65a60d09a81a70a98517b67468dac96af94ee8af7a313f164af6717f9a9c657095e66466809e08584c7a0fde3bd58c27ff00f41067
+DIST install-crossover-22.1.1.bin 335606941 BLAKE2B 3c5eada7190283f348348ef4d3b044db8e24e0dc3588d847854feb712d39bc9013e4f958a80c3f46e84b32f6b5c7d419ef6ab4fa1e946d308ba546140fb95504 SHA512 54bb40941baea184aa824c371a2eb73cdda26fa7c0765e242384e2c29a78f6b600c7455640b9888fd28ad482bf14f53a0308cbd55d9453f76d6eeb75cf0abfc7
+DIST install-crossover-23.0.0.bin 340426479 BLAKE2B eb78fd03475e88a021d8ca3c46358e0092863a8d123fa00ebebef30774c16a5350d489b8b0fe158fbdeb2daf60c2dd5b9ca1b3db855d94901561cfcad09a1ac5 SHA512 29c4303e43a857451d7954fc86337cf007e5d32fbcbed4a65066b464e1caf5aad4dd58bc4e65b1c77bb70903f7b7e541b5c1b7df2b44f60d1235aeb558deda1e
+DIST install-crossover-23.6.0.bin 333783609 BLAKE2B d24ef036530d2b8ce916ecb6adb6f5599d9beedb374a27a0009d14ff601685e8a4b23424a3a08e2ce613b3e77ea9893ce1b6caa07448aca365feea86f23fe320 SHA512 203c8966e71b91d98676b5e15646f790c2b4db3db3dbb8539a8ffe29b335f301535f5d7c80bf954c5e79b56668707ae960c396204f59e4079c455f12e663a445
+DIST install-crossover-24.0.0.bin 320724952 BLAKE2B a95028fda5c53889f09e567742fc881aaefc8c3c618b4de0f30cb53604bfa1a25097d56d8e025a509a9cce7aecde48b35ab7c8d87ba04761a8b42b717d1cf3b4 SHA512 93f3a4415ff29de98b38a488213d7f00b64f6fe70ae3a7555b911d5423163a678941ab859117172bf716b658eb8aecb1b6b430aed3233c1c55fd51893e8de046
diff --git a/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild b/app-emulation/crossover-bin/crossover-bin-22.1.1.ebuild
index 931771d2ae57..8f1820b96a94 100644
--- a/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild
+++ b/app-emulation/crossover-bin/crossover-bin-22.1.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 unpacker
@@ -17,36 +17,12 @@ IUSE="+capi +cups doc +gphoto2 +gsm +gstreamer +jpeg +lcms ldap +mp3 +nls osmesa
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="bindist test"
-
-QA_FLAGS_IGNORED="opt/cxoffice/.*"
-QA_PRESTRIPPED="
- opt/cxoffice/lib/.*
- opt/cxoffice/lib64/.*
- opt/cxoffice/bin/cabextract
- 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
-"
-QA_TEXTRELS="
- opt/cxoffice/bin/wineserver32
- opt/cxoffice/lib/wine/*
- opt/cxoffice/lib/libwine.so*
-"
-
+QA_PREBUILT="*"
S="${WORKDIR}"
DEPEND=""
BDEPEND="${PYTHON_DEPS}
+ app-alternatives/cpio
app-arch/unzip
dev-lang/perl
dev-util/bbe
@@ -56,15 +32,14 @@ RDEPEND="${DEPEND}
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
!prefix? ( sys-libs/glibc )
- !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(-)] )
+ jpeg? ( media-libs/libjpeg-turbo:0[abi_x86_32(-)] )
lcms? ( media-libs/lcms:2 )
ldap? ( net-nds/openldap[abi_x86_32(-)] )
gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] )
@@ -84,17 +59,20 @@ RDEPEND="${DEPEND}
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(-)] )
+ ssl? ( net-libs/gnutls:0/30.30[abi_x86_32(-)] )
v4l? ( media-libs/libv4l[abi_x86_32(-)] )
vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] )
dev-libs/glib:2
dev-libs/gobject-introspection
- dev-libs/openssl
+ || (
+ dev-libs/openssl-compat:1.1.1
+ =dev-libs/openssl-1.1.1*
+ )
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(-),osmesa?]
- media-libs/tiff:0[abi_x86_32(-)]
+ media-libs/tiff-compat:4[abi_x86_32(-)]
sys-auth/nss-mdns[abi_x86_32(-)]
sys-apps/util-linux[abi_x86_32(-)]
sys-libs/libunwind[abi_x86_32(-)]
@@ -115,13 +93,9 @@ RDEPEND="${DEPEND}
x11-libs/gtk+:3[introspection]
x11-libs/pango[introspection]
x11-libs/vte:2.91[introspection]
+ sys-libs/libxcrypt[compat]
"
-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}
@@ -130,12 +104,6 @@ src_unpack() {
src_prepare() {
default
- 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, license.txt file kept as it's used by
# multiple files (apart of the menu to show the license)
rm -r guis/ || die "Could not remove files"
@@ -143,6 +111,12 @@ src_prepare() {
}
src_install() {
+ 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" || die
+
# Install crossover symlink, bug #476314
dosym ../cxoffice/bin/crossover /opt/bin/crossover
@@ -158,6 +132,7 @@ src_install() {
# Disable auto-update
sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die
+
# Install configuration file
insinto /opt/cxoffice/etc
doins share/crossover/data/cxoffice.conf
@@ -182,39 +157,38 @@ src_install() {
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" \
+ # Drop Uninstall menus
+ rm "${ED}/usr/share/applications/"*"Uninstall"* \
|| die "Could not remove uninstall menus"
+
+ # Fix PATHs
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}:/:" \
+ sed -i -e "s:${ED}::" \
"${ED}/usr/share/applications/"*"CrossOver.desktop" \
|| die "Could not fix paths of *.desktop files"
# Workaround missing libs
- # https://www.codeweavers.com/support/forums/general/?t=26;mhl=198658;msg=198658
- if use gphoto2; then
- bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" >tmp || die
- mv tmp "${ED}/opt/cxoffice/lib/wine/gphoto2.ds.so" || die
- bbe -e 's/libgphoto2_port.so.10/libgphoto2_port.so.12/' "${ED}/opt/cxoffice/bin/cxdiag" >tmp || die
- mv tmp "${ED}/opt/cxoffice/bin/cxdiag" || die
- fperms a+x "/opt/cxoffice/bin/cxdiag"
- fi
+ #
# It tries to load libpcap as packaged in Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657900
# https://bugs.gentoo.org/721108
if use pcap; then
- bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" >tmp || die
- bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" >tmp64 || die
- mv tmp "${ED}/opt/cxoffice/lib/wine/wpcap.dll.so" || die
- mv tmp64 "${ED}/opt/cxoffice/lib64/wine/wpcap.dll.so" || die
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" >tmp || die
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" >tmp64 || die
+ mv tmp "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" || die
+ mv tmp64 "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" || die
fi
-}
-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"
+ # Remove libs that link to openldap
+ if ! use ldap; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/wldap32.so
+ fi
+
+ # Remove libs that link to opencl
+ if ! use opencl; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/opencl.so || die
+ fi
}
diff --git a/app-emulation/crossover-bin/crossover-bin-23.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-23.0.0.ebuild
new file mode 100644
index 000000000000..5639acd7f096
--- /dev/null
+++ b/app-emulation/crossover-bin/crossover-bin-23.0.0.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 +gstreamer +jpeg +lcms ldap +mp3 +nls osmesa +openal +opencl +opengl +pcap +png +scanner +ssl +v4l +vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="bindist test"
+QA_PREBUILT="*"
+S="${WORKDIR}"
+
+DEPEND=""
+BDEPEND="${PYTHON_DEPS}
+ app-alternatives/cpio
+ app-arch/unzip
+ dev-lang/perl
+ dev-util/bbe
+"
+
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ !prefix? ( sys-libs/glibc )
+ capi? ( net-libs/libcapi[abi_x86_32(-)] )
+ cups? ( net-print/cups[abi_x86_32(-)] )
+ jpeg? ( media-libs/libjpeg-turbo:0[abi_x86_32(-)] )
+ lcms? ( media-libs/lcms:2 )
+ ldap? ( net-nds/openldap[abi_x86_32(-)] )
+ gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[abi_x86_32(-)]
+ jpeg? ( media-plugins/gst-plugins-jpeg:1.0[abi_x86_32(-)] )
+ media-plugins/gst-plugins-meta:1.0[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.30[abi_x86_32(-)] )
+ v4l? ( media-libs/libv4l[abi_x86_32(-)] )
+ vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] )
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ dev-libs/openssl-compat:1.1.1
+ 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(-),osmesa?]
+ media-libs/tiff-compat:4[abi_x86_32(-)]
+ sys-auth/nss-mdns[abi_x86_32(-)]
+ sys-apps/util-linux[abi_x86_32(-)]
+ sys-libs/libunwind[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/libXcursor[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(-)]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ x11-libs/vte:2.91[introspection]
+ sys-libs/libxcrypt[compat]
+"
+
+src_unpack() {
+ # self unpacking zip archive; unzip warns about the exe stuff
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ default
+
+ # Remove unnecessary files, license.txt file kept as it's used by
+ # multiple files (apart of the menu to show the license)
+ rm -r guis/ || die "Could not remove files"
+ use doc || rm -r doc/ || die "Could not remove files"
+}
+
+src_install() {
+ 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" || die
+
+ # 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"
+
+ # Disable auto-update
+ sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die
+
+ # 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"
+
+ # Drop Uninstall menus
+ rm "${ED}/usr/share/applications/"*"Uninstall"* \
+ || die "Could not remove uninstall menus"
+
+ # Fix PATHs
+ 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"
+
+ # Workaround missing libs
+ #
+ # It tries to load libpcap as packaged in Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657900
+ # https://bugs.gentoo.org/721108
+ if use pcap; then
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" >tmp || die
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" >tmp64 || die
+ mv tmp "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" || die
+ mv tmp64 "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" || die
+ fi
+
+ # Remove libs that link to openldap
+ if ! use ldap; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/wldap32.so
+ fi
+
+ # Remove libs that link to opencl
+ if ! use opencl; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/opencl.so || die
+ fi
+}
diff --git a/app-emulation/crossover-bin/crossover-bin-23.6.0.ebuild b/app-emulation/crossover-bin/crossover-bin-23.6.0.ebuild
new file mode 100644
index 000000000000..0d24c74fa191
--- /dev/null
+++ b/app-emulation/crossover-bin/crossover-bin-23.6.0.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 +gstreamer +jpeg +lcms +mp3 +nls osmesa +openal +opencl +opengl +pcap +png +scanner +ssl +v4l +vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="bindist test"
+QA_PREBUILT="*"
+S="${WORKDIR}"
+
+DEPEND=""
+BDEPEND="${PYTHON_DEPS}
+ app-alternatives/cpio
+ app-arch/unzip
+ dev-lang/perl
+ dev-util/bbe
+"
+
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ !prefix? ( sys-libs/glibc )
+ capi? ( net-libs/libcapi[abi_x86_32(-)] )
+ cups? ( net-print/cups[abi_x86_32(-)] )
+ jpeg? ( media-libs/libjpeg-turbo:0[abi_x86_32(-)] )
+ lcms? ( media-libs/lcms:2 )
+ gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[abi_x86_32(-)]
+ jpeg? ( media-plugins/gst-plugins-jpeg:1.0[abi_x86_32(-)] )
+ media-plugins/gst-plugins-meta:1.0[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.30[abi_x86_32(-)] )
+ v4l? ( media-libs/libv4l[abi_x86_32(-)] )
+ vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] )
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ dev-libs/openssl-compat:1.1.1
+ 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(-),osmesa?]
+ media-libs/tiff-compat:4[abi_x86_32(-)]
+ sys-auth/nss-mdns[abi_x86_32(-)]
+ sys-apps/util-linux[abi_x86_32(-)]
+ sys-libs/libunwind[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/libXcursor[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(-)]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ x11-libs/vte:2.91[introspection]
+ sys-libs/libxcrypt[compat]
+"
+
+src_unpack() {
+ # self unpacking zip archive; unzip warns about the exe stuff
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ default
+
+ # Remove unnecessary files, license.txt file kept as it's used by
+ # multiple files (apart of the menu to show the license)
+ rm -r guis/ || die "Could not remove files"
+ use doc || rm -r doc/ || die "Could not remove files"
+}
+
+src_install() {
+ 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" || die
+
+ # 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"
+
+ # Disable auto-update
+ sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die
+
+ # 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"
+
+ # Drop Uninstall menus
+ rm "${ED}/usr/share/applications/"*"Uninstall"* \
+ || die "Could not remove uninstall menus"
+
+ # Fix PATHs
+ 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"
+
+ # Workaround missing libs
+ #
+ # It tries to load libpcap as packaged in Debian, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657900
+ # https://bugs.gentoo.org/721108
+ if use pcap; then
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" >tmp || die
+ bbe -e 's/libpcap.so.0.8/libpcap.so.1.9.1/' "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" >tmp64 || die
+ mv tmp "${ED}/opt/cxoffice/lib/wine/i386-unix/wpcap.so" || die
+ mv tmp64 "${ED}/opt/cxoffice/lib/wine/x86_64-unix/wpcap.so" || die
+ fi
+
+ # Remove libs that link to opencl
+ if ! use opencl; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/opencl.so || die
+ fi
+}
diff --git a/app-emulation/crossover-bin/crossover-bin-24.0.0.ebuild b/app-emulation/crossover-bin/crossover-bin-24.0.0.ebuild
new file mode 100644
index 000000000000..1dac82ed70b9
--- /dev/null
+++ b/app-emulation/crossover-bin/crossover-bin-24.0.0.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 +gstreamer +jpeg +lcms +mp3 +nls osmesa +openal +opencl +opengl +pcap +png +scanner +ssl +v4l +vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="bindist test"
+QA_PREBUILT="*"
+S="${WORKDIR}"
+
+DEPEND=""
+BDEPEND="${PYTHON_DEPS}
+ app-alternatives/cpio
+ app-arch/unzip
+ dev-lang/perl
+ dev-util/bbe
+"
+
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ !prefix? ( sys-libs/glibc )
+ capi? ( net-libs/libcapi[abi_x86_32(-)] )
+ cups? ( net-print/cups[abi_x86_32(-)] )
+ jpeg? ( media-libs/libjpeg-turbo:0[abi_x86_32(-)] )
+ lcms? ( media-libs/lcms:2 )
+ gphoto2? ( media-libs/libgphoto2[abi_x86_32(-)] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[abi_x86_32(-)]
+ jpeg? ( media-plugins/gst-plugins-jpeg:1.0[abi_x86_32(-)] )
+ media-plugins/gst-plugins-meta:1.0[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.30[abi_x86_32(-)] )
+ v4l? ( media-libs/libv4l[abi_x86_32(-)] )
+ vulkan? ( media-libs/vulkan-loader[abi_x86_32(-)] )
+ dev-libs/glib:2
+ dev-libs/gobject-introspection
+ dev-libs/openssl-compat:1.1.1
+ 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(-),osmesa?]
+ media-libs/tiff-compat:4[abi_x86_32(-)]
+ sys-auth/nss-mdns[abi_x86_32(-)]
+ sys-apps/util-linux[abi_x86_32(-)]
+ sys-libs/libunwind[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/libXcursor[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(-)]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ x11-libs/vte:2.91[introspection]
+ sys-apps/pcsc-lite[abi_x86_32(-)]
+ sys-libs/libxcrypt[compat]
+"
+
+src_unpack() {
+ # self unpacking zip archive; unzip warns about the exe stuff
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ default
+
+ # Remove unnecessary files, license.txt file kept as it's used by
+ # multiple files (apart of the menu to show the license)
+ rm -r guis/ || die "Could not remove files"
+ use doc || rm -r doc/ || die "Could not remove files"
+}
+
+src_install() {
+ 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" || die
+
+ # 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"
+
+ # Disable auto-update
+ sed -i -e 's/;;\"AutoUpdate\" = \"1\"/\"AutoUpdate\" = \"0\"/g' share/crossover/data/cxoffice.conf || die
+
+ # 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"
+
+ # Drop Uninstall menus
+ rm "${ED}/usr/share/applications/"*"Uninstall"* \
+ || die "Could not remove uninstall menus"
+
+ # Fix PATHs
+ 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"
+
+ # Remove libs that link to opencl
+ if ! use opencl; then
+ rm "${ED}"/opt/cxoffice/lib/wine/{i386,x86_64}-unix/opencl.so || die
+ fi
+}
diff --git a/app-emulation/crossover-bin/metadata.xml b/app-emulation/crossover-bin/metadata.xml
index 5c532a244c89..c176b5ef980c 100644
--- a/app-emulation/crossover-bin/metadata.xml
+++ b/app-emulation/crossover-bin/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ <name>Pacho Ramos</name>
+ </maintainer>
<use>
<flag name="capi">Enable ISDN support via CAPI</flag>
<flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag>
- <flag name="opencl">Enable OpenCL support</flag>
<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>
- <flag name="vulkan">Enable Vulkan drivers</flag>
</use>
</pkgmetadata>
diff --git a/app-emulation/crun/Manifest b/app-emulation/crun/Manifest
deleted file mode 100644
index abbcd0763236..000000000000
--- a/app-emulation/crun/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST crun-0.17.tar.gz 1385658 BLAKE2B 3d4c30989b9e79d02bf9a6c298daa8d0b5b6b8bfcfaca8ae9e27ad865762a32b6af2c8806586bba2ab94271446a93c34e8f2d465cc008c41bbe69e565556a1b1 SHA512 b095a3c4fca8ae683553805de468594e8dd891cc9911b56e8be7c429584e71fb40a364cf55a6a829950078a539d35308310f53f57b8fb40d483d394e91b20b01
-DIST crun-0.18.tar.gz 1394857 BLAKE2B db4f0407aaf5e4c5b9069ad5ae6a76308665d91559d92bf370b964e0914f337a84af896f1c1e00184ef4b0625bd1c0f1e2fc3295074c7f5524c5359ce54ba6b4 SHA512 94610d9d4ef95a9be708c6cf8cc38587c9c3b847d9da5cf9dfa4a2eddddb7e6724e39ffb222ed5d6c61bad8374ae50dc9e92d95b6d03ce0b185d5123afeeca46
diff --git a/app-emulation/crun/crun-0.17.ebuild b/app-emulation/crun/crun-0.17.ebuild
deleted file mode 100644
index bc97b2bddb13..000000000000
--- a/app-emulation/crun/crun-0.17.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-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 ~arm ~arm64 ~ppc64"
-IUSE="+bpf +caps criu +seccomp systemd static-libs"
-
-DEPEND="
- sys-kernel/linux-headers
- >=dev-libs/yajl-2.0.0
- caps? ( sys-libs/libcap )
- criu? ( >=sys-process/criu-3.15 )
- seccomp? ( sys-libs/libseccomp )
- systemd? ( sys-apps/systemd:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# 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_configure() {
- local myeconfargs=(
- $(use_enable bpf)
- $(use_enable caps)
- $(use_enable criu)
- $(use_enable seccomp)
- $(use_enable systemd)
- $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake -C libocispec
- emake crun
-}
-
-src_install() {
- emake "DESTDIR=${D}" install-exec
- doman crun.1
- einstalldocs
-}
diff --git a/app-emulation/crun/crun-0.18.ebuild b/app-emulation/crun/crun-0.18.ebuild
deleted file mode 100644
index bc97b2bddb13..000000000000
--- a/app-emulation/crun/crun-0.18.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-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 ~arm ~arm64 ~ppc64"
-IUSE="+bpf +caps criu +seccomp systemd static-libs"
-
-DEPEND="
- sys-kernel/linux-headers
- >=dev-libs/yajl-2.0.0
- caps? ( sys-libs/libcap )
- criu? ( >=sys-process/criu-3.15 )
- seccomp? ( sys-libs/libseccomp )
- systemd? ( sys-apps/systemd:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-# 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_configure() {
- local myeconfargs=(
- $(use_enable bpf)
- $(use_enable caps)
- $(use_enable criu)
- $(use_enable seccomp)
- $(use_enable systemd)
- $(usex static-libs '--enable-shared --enable-static' '--enable-shared --disable-static' '' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake -C libocispec
- emake crun
-}
-
-src_install() {
- emake "DESTDIR=${D}" install-exec
- doman crun.1
- einstalldocs
-}
diff --git a/app-emulation/crun/metadata.xml b/app-emulation/crun/metadata.xml
deleted file mode 100644
index d62ebff73e5c..000000000000
--- a/app-emulation/crun/metadata.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>robert@gnzler.io</email>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- 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
- container runtime. runc; the most used implementation of the OCI runtime specs
- written in Go, re-execs itself and use a module written in C for setting up
- the environment before the container process starts.
-
- crun aims to be also usable as a library that can be easily included in
- programs without requiring an external process for managing OCI containers.
- </longdescription>
- <upstream>
- <changelog>https://github.com/containers/crun/releases</changelog>
- <remote-id type="github">containers/crun</remote-id>
- </upstream>
- <use>
- <flag name="bpf">Enable in Kernel, eBPF (enhanced Berkley Packet Filter)
- support for managing device controllers.
- </flag>
- <flag name="criu">Enable CRIU based checkpoint/restore support</flag>
- </use>
-</pkgmetadata>
diff --git a/app-emulation/dinero/dinero-4.7-r1.ebuild b/app-emulation/dinero/dinero-4.7-r1.ebuild
index 5768448f3886..6fe3a1546442 100644
--- a/app-emulation/dinero/dinero-4.7-r1.ebuild
+++ b/app-emulation/dinero/dinero-4.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,7 @@ inherit autotools toolchain-funcs
MY_P="d${PV/./-}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Cache simulator"
-HOMEPAGE="http://www.cs.wisc.edu/~markhill/DineroIV/"
+HOMEPAGE="https://pages.cs.wisc.edu/~markhill/DineroIV/"
SRC_URI="ftp://ftp.cs.wisc.edu/markhill/DineroIV/${MY_P}.tar.gz"
LICENSE="free-noncomm"
diff --git a/app-emulation/dinero/metadata.xml b/app-emulation/dinero/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/app-emulation/dinero/metadata.xml
+++ b/app-emulation/dinero/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/app-emulation/diskimage-builder/Manifest b/app-emulation/diskimage-builder/Manifest
index f3a79ef9388b..6d2f7d256e5a 100644
--- a/app-emulation/diskimage-builder/Manifest
+++ b/app-emulation/diskimage-builder/Manifest
@@ -1,3 +1 @@
-DIST diskimage-builder-3.7.0.tar.gz 472703 BLAKE2B 4c3bf294f33556525f65d29e999cccaa4066d42f8e17742041666872ac01f5c6acab77d20b5d4281cc385a3f6988086e43c36f5330a656e5d2cb73c2e63e346d SHA512 c4453840f043774446e8dcb88bdc841d2fee8fb60432168fe48048171896932f2be9048fb0af9c5b777978218ec51f24bdfd6484a8e6cbe7a195b6df2508a1e1
-DIST diskimage-builder-3.8.0.tar.gz 473795 BLAKE2B 86ce05ac649ff0faef90d9dd6f2677d6cc609e2fa4613ab00b88f75b861e586650f4a74ea01d1fb68745581d043b0dc7d8f3c9e8437ee16003a34ffc617ab513 SHA512 f3e553746f77545cf6cfe7fad706000bfa9761878f4481bae5fe8d06118c2e0360a7af220e89fe3d65320a6a2ae8b4f4ae69259fa9455bebe8bae8b07acff455
-DIST diskimage-builder-3.9.0.tar.gz 473797 BLAKE2B 79654b7d5673d084e81850be102174b509c43fc598b54455256309abe9e503db779be03a440cd5bc6c37fd890bba9412cd8850dfc2bf855f7d8bf69e1e26ee6e SHA512 8be45bef3680b7a5c7aeb1a301a09ace26db51b4f842a7fdb19194a82cc3436e18296e9a3b88a75cfeccbd14e9098d6ad83f50ca44f7eaeba85accf4ef54e7da
+DIST diskimage-builder-3.32.0.tar.gz 532942 BLAKE2B e436e5268b649dc5e050f66b098e527b79f172df00da93f23c115e3d88692c3f6546774c2046c8d4722cdd4139af4d05701725496f283b60e08ce0885b70de66 SHA512 6f5c2e0df428bf85b847fdc0ceebfdb66823b92b5b903de247d0e83ff2588c36e6f9786ea91f252c838cedeec22913f491d79643e77d83ad1fb690da7566af47
diff --git a/app-emulation/diskimage-builder/diskimage-builder-3.7.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-3.32.0.ebuild
index 3e9683aa3bc4..ee67baf77be4 100644
--- a/app-emulation/diskimage-builder/diskimage-builder-3.7.0.ebuild
+++ b/app-emulation/diskimage-builder/diskimage-builder-3.32.0.ebuild
@@ -1,19 +1,20 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
inherit distutils-r1
-DESCRIPTION="Golden Disk Image builder."
+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"
+ inherit pypi
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
fi
@@ -29,6 +30,7 @@ RDEPEND="${CDEPEND}
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
diff --git a/app-emulation/diskimage-builder/diskimage-builder-3.8.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-3.8.0.ebuild
deleted file mode 100644
index 4c39e9fb0b8c..000000000000
--- a/app-emulation/diskimage-builder/diskimage-builder-3.8.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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}"
-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/diskimage-builder/diskimage-builder-3.9.0.ebuild b/app-emulation/diskimage-builder/diskimage-builder-3.9.0.ebuild
deleted file mode 100644
index 4c39e9fb0b8c..000000000000
--- a/app-emulation/diskimage-builder/diskimage-builder-3.9.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-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}"
-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/diskimage-builder/diskimage-builder-9999.ebuild b/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild
index 63c0e3f729f5..f94dda84287d 100644
--- a/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild
+++ b/app-emulation/diskimage-builder/diskimage-builder-9999.ebuild
@@ -1,19 +1,20 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
inherit distutils-r1
-DESCRIPTION="Golden Disk Image builder."
+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"
+ inherit pypi
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
fi
@@ -29,6 +30,7 @@ RDEPEND="${CDEPEND}
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
app-emulation/qemu
diff --git a/app-emulation/diskimage-builder/metadata.xml b/app-emulation/diskimage-builder/metadata.xml
index f8379974f846..ac7f0ae3a814 100644
--- a/app-emulation/diskimage-builder/metadata.xml
+++ b/app-emulation/diskimage-builder/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
diff --git a/app-emulation/distrobuilder/Manifest b/app-emulation/distrobuilder/Manifest
deleted file mode 100644
index 787431ed6f34..000000000000
--- a/app-emulation/distrobuilder/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST distrobuilder-1.1.tar.gz 17339508 BLAKE2B 5dc023520783301bfaaee9dbdb7f6707a565b6b7cde18afe53051c47cf4ec243be4f279846753f4fdab75f8aa3333fc4e74d90376390073e36edcb57a1d22815 SHA512 4638cb7ad34032a4ab6d6d85a07b92b7ee3ebc6fe34672d148b0574d487ca2a572fbcc700f829865faa77ec07f78e47555246cb8a2455c713d5051f19cbf8426
diff --git a/app-emulation/distrobuilder/distrobuilder-1.1.ebuild b/app-emulation/distrobuilder/distrobuilder-1.1.ebuild
deleted file mode 100644
index becaf0c0f236..000000000000
--- a/app-emulation/distrobuilder/distrobuilder-1.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module linux-info
-
-DESCRIPTION="System container image builder for LXC and LXD"
-HOMEPAGE="https://linuxcontainers.org/distrobuilder/introduction/"
-SRC_URI="https://linuxcontainers.org/downloads/distrobuilder/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-util/debootstrap
- app-crypt/gnupg
- sys-fs/squashfs-tools
- dev-vcs/git
- net-misc/rsync
- "
-
-CONFIG_CHECK="~OVERLAY_FS"
-RESTRICT+=" test"
-
-src_compile() {
- cd _dist/src/github.com/lxc/distrobuilder || die "cd failed"
- GO111MODULE="off" GOBIN="${S}/bin" GOPATH="${S}/_dist" \
- go install ./... || die "compile failed"
-}
-
-src_install() {
- dobin bin/*
-}
diff --git a/app-emulation/dlx/Manifest b/app-emulation/dlx/Manifest
deleted file mode 100644
index d495844051b6..000000000000
--- a/app-emulation/dlx/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST dlx-1.0.0.tar.gz 112589 BLAKE2B 307785d08fd69e45264471fbc21e3b2bdba99798c0b7144c3d6a92819c29e4ac6449a6db83fdd55ba81d3b2e3f8ca6c991ee6c117ddc490a88ae210e5bc07ab8 SHA512 99297f14f6716ada7a29b204723a0c951002529362a22f695b3647517462f43af563ea55467985dda3e21d79a14d46b84dbc9b22a8c0751fba49257e30f70a7f
-DIST dlx-1.5.20.zip 137039 BLAKE2B 99dbb2e5bcd89b3e9f3d8edc2fe7e7cc0a59f870f597a40a61a993b95d8b27c4f95b8d0490fdbcbc15693040d6e3abdfb8b0062e109916f5299c3da3c203d755 SHA512 5c832c2a486a82574ae03ec0cb4e30bfec74ef968658a38fbd896a1383dcdc558501baef7cbbdf99df453ba2840622d16c1619f9c5fe34b6cd058a7718bd3790
diff --git a/app-emulation/dlx/dlx-1.0.0.ebuild b/app-emulation/dlx/dlx-1.0.0.ebuild
deleted file mode 100644
index 401c626c72df..000000000000
--- a/app-emulation/dlx/dlx-1.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-S=${WORKDIR}/dlx
-
-DESCRIPTION="DLX Simulator"
-HOMEPAGE="https://www.davidviner.com/dlx"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="ppc x86"
-IUSE=""
-
-src_install() {
- dobin masm mon dasm
- dodoc README.txt MANUAL.TXT
-}
diff --git a/app-emulation/dlx/dlx-1.5.20.ebuild b/app-emulation/dlx/dlx-1.5.20.ebuild
deleted file mode 100644
index 30e768088a51..000000000000
--- a/app-emulation/dlx/dlx-1.5.20.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="DLX Simulator"
-HOMEPAGE="https://www.davidviner.com/dlx"
-SRC_URI="https://www.davidviner.com/zip/dlx/dlx.zip -> ${P}.zip"
-S=${WORKDIR}/dlx
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-
-src_compile() {
- # CXX not used
- emake CC="$(tc-getCC)" LINK="$(tc-getCC)" \
- CFLAGS="${CFLAGS} ${CPPFLAGS}" \
- LFLAGS="${CFLAGS} ${LDFLAGS}"
-}
-
-src_install() {
- dobin masm mon dasm
- dodoc README.txt MANUAL.TXT
-}
diff --git a/app-emulation/dlx/metadata.xml b/app-emulation/dlx/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/app-emulation/dlx/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/app-emulation/docker-bench-security/Manifest b/app-emulation/docker-bench-security/Manifest
deleted file mode 100644
index 343ff9b85b6d..000000000000
--- a/app-emulation/docker-bench-security/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST docker-bench-security-1.3.2.tar.gz 414608 BLAKE2B 27977df473c341783aab400bbe5064e267d6f53aa62ffd6f95386572e059616750eb06b98ad3044efaf565f929e6ebfb5d57607b227718032fa33d70ce65eed5 SHA512 7d271167584ff99fdaff15b1d303f1cedeb5888057437cc3bfae8260aff96f98d8a0173c4d4e5718bf8ee4e0ffe3ae0280f0026cf386ae32c38e8302159a2226
-DIST docker-bench-security-1.3.3.tar.gz 274361 BLAKE2B b0a3fef0fedd7353a11f18603af0a9bd5a9c5674df8e0c2988f3b7430739b1fe1c37b3bc29323f39604e8f9d3af66e4a64b97c1e4bb1ef253cc39e9b1e1cb6e2 SHA512 0b9a8bb3cc0bf0887f3b3462c3529568f6cc4d327f66fe482ceb24865a3df51ffee48a1a12c93ca13401f23bf1cd47b3e8b25c99537f63a823ff173d54994fe9
diff --git a/app-emulation/docker-bench-security/docker-bench-security-1.3.2.ebuild b/app-emulation/docker-bench-security/docker-bench-security-1.3.2.ebuild
deleted file mode 100644
index 6e423e8ccc19..000000000000
--- a/app-emulation/docker-bench-security/docker-bench-security-1.3.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Test for best practices around deploying docker containers"
-HOMEPAGE="https://github.com/docker/docker-bench-security"
-SRC_URI="https://github.com/docker/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND=">=app-emulation/docker-1.10"
-
-src_install() {
-dobin "${FILESDIR}/docker-bench-security"
-exeinto /usr/lib/${PN}
-doexe ${PN}.sh
-insinto /usr/lib/${PN}
-doins -r *lib.sh tests
- dodoc -r benchmark_log.png CONTRIBUTING.md distros docker-compose.yml \
- Dockerfile MAINTAINERS README.md
-}
diff --git a/app-emulation/docker-bench-security/docker-bench-security-1.3.3.ebuild b/app-emulation/docker-bench-security/docker-bench-security-1.3.3.ebuild
deleted file mode 100644
index 6e423e8ccc19..000000000000
--- a/app-emulation/docker-bench-security/docker-bench-security-1.3.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Test for best practices around deploying docker containers"
-HOMEPAGE="https://github.com/docker/docker-bench-security"
-SRC_URI="https://github.com/docker/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND=">=app-emulation/docker-1.10"
-
-src_install() {
-dobin "${FILESDIR}/docker-bench-security"
-exeinto /usr/lib/${PN}
-doexe ${PN}.sh
-insinto /usr/lib/${PN}
-doins -r *lib.sh tests
- dodoc -r benchmark_log.png CONTRIBUTING.md distros docker-compose.yml \
- Dockerfile MAINTAINERS README.md
-}
diff --git a/app-emulation/docker-bench-security/files/docker-bench-security b/app-emulation/docker-bench-security/files/docker-bench-security
deleted file mode 100644
index 3a79d1b3af4d..000000000000
--- a/app-emulation/docker-bench-security/files/docker-bench-security
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-if [ $(id -u) -ne 0 ]; then
- printf "%s\n" "This script must be run as root."
- exit 1
-fi
-cd "$(dirname $0)/../lib/docker-bench-security"
-./docker-bench-security.sh
diff --git a/app-emulation/docker-bench-security/metadata.xml b/app-emulation/docker-bench-security/metadata.xml
deleted file mode 100644
index eb6d1553ceb4..000000000000
--- a/app-emulation/docker-bench-security/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <longdescription lang="en">
- The Docker Bench for Security is a script that checks for dozens of
- common best-practices around deploying Docker containers in production.
- </longdescription>
-</pkgmetadata>
diff --git a/app-emulation/docker-cli/Manifest b/app-emulation/docker-cli/Manifest
deleted file mode 100644
index c28c12969ff0..000000000000
--- a/app-emulation/docker-cli/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST docker-cli-20.10.2.tar.gz 7706210 BLAKE2B c8d537be8344dbd2113232c85a52f001231fdf653819710cf4492c86d58662e5f0d74f6fb00593d1034b5d481f15524cec89e2b3463900705a545b2051ab38d2 SHA512 907c846bf4043dcce4dd4e95e6335554b50e954464a83f75a44b1c0fcf9f2625c490a12758d18653c0d031768878a3f6fc91cb7fc6e1d3235d5e8f21ecd93caf
-DIST docker-cli-20.10.3.tar.gz 7733821 BLAKE2B ab71e6817e7fe0d7c5f8c776cb25ae7bc49b5a224c835fe833988b67dfdf562207cd0afed4710d33e8a31156bd16bdc70df13f1194e862314add069c320c4e6e SHA512 769bed3e5409f6be570ab3672bef1bea4d16d5bfaeb81af8c4b3b7cfb56732c108c5404464731c001cf94fefd77c40a142bed80c85f1b058041e187453a6b88e
-DIST docker-cli-20.10.4.tar.gz 7735373 BLAKE2B 7bbdbaec4e97498c9d6aa66f9e6168afd7dc510f7746f94eff275a00bff23548562e8b879bc70c5018e0b75ebf609e0e68173bc244a441c739687d01eb8b9a3c SHA512 861f69657ac3eede228983b7d845ce98c81f4b0aa601aab37024d3f21cf1ca73a182d33bdde8fb9ad89e4954c3903dc4ec2b81fcf7364941a7c38a80ea410e34
-DIST docker-cli-20.10.5.tar.gz 7734031 BLAKE2B 3f20c5acaaa0d2fa91bf8e94f5b4b0b8ecd4d35fd3bfef3beb91f64fa832318d351bcbd4b1dac51550bc91efb748fb6d5aa4f71143001d194f066437ab3552c5 SHA512 868e19fa834993bbd20a0d28a57f364287f39434355ccf90e63f3ead8d55fe488ac3bdab3f85230bfbede318b93513536f36da131fc17c27763a5375b4e0c636
diff --git a/app-emulation/docker-cli/docker-cli-20.10.2.ebuild b/app-emulation/docker-cli/docker-cli-20.10.2.ebuild
deleted file mode 100644
index 21b8e453793b..000000000000
--- a/app-emulation/docker-cli/docker-cli-20.10.2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=831ebeae96
-EGO_PN="github.com/docker/cli"
-inherit bash-completion-r1 golang-vcs-snapshot
-
-DESCRIPTION="the command line binary for docker"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="hardened"
-
-RDEPEND="!<app-emulation/docker-20.10.1"
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
- sed -i 's@md2man@go-md2man@' man/md2man-all.sh || die
-}
-
-src_compile() {
- export DISABLE_WARN_OUTSIDE_CONTAINER=1
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat VERSION)" \
- GITCOMMIT="${GIT_COMMIT}" \
- dynbinary
-
- # build man pages
- # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
- go build -o "${T}"/gen-manpages ./man ||
- die 'build gen-manpages failed'
- "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
- die 'gen-manpages failed'
- ./man/md2man-all.sh -q ||
- die 'md2man-all.sh failed'
-}
-
-src_install() {
- dobin build/docker
- doman man/man*/*
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
-}
diff --git a/app-emulation/docker-cli/docker-cli-20.10.3.ebuild b/app-emulation/docker-cli/docker-cli-20.10.3.ebuild
deleted file mode 100644
index 8d8ca051b48b..000000000000
--- a/app-emulation/docker-cli/docker-cli-20.10.3.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=48d30b5b32
-EGO_PN="github.com/docker/cli"
-inherit bash-completion-r1 golang-vcs-snapshot
-
-DESCRIPTION="the command line binary for docker"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="hardened"
-
-RDEPEND="!<app-emulation/docker-20.10.1"
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
- sed -i 's@md2man@go-md2man@' man/md2man-all.sh || die
-}
-
-src_compile() {
- export DISABLE_WARN_OUTSIDE_CONTAINER=1
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat VERSION)" \
- GITCOMMIT="${GIT_COMMIT}" \
- dynbinary
-
- # build man pages
- # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
- go build -o "${T}"/gen-manpages ./man ||
- die 'build gen-manpages failed'
- "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
- die 'gen-manpages failed'
- ./man/md2man-all.sh -q ||
- die 'md2man-all.sh failed'
-}
-
-src_install() {
- dobin build/docker
- doman man/man*/*
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
-}
diff --git a/app-emulation/docker-cli/docker-cli-20.10.4.ebuild b/app-emulation/docker-cli/docker-cli-20.10.4.ebuild
deleted file mode 100644
index c65dda796af3..000000000000
--- a/app-emulation/docker-cli/docker-cli-20.10.4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=48d30b5b32
-EGO_PN="github.com/docker/cli"
-inherit bash-completion-r1 golang-vcs-snapshot
-
-DESCRIPTION="the command line binary for docker"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="hardened"
-
-RDEPEND="!<app-emulation/docker-20.10.1"
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
-}
-
-src_compile() {
- export DISABLE_WARN_OUTSIDE_CONTAINER=1
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat VERSION)" \
- GITCOMMIT="${GIT_COMMIT}" \
- dynbinary
-
- # build man pages
- # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
- go build -o "${T}"/gen-manpages ./man ||
- die 'build gen-manpages failed'
- "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
- die 'gen-manpages failed'
- ./man/md2man-all.sh -q ||
- die 'md2man-all.sh failed'
-}
-
-src_install() {
- dobin build/docker
- doman man/man*/*
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
-}
diff --git a/app-emulation/docker-cli/docker-cli-20.10.5-r1.ebuild b/app-emulation/docker-cli/docker-cli-20.10.5-r1.ebuild
deleted file mode 100644
index 063f8583dbe6..000000000000
--- a/app-emulation/docker-cli/docker-cli-20.10.5-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=55c4c88966
-EGO_PN="github.com/docker/cli"
-inherit bash-completion-r1 golang-vcs-snapshot
-
-DESCRIPTION="the command line binary for docker"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="hardened"
-
-RDEPEND="!<app-emulation/docker-20.10.1"
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
-}
-
-src_compile() {
- export DISABLE_WARN_OUTSIDE_CONTAINER=1
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat VERSION)" \
- GITCOMMIT="${GIT_COMMIT}" \
- dynbinary
-
- # build man pages
- # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
- mkdir -p ./man/man1 || die "mkdir failed"
- go build -o "${T}"/gen-manpages ./man ||
- die 'build gen-manpages failed'
- "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
- die 'gen-manpages failed'
- ./man/md2man-all.sh -q ||
- die 'md2man-all.sh failed'
-}
-
-src_install() {
- dobin build/docker
- doman man/man*/*
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
-}
diff --git a/app-emulation/docker-cli/docker-cli-20.10.5.ebuild b/app-emulation/docker-cli/docker-cli-20.10.5.ebuild
deleted file mode 100644
index 2d0065c9b02c..000000000000
--- a/app-emulation/docker-cli/docker-cli-20.10.5.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=55c4c88966
-EGO_PN="github.com/docker/cli"
-inherit bash-completion-r1 golang-vcs-snapshot
-
-DESCRIPTION="the command line binary for docker"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/docker/cli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="hardened"
-
-RDEPEND="!<app-emulation/docker-20.10.1"
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT="installsources strip"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_prepare() {
- default
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
-}
-
-src_compile() {
- export DISABLE_WARN_OUTSIDE_CONTAINER=1
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
- emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat VERSION)" \
- GITCOMMIT="${GIT_COMMIT}" \
- dynbinary
-
- # build man pages
- # see "cli/scripts/docs/generate-man.sh" (which also does "go get" for go-md2man)
- go build -o "${T}"/gen-manpages ./man ||
- die 'build gen-manpages failed'
- "${T}"/gen-manpages --root "$(pwd)" --target "$(pwd)"/man/man1 ||
- die 'gen-manpages failed'
- ./man/md2man-all.sh -q ||
- die 'md2man-all.sh failed'
-}
-
-src_install() {
- dobin build/docker
- doman man/man*/*
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- insinto /usr/share/fish/vendor_completions.d/
- doins contrib/completion/fish/docker.fish
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/_*
-}
diff --git a/app-emulation/docker-cli/metadata.xml b/app-emulation/docker-cli/metadata.xml
deleted file mode 100644
index c36c37139fad..000000000000
--- a/app-emulation/docker-cli/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/docker-compose/Manifest b/app-emulation/docker-compose/Manifest
deleted file mode 100644
index de40de59488c..000000000000
--- a/app-emulation/docker-compose/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-DIST docker-compose-1.27.4.tar.gz 309308 BLAKE2B 098af5e0308de4fe72f8f7d5c9cbdb285ec1cb6fbd492baef8a4223f93591321c585ebabd4c7e4a40d7a1bce3ab2d7ccf4cee1d0a15e7f59bb80eb4df5b6c8d6 SHA512 b41b7cf88b1380021a30f9becb7567d1e154ef875c42b37483673b5107f1a26dae6868b92c6a61f695001eb63759b25f3729e6783272eb784047717cafea3b80
-DIST docker-compose-1.28.4.tar.gz 318110 BLAKE2B 97a39c52a2e9819fa4632a16080b9b3a029c5b81caa1bcb5143e78b9c6f3981aa462ef23c6c08fcafe80f8b786ce4962959dc84fd4fe2003ceee3dddcb85f438 SHA512 ba0b8a8a87e154c36b499b0fbb422847bcec421bdcbb6a7fc4a4d8169ae410f6bb71867fbff42b670b3d5ae61101527eeb71e68d57458906796e2d64adc0e367
-DIST docker-compose-1.28.5.tar.gz 318236 BLAKE2B 32aca16fdebd00c5b211404e82b44b9486340bfa379d4739d164d5aa75d4f35b95d914065c05fef585ea7e412035e582d8058f2b942a4ce17a9b2bc25ff0cd31 SHA512 1f2cc87b82d18c023e8c2d9eb2e991393c96f7a3ab17fa6871d0969a28162b6832f98b42c76cadc641416629f74eb00763c89e044ae8cf02a062bd74b58371c9
-DIST docker-compose-1.28.6.tar.gz 319216 BLAKE2B 6f35f13fd35e08223fd17406b219fcd8c97fe9a2e96a3210607d23d54923496a9a51271f359b1537b73bc5e407d175822075835f44406fcfe028cc23d8eaf9f9 SHA512 0aef0066e58ee3e9ac6ddfef71cd29ae46ba52ed641b6da7ffc74b9e9a60b3974593173e84ac863475bb5d2a3896a0d453fda4decb69101c91abc04f33e50d45
-DIST docker-compose-1.29.0.tar.gz 321019 BLAKE2B ba20ae83e0f2d899da2d39cd9f2edbc00b22eaba0209eaa1dbc5d376fc94b16d454713f5d26fed8b06eceb274098dd1155430d43a723e096643a108023de19ed SHA512 41bb20a405a0305093b0678e24c57582393806bc617bd09f98c43c9cd1c38af51011c7ab1c0afd1a91159c5a3e19a1b8df575c5be4a7e8317db96dd37ee9a339
-DIST docker-compose-1.29.1.tar.gz 320234 BLAKE2B 7efdfee009d293a3cf46af54113750877a105231ad2bb0a643c15431ebc39017d4e5bd06e5e486a4aa0c95de6af165828818b21ac665437156a3e5ec734ece06 SHA512 d28298e6a80787d6ed822039214aa8b7fc10dca45e52f7ba499891e0a2f20715dc503edda673c239fdddd33f9941beedcefb34a79dd00ea2fa724d17d54be2f4
diff --git a/app-emulation/docker-compose/docker-compose-1.27.4.ebuild b/app-emulation/docker-compose/docker-compose-1.27.4.ebuild
deleted file mode 100644
index e34cf7551ba0..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.27.4.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.27.0_rc3-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/docker-compose-1.28.4.ebuild b/app-emulation/docker-compose/docker-compose-1.28.4.ebuild
deleted file mode 100644
index 0465f3ab0853..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.28.4.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-4.4.3[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.28.4-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/docker-compose-1.28.5.ebuild b/app-emulation/docker-compose/docker-compose-1.28.5.ebuild
deleted file mode 100644
index c59a93b5bff8..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.28.5.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-4.4.4[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.28.5-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/docker-compose-1.28.6.ebuild b/app-emulation/docker-compose/docker-compose-1.28.6.ebuild
deleted file mode 100644
index d9f80948b759..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.28.6.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-4.4.4[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.28.6-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/docker-compose-1.29.0.ebuild b/app-emulation/docker-compose/docker-compose-1.29.0.ebuild
deleted file mode 100644
index 0d5c1a457def..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.29.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-5[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.29.0-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/docker-compose-1.29.1.ebuild b/app-emulation/docker-compose/docker-compose-1.29.1.ebuild
deleted file mode 100644
index 0d5c1a457def..000000000000
--- a/app-emulation/docker-compose/docker-compose-1.29.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2018-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit bash-completion-r1 distutils-r1
-
-MY_PV=${PV/_/-}
-DESCRIPTION="Multi-container orchestration for Docker"
-HOMEPAGE="https://github.com/docker/compose"
-SRC_URI="https://github.com/docker/compose/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cached-property-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/distro-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/docker-py-5[${PYTHON_USEDEP}]
- >=dev-python/dockerpty-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/docopt-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.13.0[${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? (
- >=dev-python/pytest-5[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.2.2[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}/compose-${MY_PV}"
-
-PATCHES=(
- # Bug #679968 -- https://bugs.gentoo.org/679968
- # Bug #681002 -- https://bugs.gentoo.org/681002
- "${FILESDIR}"/${PN}-1.29.0-setup-py.patch
-)
-
-DOCS=( CHANGELOG.md README.md )
-
-src_prepare() {
- # Address QA issue "docker-compose.exe: missing alias (symlink) for completed command."
- sed 's,^\(complete.*\) docker-compose\.exe\(.*\),\1\2,' -i contrib/completion/bash/docker-compose || die
-
- default
-}
-
-python_test() {
- distutils_install_for_testing
- ${PYTHON} -m pytest tests/unit/ || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp contrib/completion/bash/docker-compose ${PN}
-
- insinto /usr/share/zsh/site-functions
- doins contrib/completion/zsh/*
-
- distutils-r1_python_install_all
-}
diff --git a/app-emulation/docker-compose/files/docker-compose-1.27.0_rc3-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.27.0_rc3-setup-py.patch
deleted file mode 100644
index 3026933addd2..000000000000
--- a/app-emulation/docker-compose/files/docker-compose-1.27.0_rc3-setup-py.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 3b4800ed5b24cea7af00aa868964e3d46e81364e Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Thu, 3 Sep 2020 19:59:36 +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 e0d4340..648a736 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.3.1, < 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.3.1',
-+ '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-compose/files/docker-compose-1.28.4-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.28.4-setup-py.patch
deleted file mode 100644
index 79b1c168170f..000000000000
--- a/app-emulation/docker-compose/files/docker-compose-1.28.4-setup-py.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 7a5520d0b478e9bb20c9c3ff2614a8afd392b020 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Mon, 4 Jan 2021 17:36:44 +0100
-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 57e1313..94a3337 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.4.3, < 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.4.3',
-+ '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.30.0.rc2
-
diff --git a/app-emulation/docker-compose/files/docker-compose-1.28.5-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.28.5-setup-py.patch
deleted file mode 100644
index 75967139165a..000000000000
--- a/app-emulation/docker-compose/files/docker-compose-1.28.5-setup-py.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 7a5520d0b478e9bb20c9c3ff2614a8afd392b020 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Mon, 4 Jan 2021 17:36:44 +0100
-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 57e1313..94a3337 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.4.4, < 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.4.4',
-+ '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.30.0.rc2
-
diff --git a/app-emulation/docker-compose/files/docker-compose-1.28.6-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.28.6-setup-py.patch
deleted file mode 100644
index 63ecd7f9642a..000000000000
--- a/app-emulation/docker-compose/files/docker-compose-1.28.6-setup-py.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0efc455303f08b6a41df021972dfa337c527b9cb Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Tue, 23 Mar 2021 17:25:23 +0100
-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 7669979..59df626 100644
---- a/setup.py
-+++ b/setup.py
-@@ -25,33 +25,33 @@ def find_version(*file_paths):
-
-
- install_requires = [
-- '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.4.4, < 5',
-- 'dockerpty >= 0.4.1, < 1',
-- 'jsonschema >= 2.5.1, < 4',
-- 'python-dotenv >= 0.13.0, < 1',
-+ '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.4.4',
-+ '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'],
-- ':python_version < "3.8"': ['cached-property >= 1.2.0, < 2'],
-- ':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'],
-+ ':python_version < "3.8"': ['cached-property >= 1.2.0'],
-+ ':sys_platform == "win32"': ['colorama >= 0.4'],
-+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'],
- 'tests': tests_require,
- }
-
---
-2.30.2
-
diff --git a/app-emulation/docker-compose/files/docker-compose-1.29.0-setup-py.patch b/app-emulation/docker-compose/files/docker-compose-1.29.0-setup-py.patch
deleted file mode 100644
index 5b42159a1342..000000000000
--- a/app-emulation/docker-compose/files/docker-compose-1.29.0-setup-py.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 6829b2c1885b3a0ff758751db2c936ef384d00f9 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Wed, 7 Apr 2021 00:46:38 +0200
-Subject: [PATCH] setup.py: Drop generic upper version boundaries
-
----
- setup.py | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index aaf33f7..74be464 100644
---- a/setup.py
-+++ b/setup.py
-@@ -25,33 +25,33 @@ def find_version(*file_paths):
-
-
- install_requires = [
-- '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',
-+ '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] >= 5',
-- 'dockerpty >= 0.4.1, < 1',
-- 'jsonschema >= 2.5.1, < 4',
-- 'python-dotenv >= 0.13.0, < 1',
-+ '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'],
-- ':python_version < "3.8"': ['cached-property >= 1.2.0, < 2'],
-- ':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'],
-+ ':python_version < "3.8"': ['cached-property >= 1.2.0'],
-+ ':sys_platform == "win32"': ['colorama >= 0.4'],
-+ 'socks': ['PySocks >= 1.5.6, != 1.5.7'],
- 'tests': tests_require,
- }
-
---
-2.31.1
-
diff --git a/app-emulation/docker-compose/metadata.xml b/app-emulation/docker-compose/metadata.xml
deleted file mode 100644
index a501de3afddc..000000000000
--- a/app-emulation/docker-compose/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>sping@gentoo.org</email>
- <name>Sebastian Pipping</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">docker-compose</remote-id>
- <remote-id type="github">docker/compose</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/docker-credential-helpers/Manifest b/app-emulation/docker-credential-helpers/Manifest
deleted file mode 100644
index 73b7729ba3f7..000000000000
--- a/app-emulation/docker-credential-helpers/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST docker-credential-helpers-0.6.3.tar.gz 28971 BLAKE2B b50e4de0f3b126e0118f24f845a94be5e932975ab54ad6e0a52129a56109ecafb021f14986569295242cb0af4ea109d8786b8a5ca8481cc48daad14671841432 SHA512 2d15be8df134bff08eef9461348f07cd57c70c15a0ab044de2e69296c400b8c0e16198c90fd064d5ce83037d0bad57520e7524b0832b7a00e69397203dc90d10
diff --git a/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild b/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild
deleted file mode 100644
index 1b1d5979dcfc..000000000000
--- a/app-emulation/docker-credential-helpers/docker-credential-helpers-0.6.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A suite of programs to use native stores to keep Docker credentials safe"
-HOMEPAGE="https://github.com/docker/docker-credential-helpers"
-EGO_PN=github.com/docker/docker-credential-helpers
-
-LICENSE="MIT"
-SLOT="0"
-
-if [[ ${PV} = *9999* ]]; then
- inherit golang-vcs
-else
- KEYWORDS="~amd64 ~arm64"
- EGIT_COMMIT="v${PV}"
- SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- inherit golang-vcs-snapshot
-fi
-inherit golang-build
-
-IUSE="gnome-keyring pass"
-REQUIRED_USE="|| ( gnome-keyring pass )"
-RESTRICT="test"
-
-DEPEND="gnome-keyring? ( app-crypt/libsecret )"
-
-RDEPEND="(
- ${DEPEND}
- pass? ( app-admin/pass )
-)
-"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-src_compile() {
- local -x GOPATH="${WORKDIR}/${P}"
- use gnome-keyring && emake secretservice
- use pass && emake pass
-}
-
-src_install() {
- dobin bin/*
- dodoc CHANGELOG.md MAINTAINERS README.md
-}
-
-pkg_postinst() {
- if use gnome-keyring; then
- elog "For gnome-keyring/kwallet add:\n"
- elog ' "credStore": "secretservice"'"\n"
- fi
- if use pass; then
- elog "For 'pass' add:\n"
- elog ' "credStore": "pass"'"\n"
- fi
- elog "to your ~/.docker/config.json"
-}
diff --git a/app-emulation/docker-credential-helpers/metadata.xml b/app-emulation/docker-credential-helpers/metadata.xml
deleted file mode 100644
index d5dcc7f1c72d..000000000000
--- a/app-emulation/docker-credential-helpers/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription>
- A suite of programs to use native stores to keep Docker credentials
- safe. Currently provides docker-credential-secretservice to use the
- D-Bus secret service APIs, and docker-credential-pass to use the
- pass framework.
- </longdescription>
- <maintainer type="person" proxied="yes">
- <email>rkitover@gmail.com</email>
- <name>Rafael Kitover</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="gnome-keyring">
- Build secretservice helper which works with gnome-keyring or kwallet
- using D-Bus.
- </flag>
- <flag name="pass">
- Build pass helper for the pass utility.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/app-emulation/docker-gc/docker-gc-9999.ebuild b/app-emulation/docker-gc/docker-gc-9999.ebuild
deleted file mode 100644
index 9324081bc947..000000000000
--- a/app-emulation/docker-gc/docker-gc-9999.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://github.com/spotify/docker-gc.git"
-
-inherit git-r3
-
-DESCRIPTION="Docker garbage collection of containers and images"
-HOMEPAGE="https://github.com/spotify/docker-gc/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="app-emulation/docker"
-
-src_install() {
- dosbin docker-gc
- dodoc README.md
-}
diff --git a/app-emulation/docker-gc/metadata.xml b/app-emulation/docker-gc/metadata.xml
deleted file mode 100644
index 444c94200f5c..000000000000
--- a/app-emulation/docker-gc/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">spotify/docker-gc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/docker-machine-kvm/docker-machine-kvm-0.10.0.ebuild b/app-emulation/docker-machine-kvm/docker-machine-kvm-0.10.0.ebuild
index 20d5054f6d83..1a254c9e6627 100644
--- a/app-emulation/docker-machine-kvm/docker-machine-kvm-0.10.0.ebuild
+++ b/app-emulation/docker-machine-kvm/docker-machine-kvm-0.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -26,6 +26,12 @@ RDEPEND="${COMMON_DEPEND}"
SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
${EGO_VENDOR_URI}"
+src_prepare() {
+ # go build -i is no longer supported #893080
+ sed -e 's: -i::' -i src/github.com/dhiltgen/docker-machine-kvm/cmd/docker-machine-driver-kvm/Makefile || die
+ default
+}
+
src_compile() {
export GOPATH=${S}
cd "${S}"/src/${EGO_PN}/cmd/${PN/kvm/driver-kvm} || die
diff --git a/app-emulation/docker-machine-kvm/metadata.xml b/app-emulation/docker-machine-kvm/metadata.xml
index 92a59d8fc1b9..c489cf4ce6b1 100644
--- a/app-emulation/docker-machine-kvm/metadata.xml
+++ b/app-emulation/docker-machine-kvm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
diff --git a/app-emulation/docker-machine/metadata.xml b/app-emulation/docker-machine/metadata.xml
index 8549b7fc81f3..0d7c55025f93 100644
--- a/app-emulation/docker-machine/metadata.xml
+++ b/app-emulation/docker-machine/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
diff --git a/app-emulation/docker-proxy/Manifest b/app-emulation/docker-proxy/Manifest
deleted file mode 100644
index e8226b86837e..000000000000
--- a/app-emulation/docker-proxy/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST docker-proxy-0.8.0_p20200617.tar.gz 3386043 BLAKE2B b32c3b6ef97f656414fdf026307f4054d4dd11cc91dc44a235eb5e5dc9f5f3da0cc4b001eaa28387b79f8f79f0124e6c01b8aab56d5c9e37d777e21cc186cb9c SHA512 fe8644611e975c051ee6e7ad4871624fb45862d9b4a2fd62ea4283e76ad9804d91d585e2165915b09356f11f9dfb31c40dd9ce6a66d63c5032c8c62354960538
-DIST docker-proxy-0.8.0_p20201105.tar.gz 3386010 BLAKE2B 414c3d37cfe2f36dbb5cfafc6047ee0aa299ba2aeb9c5c51da308285b1e2cc0a32e83557628e0de4817651331fbcfd6b430a88fd5a0f97bb7483a8fb10ae0791 SHA512 3d81ba20a91517e14da7e75a24d4e2eeb04c1dcb9c1bfe1115247982dbdb55d2fd72d0130093e9597363b742a20f2647f229c870da9a1cbdefc69aef65f02250
-DIST docker-proxy-0.8.0_p20201215.tar.gz 3152956 BLAKE2B 7652bbc027d0cc535c227268bf240132f070dad477ac5a8b82f65d3d3ecf7c2a036a45ba66d0f3f0f0a8025fb990e931429d797f4b9f7c6796507ffd2f41e358 SHA512 dd583218fbeba8aeac2e4143369ad55a3e6c15d64f198f73e3656a80d0281a4374fb3be7bc05b01425461bf830762aa2c950da68ed0e3ae5884643e9d178c69e
diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild
deleted file mode 100644
index 8720f1704d63..000000000000
--- a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20200617.ebuild
+++ /dev/null
@@ -1,35 +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/libnetwork"
-
-if [[ ${PV} == *9999 ]]; then
- inherit golang-vcs
-else
- EGIT_COMMIT="026aabaa659832804b01754aaadd2c0f420c68b6"
- SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
- inherit golang-vcs-snapshot
-fi
-
-DESCRIPTION="Docker container networking"
-HOMEPAGE="https://github.com/docker/libnetwork"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-S=${WORKDIR}/${P}/src/${EGO_PN}
-
-# needs dockerd
-RESTRICT="test"
-
-src_compile() {
- GOPATH="${WORKDIR}/${P}" go build -o "bin/docker-proxy" ./cmd/proxy || die
-}
-
-src_install() {
- dodoc README.md CHANGELOG.md
- dobin bin/docker-proxy
-}
diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild
deleted file mode 100644
index 40d357a97cd0..000000000000
--- a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201105.ebuild
+++ /dev/null
@@ -1,36 +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/libnetwork"
-
-if [[ ${PV} == *9999 ]]; then
- inherit golang-vcs
-else
- EGIT_COMMIT="55e924b8a84231a065879156c0de95aefc5f5435"
- SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
- inherit golang-vcs-snapshot
-fi
-
-DESCRIPTION="Docker container networking"
-HOMEPAGE="https://github.com/docker/libnetwork"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-S=${WORKDIR}/${P}/src/${EGO_PN}
-
-# needs dockerd
-RESTRICT="test"
-
-src_compile() {
- GO111MODULE=auto GOPATH="${WORKDIR}/${P}" \
- go build -o "bin/docker-proxy" ./cmd/proxy || die
-}
-
-src_install() {
- dodoc README.md CHANGELOG.md
- dobin bin/docker-proxy
-}
diff --git a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201215.ebuild b/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201215.ebuild
deleted file mode 100644
index 374292183eec..000000000000
--- a/app-emulation/docker-proxy/docker-proxy-0.8.0_p20201215.ebuild
+++ /dev/null
@@ -1,36 +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/libnetwork"
-
-if [[ ${PV} == *9999 ]]; then
- inherit golang-vcs
-else
- EGIT_COMMIT=fa125a3512ee0f6187721c88582bf8c4378bd4d7
- SRC_URI="https://github.com/docker/libnetwork/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
- inherit golang-vcs-snapshot
-fi
-
-DESCRIPTION="Docker container networking"
-HOMEPAGE="https://github.com/docker/libnetwork"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-S=${WORKDIR}/${P}/src/${EGO_PN}
-
-# needs dockerd
-RESTRICT="strip test"
-
-src_compile() {
- GO111MODULE=auto GOPATH="${WORKDIR}/${P}" \
- go build -o "bin/docker-proxy" ./cmd/proxy || die
-}
-
-src_install() {
- dodoc README.md CHANGELOG.md
- dobin bin/docker-proxy
-}
diff --git a/app-emulation/docker-proxy/metadata.xml b/app-emulation/docker-proxy/metadata.xml
deleted file mode 100644
index 46bc689bb8cd..000000000000
--- a/app-emulation/docker-proxy/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <upstream>
- <remote-id type="github">docker/libnetwork</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/docker-registry/Manifest b/app-emulation/docker-registry/Manifest
deleted file mode 100644
index c13a696e584b..000000000000
--- a/app-emulation/docker-registry/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST docker-registry-2.7.1.tar.gz 1996699 BLAKE2B 2e22db69f476be5a4688f5b3d6b41fbbf71460351543ae849f707dd5b3d56624f674815a25214002886b057f0859f75fd197bb275a7b3cc8a7787422f716ad0e SHA512 f6baf0e7aa96ebe828c628f7dfd84ee899331c3c1bdab86662aef595b092702b6d9b2c9be766a6de6d153ff4ca55d85c5fd8785a0968f285f56a32a50092c754
diff --git a/app-emulation/docker-registry/docker-registry-2.7.1.ebuild b/app-emulation/docker-registry/docker-registry-2.7.1.ebuild
deleted file mode 100644
index 76e7bd12811a..000000000000
--- a/app-emulation/docker-registry/docker-registry-2.7.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-vcs-snapshot systemd user
-
-KEYWORDS="amd64 ~arm64"
-EGO_PN="github.com/docker/distribution"
-EGIT_COMMIT="2461543d988979529609e8cb6fca9ca190dc48da"
-SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-DESCRIPTION="Docker Registry 2.0"
-HOMEPAGE="https://github.com/docker/distribution"
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 MIT ZLIB"
-SLOT="0"
-IUSE=""
-SVCNAME=registry
-
-pkg_setup() {
- enewgroup ${SVCNAME}
- enewuser ${SVCNAME} -1 -1 /dev/null ${SVCNAME}
-}
-
-src_prepare() {
- default
- pushd src/${EGO_PN} || die
- eapply "${FILESDIR}"/${PN}-2.7.0-notification-metrics.patch
- sed -i -e "s/git describe.*/echo ${PV})/"\
- -e "s/git rev-parse.*/echo ${EGIT_COMMIT})/"\
- -e "s/-s -w/-w/" Makefile || die
- popd || die
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME #681072
- GOPATH="${S}" GO_BUILD_FLAGS="-v" emake -C src/${EGO_PN} binaries
-}
-
-src_install() {
- exeinto /usr/libexec/${PN}
- doexe src/${EGO_PN}/bin/*
- insinto /etc/docker/registry
- newins src/${EGO_PN}/cmd/registry/config-example.yml config.yml.example
- newinitd "${FILESDIR}/${SVCNAME}.initd" "${SVCNAME}"
- newconfd "${FILESDIR}/${SVCNAME}.confd" "${SVCNAME}"
- systemd_dounit "${FILESDIR}/${SVCNAME}.service"
- keepdir /var/{lib,log}/${SVCNAME}
- fowners ${SVCNAME}:${SVCNAME} /var/{lib,log}/${SVCNAME}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${SVCNAME}.logrotated" "${SVCNAME}"
-}
diff --git a/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch b/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch
deleted file mode 100644
index 8adf364ce164..000000000000
--- a/app-emulation/docker-registry/files/docker-registry-2.7.0-notification-metrics.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-From 7b2292ee20c5d49053cc5262dfbc99ce121b9b74 Mon Sep 17 00:00:00 2001
-From: tifayuki <tifayuki@gmail.com>
-Date: Tue, 13 Feb 2018 13:30:56 -0800
-Subject: [PATCH 1/4] Add notification metrics
-
-It adds notification related prometheus metrics, including:
- - total count for events/success/failure/error
- - total count for notification per each status code
- - gauge of the pending notification queue
-
-Signed-off-by: tifayuki <tifayuki@gmail.com>
----
- metrics/prometheus.go | 3 +++
- notifications/metrics.go | 28 ++++++++++++++++++++++++++++
- 2 files changed, 31 insertions(+)
-
-diff --git a/metrics/prometheus.go b/metrics/prometheus.go
-index b5a532144..91b32b23d 100644
---- a/metrics/prometheus.go
-+++ b/metrics/prometheus.go
-@@ -10,4 +10,7 @@ const (
- var (
- // StorageNamespace is the prometheus namespace of blob/cache related operations
- StorageNamespace = metrics.NewNamespace(NamespacePrefix, "storage", nil)
-+
-+ // NotificationsNamespace is the prometheus namespace of notification related metrics
-+ NotificationsNamespace = metrics.NewNamespace(NamespacePrefix, "notifications", nil)
- )
-diff --git a/notifications/metrics.go b/notifications/metrics.go
-index a20af1687..69960e9cb 100644
---- a/notifications/metrics.go
-+++ b/notifications/metrics.go
-@@ -5,6 +5,18 @@ import (
- "fmt"
- "net/http"
- "sync"
-+
-+ prometheus "github.com/docker/distribution/metrics"
-+ "github.com/docker/go-metrics"
-+)
-+
-+var (
-+ // eventsCounter counts total events of incoming, success, failure, and errors
-+ eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type")
-+ // pendingGauge measures the pending queue size
-+ pendingGauge = prometheus.NotificationsNamespace.NewGauge("pending", "The gauge of pending events in queue", metrics.Total)
-+ // statusCounter counts the total notification call per each status code
-+ statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code")
- )
-
- // EndpointMetrics track various actions taken by the endpoint, typically by
-@@ -61,6 +73,9 @@ func (emsl *endpointMetricsHTTPStatusListener) success(status int, events ...Eve
- defer emsl.safeMetrics.Unlock()
- emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
- emsl.Successes += len(events)
-+
-+ statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
-+ eventsCounter.WithValues("Successes").Inc(1)
- }
-
- func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Event) {
-@@ -68,12 +83,17 @@ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Eve
- defer emsl.safeMetrics.Unlock()
- emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
- emsl.Failures += len(events)
-+
-+ statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
-+ eventsCounter.WithValues("Failures").Inc(1)
- }
-
- func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
- emsl.safeMetrics.Lock()
- defer emsl.safeMetrics.Unlock()
- emsl.Errors += len(events)
-+
-+ eventsCounter.WithValues("Errors").Inc(1)
- }
-
- // endpointMetricsEventQueueListener maintains the incoming events counter and
-@@ -87,12 +107,17 @@ func (eqc *endpointMetricsEventQueueListener) ingress(events ...Event) {
- defer eqc.Unlock()
- eqc.Events += len(events)
- eqc.Pending += len(events)
-+
-+ eventsCounter.WithValues("Events").Inc()
-+ pendingGauge.Inc(1)
- }
-
- func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
- eqc.Lock()
- defer eqc.Unlock()
- eqc.Pending -= len(events)
-+
-+ pendingGauge.Dec(1)
- }
-
- // endpoints is global registry of endpoints used to report metrics to expvar
-@@ -149,4 +174,7 @@ func init() {
- }))
-
- registry.(*expvar.Map).Set("notifications", &notifications)
-+
-+ // register prometheus metrics
-+ metrics.Register(prometheus.NotificationsNamespace)
- }
-
-From 4497e40eda1e0024f055c09ab480b7816a1147b1 Mon Sep 17 00:00:00 2001
-From: Honglin Feng <tifayuki@gmail.com>
-Date: Thu, 11 Oct 2018 21:39:02 +0800
-Subject: [PATCH 2/4] add label to the metrics
-
-Signed-off-by: Honglin Feng <tifayuki@gmail.com>
----
- notifications/endpoint.go | 2 +-
- notifications/http_test.go | 2 +-
- notifications/metrics.go | 26 ++++++++++++++------------
- notifications/sinks_test.go | 2 +-
- 4 files changed, 17 insertions(+), 15 deletions(-)
-
-diff --git a/notifications/endpoint.go b/notifications/endpoint.go
-index a8a52d0c9..854f1dd6c 100644
---- a/notifications/endpoint.go
-+++ b/notifications/endpoint.go
-@@ -58,7 +58,7 @@ func NewEndpoint(name, url string, config EndpointConfig) *Endpoint {
- endpoint.url = url
- endpoint.EndpointConfig = config
- endpoint.defaults()
-- endpoint.metrics = newSafeMetrics()
-+ endpoint.metrics = newSafeMetrics(name)
-
- // Configures the inmemory queue, retry, http pipeline.
- endpoint.Sink = newHTTPSink(
-diff --git a/notifications/http_test.go b/notifications/http_test.go
-index de47f789e..b7845cf95 100644
---- a/notifications/http_test.go
-+++ b/notifications/http_test.go
-@@ -63,7 +63,7 @@ func TestHTTPSink(t *testing.T) {
- })
- server := httptest.NewTLSServer(serverHandler)
-
-- metrics := newSafeMetrics()
-+ metrics := newSafeMetrics("")
- sink := newHTTPSink(server.URL, 0, nil, nil,
- &endpointMetricsHTTPStatusListener{safeMetrics: metrics})
-
-diff --git a/notifications/metrics.go b/notifications/metrics.go
-index 69960e9cb..4464edd8f 100644
---- a/notifications/metrics.go
-+++ b/notifications/metrics.go
-@@ -12,11 +12,11 @@ import (
-
- var (
- // eventsCounter counts total events of incoming, success, failure, and errors
-- eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type")
-+ eventsCounter = prometheus.NotificationsNamespace.NewLabeledCounter("events", "The number of total events", "type", "to")
- // pendingGauge measures the pending queue size
-- pendingGauge = prometheus.NotificationsNamespace.NewGauge("pending", "The gauge of pending events in queue", metrics.Total)
-+ pendingGauge = prometheus.NotificationsNamespace.NewLabeledGauge("pending", "The gauge of pending events in queue", metrics.Total, "to")
- // statusCounter counts the total notification call per each status code
-- statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code")
-+ statusCounter = prometheus.NotificationsNamespace.NewLabeledCounter("status", "The number of status code", "code", "to")
- )
-
- // EndpointMetrics track various actions taken by the endpoint, typically by
-@@ -34,14 +34,16 @@ type EndpointMetrics struct {
- // safeMetrics guards the metrics implementation with a lock and provides a
- // safe update function.
- type safeMetrics struct {
-+ EndpointName string
- EndpointMetrics
- sync.Mutex // protects statuses map
- }
-
- // newSafeMetrics returns safeMetrics with map allocated.
--func newSafeMetrics() *safeMetrics {
-+func newSafeMetrics(name string) *safeMetrics {
- var sm safeMetrics
- sm.Statuses = make(map[string]int)
-+ sm.EndpointName = name
- return &sm
- }
-
-@@ -74,8 +76,8 @@ func (emsl *endpointMetricsHTTPStatusListener) success(status int, events ...Eve
- emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
- emsl.Successes += len(events)
-
-- statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
-- eventsCounter.WithValues("Successes").Inc(1)
-+ statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status)), emsl.EndpointName).Inc(1)
-+ eventsCounter.WithValues("Successes", emsl.EndpointName).Inc(1)
- }
-
- func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Event) {
-@@ -84,8 +86,8 @@ func (emsl *endpointMetricsHTTPStatusListener) failure(status int, events ...Eve
- emsl.Statuses[fmt.Sprintf("%d %s", status, http.StatusText(status))] += len(events)
- emsl.Failures += len(events)
-
-- statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status))).Inc(1)
-- eventsCounter.WithValues("Failures").Inc(1)
-+ statusCounter.WithValues(fmt.Sprintf("%d %s", status, http.StatusText(status)), emsl.EndpointName).Inc(1)
-+ eventsCounter.WithValues("Failures", emsl.EndpointName).Inc(1)
- }
-
- func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
-@@ -93,7 +95,7 @@ func (emsl *endpointMetricsHTTPStatusListener) err(err error, events ...Event) {
- defer emsl.safeMetrics.Unlock()
- emsl.Errors += len(events)
-
-- eventsCounter.WithValues("Errors").Inc(1)
-+ eventsCounter.WithValues("Errors", emsl.EndpointName).Inc(1)
- }
-
- // endpointMetricsEventQueueListener maintains the incoming events counter and
-@@ -108,8 +110,8 @@ func (eqc *endpointMetricsEventQueueListener) ingress(events ...Event) {
- eqc.Events += len(events)
- eqc.Pending += len(events)
-
-- eventsCounter.WithValues("Events").Inc()
-- pendingGauge.Inc(1)
-+ eventsCounter.WithValues("Events", eqc.EndpointName).Inc()
-+ pendingGauge.WithValues(eqc.EndpointName).Inc(1)
- }
-
- func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
-@@ -117,7 +119,7 @@ func (eqc *endpointMetricsEventQueueListener) egress(events ...Event) {
- defer eqc.Unlock()
- eqc.Pending -= len(events)
-
-- pendingGauge.Dec(1)
-+ pendingGauge.WithValues(eqc.EndpointName).Dec(1)
- }
-
- // endpoints is global registry of endpoints used to report metrics to expvar
-diff --git a/notifications/sinks_test.go b/notifications/sinks_test.go
-index 06f88b2c9..4a69486b5 100644
---- a/notifications/sinks_test.go
-+++ b/notifications/sinks_test.go
-@@ -66,7 +66,7 @@ func TestBroadcaster(t *testing.T) {
- func TestEventQueue(t *testing.T) {
- const nevents = 1000
- var ts testSink
-- metrics := newSafeMetrics()
-+ metrics := newSafeMetrics("")
- eq := newEventQueue(
- // delayed sync simulates destination slower than channel comms
- &delayedSink{
-
-From 73e4232b5171c2988b0daeea517aa07386e7945d Mon Sep 17 00:00:00 2001
-From: Honglin Feng <tifayuki@gmail.com>
-Date: Mon, 15 Oct 2018 19:50:38 +0800
-Subject: [PATCH 3/4] run go fmt
-
-Signed-off-by: Honglin Feng <tifayuki@gmail.com>
----
- registry/storage/driver/s3-aws/s3.go | 10 +++++-----
- registry/storage/linkedblobstore.go | 16 ++++++++--------
- registry/storage/linkedblobstore_test.go | 4 ++--
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/registry/storage/driver/s3-aws/s3.go b/registry/storage/driver/s3-aws/s3.go
-index 800435d01..9cd87dbab 100644
---- a/registry/storage/driver/s3-aws/s3.go
-+++ b/registry/storage/driver/s3-aws/s3.go
-@@ -476,11 +476,11 @@ func New(params DriverParameters) (*Driver, error) {
- // }
-
- d := &driver{
-- S3: s3obj,
-- Bucket: params.Bucket,
-- ChunkSize: params.ChunkSize,
-- Encrypt: params.Encrypt,
-- KeyID: params.KeyID,
-+ S3: s3obj,
-+ Bucket: params.Bucket,
-+ ChunkSize: params.ChunkSize,
-+ Encrypt: params.Encrypt,
-+ KeyID: params.KeyID,
- MultipartCopyChunkSize: params.MultipartCopyChunkSize,
- MultipartCopyMaxConcurrency: params.MultipartCopyMaxConcurrency,
- MultipartCopyThresholdSize: params.MultipartCopyThresholdSize,
-diff --git a/registry/storage/linkedblobstore.go b/registry/storage/linkedblobstore.go
-index de591c8a5..3fb1da26f 100644
---- a/registry/storage/linkedblobstore.go
-+++ b/registry/storage/linkedblobstore.go
-@@ -312,14 +312,14 @@ func (lbs *linkedBlobStore) newBlobUpload(ctx context.Context, uuid, path string
- }
-
- bw := &blobWriter{
-- ctx: ctx,
-- blobStore: lbs,
-- id: uuid,
-- startedAt: startedAt,
-- digester: digest.Canonical.Digester(),
-- fileWriter: fw,
-- driver: lbs.driver,
-- path: path,
-+ ctx: ctx,
-+ blobStore: lbs,
-+ id: uuid,
-+ startedAt: startedAt,
-+ digester: digest.Canonical.Digester(),
-+ fileWriter: fw,
-+ driver: lbs.driver,
-+ path: path,
- resumableDigestEnabled: lbs.resumableDigestEnabled,
- }
-
-diff --git a/registry/storage/linkedblobstore_test.go b/registry/storage/linkedblobstore_test.go
-index e0ffd2796..85376f715 100644
---- a/registry/storage/linkedblobstore_test.go
-+++ b/registry/storage/linkedblobstore_test.go
-@@ -162,8 +162,8 @@ type mockBlobDescriptorServiceFactory struct {
- func (f *mockBlobDescriptorServiceFactory) BlobAccessController(svc distribution.BlobDescriptorService) distribution.BlobDescriptorService {
- return &mockBlobDescriptorService{
- BlobDescriptorService: svc,
-- t: f.t,
-- stats: f.stats,
-+ t: f.t,
-+ stats: f.stats,
- }
- }
-
-
-From 5c66b577b027e3b314680f245be4213a002fcee0 Mon Sep 17 00:00:00 2001
-From: Honglin Feng <tifayuki@gmail.com>
-Date: Mon, 15 Oct 2018 20:18:36 +0800
-Subject: [PATCH 4/4] run go fmt and goimports
-
-Signed-off-by: Honglin Feng <tifayuki@gmail.com>
----
- registry/storage/driver/s3-aws/s3.go | 10 +++++-----
- registry/storage/linkedblobstore.go | 16 ++++++++--------
- registry/storage/linkedblobstore_test.go | 4 ++--
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/registry/storage/driver/s3-aws/s3.go b/registry/storage/driver/s3-aws/s3.go
-index 9cd87dbab..800435d01 100644
---- a/registry/storage/driver/s3-aws/s3.go
-+++ b/registry/storage/driver/s3-aws/s3.go
-@@ -476,11 +476,11 @@ func New(params DriverParameters) (*Driver, error) {
- // }
-
- d := &driver{
-- S3: s3obj,
-- Bucket: params.Bucket,
-- ChunkSize: params.ChunkSize,
-- Encrypt: params.Encrypt,
-- KeyID: params.KeyID,
-+ S3: s3obj,
-+ Bucket: params.Bucket,
-+ ChunkSize: params.ChunkSize,
-+ Encrypt: params.Encrypt,
-+ KeyID: params.KeyID,
- MultipartCopyChunkSize: params.MultipartCopyChunkSize,
- MultipartCopyMaxConcurrency: params.MultipartCopyMaxConcurrency,
- MultipartCopyThresholdSize: params.MultipartCopyThresholdSize,
-diff --git a/registry/storage/linkedblobstore.go b/registry/storage/linkedblobstore.go
-index 3fb1da26f..de591c8a5 100644
---- a/registry/storage/linkedblobstore.go
-+++ b/registry/storage/linkedblobstore.go
-@@ -312,14 +312,14 @@ func (lbs *linkedBlobStore) newBlobUpload(ctx context.Context, uuid, path string
- }
-
- bw := &blobWriter{
-- ctx: ctx,
-- blobStore: lbs,
-- id: uuid,
-- startedAt: startedAt,
-- digester: digest.Canonical.Digester(),
-- fileWriter: fw,
-- driver: lbs.driver,
-- path: path,
-+ ctx: ctx,
-+ blobStore: lbs,
-+ id: uuid,
-+ startedAt: startedAt,
-+ digester: digest.Canonical.Digester(),
-+ fileWriter: fw,
-+ driver: lbs.driver,
-+ path: path,
- resumableDigestEnabled: lbs.resumableDigestEnabled,
- }
-
-diff --git a/registry/storage/linkedblobstore_test.go b/registry/storage/linkedblobstore_test.go
-index 85376f715..e0ffd2796 100644
---- a/registry/storage/linkedblobstore_test.go
-+++ b/registry/storage/linkedblobstore_test.go
-@@ -162,8 +162,8 @@ type mockBlobDescriptorServiceFactory struct {
- func (f *mockBlobDescriptorServiceFactory) BlobAccessController(svc distribution.BlobDescriptorService) distribution.BlobDescriptorService {
- return &mockBlobDescriptorService{
- BlobDescriptorService: svc,
-- t: f.t,
-- stats: f.stats,
-+ t: f.t,
-+ stats: f.stats,
- }
- }
-
diff --git a/app-emulation/docker-registry/files/registry.confd b/app-emulation/docker-registry/files/registry.confd
deleted file mode 100644
index bfa97f127ef1..000000000000
--- a/app-emulation/docker-registry/files/registry.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# arguments for docker-registry
-command_args="serve /etc/docker/registry/config.yml"
diff --git a/app-emulation/docker-registry/files/registry.initd b/app-emulation/docker-registry/files/registry.initd
deleted file mode 100644
index b81303c624d1..000000000000
--- a/app-emulation/docker-registry/files/registry.initd
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2016-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="Docker Registry 2.0"
-pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
-user=${user:-${RC_SVCNAME}}
-group=${group:-${RC_SVCNAME}}
-
-command="/usr/libexec/docker-${RC_SVCNAME}/${RC_SVCNAME}"
-command_args="${command_args:-serve /etc/docker/registry/config.yml}"
-command_background="true"
-start_stop_daemon_args="--user ${user} --group ${group} \
- --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
- --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
-
-depend() {
- need net
-}
diff --git a/app-emulation/docker-registry/files/registry.logrotated b/app-emulation/docker-registry/files/registry.logrotated
deleted file mode 100644
index 3cb63f949a08..000000000000
--- a/app-emulation/docker-registry/files/registry.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/registry/registry.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/app-emulation/docker-registry/files/registry.service b/app-emulation/docker-registry/files/registry.service
deleted file mode 100644
index 14ff5f9c0b77..000000000000
--- a/app-emulation/docker-registry/files/registry.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Docker Registry 2.0
-Requires=network-online.target
-After=network-online.target
-
-[Service]
-User=registry
-PrivateDevices=Yes
-Environment="DOCKER_REGISTRY_ARGS=serve /etc/docker/registry/config.yml"
-ExecStart=/usr/libexec/docker-registry/registry $DOCKER_REGISTRY_ARGS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/app-emulation/docker-registry/metadata.xml b/app-emulation/docker-registry/metadata.xml
deleted file mode 100644
index 4f66ba32a890..000000000000
--- a/app-emulation/docker-registry/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">docker/distribution</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/docker-swarm/Manifest b/app-emulation/docker-swarm/Manifest
deleted file mode 100644
index e67d6adbf65b..000000000000
--- a/app-emulation/docker-swarm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST docker-swarm-1.2.9.tar.gz 1532493 BLAKE2B 243a3cb6d2e9f719d81947429c6616e93cf1b08187685922ad5daf732e61db12bd626fa26f30174af7e779c8ba45ecce7d2cfb33835ef985bdd57657e30e2228 SHA512 cc0e0e27d0ed4845abd99d1554630cc8e2ab0645d40a76358a83b2ea6d1bc5287dbf5d1aefdd2eb4302aeef3894725e75cae3f5da2353b045492a4357631daa2
diff --git a/app-emulation/docker-swarm/docker-swarm-1.2.9.ebuild b/app-emulation/docker-swarm/docker-swarm-1.2.9.ebuild
deleted file mode 100644
index 5ca267108edf..000000000000
--- a/app-emulation/docker-swarm/docker-swarm-1.2.9.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-
-KEYWORDS="~amd64"
-EGO_PN=github.com/docker/swarm
-EGIT_COMMIT="527a849cc6b8297690f478905083fc77951da2a7"
-MY_PN=classicswarm
-SRC_URI="https://github.com/docker/classicswarm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-DESCRIPTION="Swarm Classic: a container clustering system"
-HOMEPAGE="https://docs.docker.com/swarm"
-LICENSE="Apache-2.0 CC-BY-SA-4.0 BSD BSD-2 ISC MIT MPL-2.0 WTFPL-2"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # It would require internet access to run `go mod vendor`, so
- # generate approximate go.mod and vendor/modules.txt from the
- # content of vendor.conf. Use a dummy vendor_version that is
- # good enough for go to recognize as a valid version.
- rm -f go.mod vendor/modules.txt || die
- local x vendor_version=v1.0.0
- printf -- 'module %s\n' "${EGO_PN}" >> go.mod || die
- printf -- 'go 1.14\n' >> go.mod || die
- printf -- 'require (\n' >> go.mod || die
- while read -r x; do
- printf -- '\t%s %s\n' "${x}" "${vendor_version}" >> go.mod || die
- printf -- '# %s %s\n' "${x}" "${vendor_version}" >> vendor/modules.txt || die
- printf -- '## explicit\n' >> vendor/modules.txt || die
- printf -- '%s\n' "${x}" >> vendor/modules.txt || die
- done < <(grep -Eo "^[^#[:space:]]+" vendor.conf)
- printf -- ')\n' >> go.mod || die
- default
-}
-
-src_compile() {
- GOBIN="${S}/bin" \
- go install -v -work -x -mod=vendor -x \
- -ldflags "-w -X github.com/docker/swarm/version.GITCOMMIT=${EGIT_COMMIT} \
- -X github.com/docker/swarm/version.BUILDTIME=$(date -u +%FT%T%z)" \
- ./... || die
-}
-
-src_install() {
- dobin bin/swarm
- dosym swarm /usr/bin/docker-swarm
- dodoc CHANGELOG.md CONTRIBUTING.md logo.png README.md
-}
diff --git a/app-emulation/docker-swarm/metadata.xml b/app-emulation/docker-swarm/metadata.xml
deleted file mode 100644
index 127ef4728e20..000000000000
--- a/app-emulation/docker-swarm/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">docker/swarm</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest
deleted file mode 100644
index 730b80b336ef..000000000000
--- a/app-emulation/docker/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST docker-19.03.15.tar.gz 18284803 BLAKE2B a1fac5d841934382d12c781353546b7c7a8167d0f2dc4150659a4aece210ea7361c59de25e3d450dae20fd536ea8dc33a18e55f9565ee4fdc818166810391fbf SHA512 ffd8e683a93a6ce69789603d24457aebe3379594692cb3dadc25bc8d407771a29d76087b0ca70856707f151622b1853f283a1071311c033ff90a1e44b0d9ffbc
-DIST docker-20.10.5.tar.gz 11068359 BLAKE2B 16021065f20b6298e47f7b235f522a81ee1cbf046420edf43b241750f39ae19ddee8250090710c124ce09d9c0b20de58378b7df056b37d040a44884e32c5d12d SHA512 620a5345d99be16b4c6ba7321e91e4896128f7d638dfe2220554a6cadeb78b21dd3003cff6db60ed5ffd671ea243b310b21cc1123543b0e0cbfa93eec2900973
diff --git a/app-emulation/docker/docker-19.03.15.ebuild b/app-emulation/docker/docker-19.03.15.ebuild
deleted file mode 100644
index 264b79cadde4..000000000000
--- a/app-emulation/docker/docker-19.03.15.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 1999-2021 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=420b1d3625
- MY_PV=${PV/_/-}
- SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
- [ "$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 selinux"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
-BDEPEND="
- >=dev-lang/go-1.13.12
- dev-go/go-md2man
- virtual/pkgconfig
-"
-
-DEPEND="
- acct-group/docker
- >=dev-db/sqlite-3.7.9:3
- apparmor? ( sys-libs/libapparmor )
- btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
- device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
- seccomp? ( >=sys-libs/libseccomp-2.2.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
-# https://github.com/docker/docker-ce/tree/master/components/engine/hack/dockerfile/install
-# make sure containerd, docker-proxy, runc and tini pinned to exact versions from ^,
-# for appropriate brachch/version of course
-RDEPEND="
- ${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.3.9[apparmor?,btrfs?,device-mapper?,seccomp?,selinux?]
- ~app-emulation/runc-1.0.0_rc10[apparmor?,seccomp?,selinux(-)?]
- ~app-emulation/docker-proxy-0.8.0_p20201105
- 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_NETLINK ~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
-
- ~BLK_CGROUP ~BLK_DEV_THROTTLING
- ~CGROUP_PERF
- ~CGROUP_HUGETLB
- ~NET_CLS_CGROUP
- ~CFS_BANDWIDTH ~FAIR_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
-
- ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR
- ~EXT4_FS_SECURITY
- ~EXT4_FS_POSIX_ACL
-"
-
-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 kernel_is lt 5 8; then
- CONFIG_CHECK+="
- ~MEMCG_SWAP_ENABLED
- "
- 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 is patched to kernel instead of using standalone"
- 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
-
- 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${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/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 selinux; 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
- DISABLE_WARN_OUTSIDE_CONTAINER=1 emake \
- LDFLAGS="$(usex hardened '-extldflags -fno-PIC' '')" \
- VERSION="$(cat ../../VERSION)" \
- GITCOMMIT="${DOCKER_GITCOMMIT}" \
- 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*/*
-
- sed -i 's@dockerd\?\.exe@@g' contrib/completion/bash/docker || die
- dobashcomp contrib/completion/bash/*
- bashcomp_alias docker dockerd
- 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:"
- if systemd_is_booted || has_version sys-apps/systemd; then
- elog " systemctl enable docker.service"
- else
- elog " rc-update add docker default"
- fi
- elog
- elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
- elog ' usermod -aG docker <youruser>'
- elog
-
- if use device-mapper; then
- elog " Devicemapper storage driver has been deprecated"
- elog " It will be removed in a future release"
- elog
- fi
-
- if use overlay; then
- elog " Overlay storage driver/USEflag has been deprecated"
- elog " in favor of overlay2 (enabled unconditionally)"
- elog
- fi
-
- if has_version sys-fs/zfs; then
- elog " ZFS storage driver is available"
- elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
- elog
- fi
-}
diff --git a/app-emulation/docker/docker-20.10.5.ebuild b/app-emulation/docker/docker-20.10.5.ebuild
deleted file mode 100644
index 0d576b0ffc80..000000000000
--- a/app-emulation/docker/docker-20.10.5.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-EGO_PN=github.com/docker/docker
-GIT_COMMIT=363e9a88a1
-inherit bash-completion-r1 linux-info systemd udev golang-vcs-snapshot
-
-DESCRIPTION="The core functions you need to create Docker images and run Docker containers"
-HOMEPAGE="https://www.docker.com/"
-MY_PV=${PV/_/-}
-SRC_URI="https://github.com/moby/moby/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="apparmor aufs btrfs +cli +container-init device-mapper hardened overlay seccomp"
-
-DEPEND="
- acct-group/docker
- >=dev-db/sqlite-3.7.9:3
- apparmor? ( sys-libs/libapparmor )
- btrfs? ( >=sys-fs/btrfs-progs-3.16.1 )
- device-mapper? ( >=sys-fs/lvm2-2.02.89[thin] )
- seccomp? ( >=sys-libs/libseccomp-2.2.1 )
-"
-
-# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#runtime-dependencies
-# https://github.com/moby/moby/blob/master/project/PACKAGERS.md#optional-dependencies
-# https://github.com/moby/moby/tree/master//hack/dockerfile/install
-# make sure docker-proxy is pinned to exact version from ^,
-# for appropriate branchch/version of course
-RDEPEND="
- ${DEPEND}
- >=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.4.1[apparmor?,btrfs?,device-mapper?,seccomp?]
- ~app-emulation/docker-proxy-0.8.0_p20201215
- cli? ( app-emulation/docker-cli )
- container-init? ( >=sys-process/tini-0.19.0[static] )
-"
-
-# https://github.com/docker/docker/blob/master/project/PACKAGERS.md#build-dependencies
-BDEPEND="
- >=dev-lang/go-1.13.12
- dev-go/go-md2man
- virtual/pkgconfig
-"
-
-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
- ~CGROUP_NET_PRIO
- ~KEYS
- ~VETH ~BRIDGE ~BRIDGE_NETFILTER
- ~IP_NF_FILTER ~IP_NF_TARGET_MASQUERADE ~NETFILTER_XT_MARK
- ~NETFILTER_NETLINK ~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
-
- ~BLK_CGROUP ~BLK_DEV_THROTTLING
- ~CGROUP_PERF
- ~CGROUP_HUGETLB
- ~NET_CLS_CGROUP
- ~CFS_BANDWIDTH ~FAIR_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
-
- ~OVERLAY_FS ~!OVERLAY_FS_REDIRECT_DIR
- ~EXT4_FS_SECURITY
- ~EXT4_FS_POSIX_ACL
-"
-
-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 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 kernel_is lt 5 8; then
- CONFIG_CHECK+="
- ~MEMCG_SWAP_ENABLED
- "
- 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 is patched to kernel instead of using standalone"
- 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
-
- linux-info_pkg_setup
-}
-
-src_compile() {
- export DOCKER_GITCOMMIT="${GIT_COMMIT}"
- export GOPATH="${WORKDIR}/${P}"
- export VERSION=${PV}
-
- # setup CFLAGS and LDFLAGS for separate build target
- # see https://github.com/tianon/docker-overlay/pull/10
- export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
- export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
-
- # 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
-
- 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
- ./hack/make.sh dynbinary || die 'dynbinary failed'
-}
-
-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
- newbin bundles/dynbinary-daemon/dockerd 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/*
-
- # note: intentionally not using "doins" so that we preserve +x bits
- dodir /usr/share/${PN}/contrib
- cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
-}
-
-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:"
- if systemd_is_booted || has_version sys-apps/systemd; then
- elog " systemctl enable docker.service"
- else
- elog " rc-update add docker default"
- fi
- elog
- elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
- elog ' usermod -aG docker <youruser>'
- elog
-
- if use device-mapper; then
- elog " Devicemapper storage driver has been deprecated"
- elog " It will be removed in a future release"
- elog
- fi
-
- if use overlay; then
- elog " Overlay storage driver/USEflag has been deprecated"
- elog " in favor of overlay2 (enabled unconditionally)"
- elog
- fi
-
- if has_version sys-fs/zfs; then
- elog " ZFS storage driver is available"
- elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
- elog
- fi
-
- if use cli; then
- ewarn "Starting with docker 20.10.2, docker has been split into"
- ewarn "two packages upstream, so Gentoo has followed suit."
- ewarn
- ewarn "app-emulation/docker contains the daemon and"
- ewarn "app-emulation/docker-cli contains the docker command."
- ewarn
- ewarn "docker currently installs docker-cli using the cli use flag."
- ewarn
- ewarn "This use flag is temporary, so you need to take the"
- ewarn "following actions:"
- ewarn
- ewarn "First, disable the cli use flag for app-emulation/docker"
- ewarn
- ewarn "Then, if you need docker-cli and docker on the same machine,"
- ewarn "run the following command:"
- ewarn
- ewarn "# emerge --noreplace docker-cli"
- ewarn
- fi
-}
diff --git a/app-emulation/docker/metadata.xml b/app-emulation/docker/metadata.xml
deleted file mode 100644
index 1ec7d353074c..000000000000
--- a/app-emulation/docker/metadata.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription>
- Docker is an open-source project to easily create lightweight,
- portable, self-sufficient containers from any application. The same
- container that a developer builds and tests on a laptop can run at
- scale, in production, on VMs, bare metal, OpenStack clusters, public
- clouds and more.
- </longdescription>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <use>
- <flag name="aufs">
- Enables dependencies for the "aufs" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="apparmor">
- Enable AppArmor support.
- </flag>
- <flag name="btrfs">
- Enables dependencies for the "btrfs" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="cli">
- This is a temporary use flag which pulls in
- app-emulation/docker-cli, the docker command line client.
- This flag is here to assist in the transition to split packages
- and will be removed in a future release.
- </flag>
- <flag name="container-init">
- Makes the a staticly-linked init system tini available inside a
- container.
- </flag>
- <flag name="device-mapper">
- Enables dependencies for the "devicemapper" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="overlay">
- Enables dependencies for the "overlay" graph driver, including
- necessary kernel flags.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">moby/moby</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
index 409834bb73d2..33bcb2602637 100644
--- a/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
+++ b/app-emulation/dosemu/dosemu-1.4.1_pre20130107-r5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2002-2020 Gentoo Authors
+# Copyright 2002-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-inherit autotools eutils flag-o-matic pax-utils toolchain-funcs
+inherit autotools flag-o-matic pax-utils toolchain-funcs
P_FD="dosemu-freedos-1.0-bin"
COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71"
@@ -12,8 +12,8 @@ COMMIT="15cfb41ff20a052769d753c3262c57ecb050ad71"
DESCRIPTION="DOS Emulator"
HOMEPAGE="http://www.dosemu.org/"
-SRC_URI="mirror://sourceforge/dosemu/${P_FD}.tgz
- https://dev.gentoo.org/~slyfox/distfiles/${P}.zip"
+SRC_URI="https://downloads.sourceforge.net/dosemu/${P_FD}.tgz
+ https://dev.gentoo.org/~sam/distfiles/${P}.zip"
LICENSE="GPL-2"
SLOT="0"
@@ -109,7 +109,7 @@ src_configure() {
src_compile() {
# src/makefile.common is written manually, uses AR=ar
- emake AR=$(tc-getAR)
+ emake AR="$(tc-getAR)"
}
src_install() {
diff --git a/app-emulation/dosemu/metadata.xml b/app-emulation/dosemu/metadata.xml
index 02fe93487b16..05cd00dae726 100644
--- a/app-emulation/dosemu/metadata.xml
+++ b/app-emulation/dosemu/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="fluidsynth">use <pkg>media-sound/fluidsynth</pkg> for MIDI emulation</flag>
</use>
diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest
new file mode 100644
index 000000000000..1469578046c4
--- /dev/null
+++ b/app-emulation/dxvk/Manifest
@@ -0,0 +1,6 @@
+DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3
+DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f
+DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d
+DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121
+DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
+DIST vulkan-headers-46dc0f6e514f5730784bb2cac2a7c731636839e8.tar.gz 2255426 BLAKE2B efaf09df3274586c4df2bdd0b1dd9dd43b3b6125e0033ae87af999aea64709e9758bc7b675398b480ae063e28273732d768062d97f6cd61d63ccc798ca7410a5 SHA512 7ea993f7c8ff72dc6bedbfdaced29782ab372228e9111f747d931955e832a7920114f5d1953ecd34d220634a53449ca2ed4c0ed28d3165e258c4d9fafd0aa4be
diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
new file mode 100644
index 000000000000..701ccb453a83
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# note: version <2.0 should be kept for longer given it's the
+# last version to support <wine-7.1 and <nvidia-drivers-510
+
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+else
+ SRC_URI="https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 debug +dxgi"
+REQUIRED_USE="
+ || ( d3d9 d3d10 d3d11 dxgi )
+ d3d10? ( d3d11 )
+ dxgi? ( d3d11 )"
+
+BDEPEND="
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.10.3-gcc13.patch
+ "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is set but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+ $(meson_use {,enable_}d3d9)
+ $(meson_use {,enable_}d3d10)
+ $(meson_use {,enable_}d3d11)
+ $(meson_use {,enable_}dxgi)
+ $(usev !debug --strip) # portage won't strip .dll, so allow it here
+ -Denable_tests=false # needs wine/vulkan and is intended for manual use
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_dxvk.sh
+ dodoc README.md dxvk.conf
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+ [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elif [[ -v DXVK_HAD_OVERLAY ]]; then
+ # temporary warning until this version is more widely used
+ elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+ elog "If you were using symbolic links in wine prefixes it may be necessary to"
+ elog "refresh them by re-running the command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+ elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+ fi
+}
diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
new file mode 100644
index 000000000000..640326b8a12d
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -0,0 +1,191 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+ EGIT_SUBMODULES=(
+ # picky about headers and is cross-compiled making -I/usr/include troublesome
+ include/{spirv,vulkan}
+ subprojects/libdisplay-info
+ )
+else
+ HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+ HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8
+ HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078
+ SRC_URI="
+ https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> spirv-headers-${HASH_SPIRV}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> vulkan-headers-${HASH_VULKAN}.tar.gz
+ https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+ "
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+ || ( d3d9 d3d10 d3d11 dxgi )
+ d3d10? ( d3d11 )
+ d3d11? ( dxgi )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+ "${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is set but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+ mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+ fi
+ cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+ --force-fallback-for=libdisplay-info # system's is ELF (unusable)
+ $(meson_use {,enable_}d3d9)
+ $(meson_use {,enable_}d3d10)
+ $(meson_use {,enable_}d3d11)
+ $(meson_use {,enable_}dxgi)
+ $(usev strip --strip) # portage won't strip .dll, so allow it here
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_dxvk.sh
+ dodoc README.md dxvk.conf
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+ [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+ elog "removed upstream, handling may change in the future."
+ elif [[ -v DXVK_HAD_OVERLAY ]]; then
+ # temporary warning until this version is more widely used
+ elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+ elog "If you were using symbolic links in wine prefixes it may be necessary to"
+ elog "refresh them by re-running the command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+ elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+ fi
+
+ if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+ then
+ elog
+ elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+ fi
+}
diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild
new file mode 100644
index 000000000000..9db73b208248
--- /dev/null
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -0,0 +1,191 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git"
+ EGIT_SUBMODULES=(
+ # picky about headers and is cross-compiled making -I/usr/include troublesome
+ include/{spirv,vulkan}
+ subprojects/libdisplay-info
+ )
+else
+ HASH_SPIRV=
+ HASH_VULKAN=
+ HASH_DISPLAYINFO=
+ SRC_URI="
+ https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> spirv-headers-${HASH_SPIRV}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> vulkan-headers-${HASH_VULKAN}.tar.gz
+ https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2
+ "
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk/"
+
+# setup_dxvk.sh is no longer provided, fetch old until a better solution
+SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh"
+
+LICENSE="ZLIB Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip"
+REQUIRED_USE="
+ || ( d3d9 d3d10 d3d11 dxgi )
+ d3d10? ( d3d11 )
+ d3d11? ( dxgi )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch
+ "${FILESDIR}"/${PN}-2.3.1-gcc14.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is set but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die
+ mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die
+ fi
+ cp -- "${DISTDIR}"/setup_dxvk.sh . || die
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2}
+ --force-fallback-for=libdisplay-info # system's is ELF (unusable)
+ $(meson_use {,enable_}d3d9)
+ $(meson_use {,enable_}d3d10)
+ $(meson_use {,enable_}d3d11)
+ $(meson_use {,enable_}dxgi)
+ $(usev strip --strip) # portage won't strip .dll, so allow it here
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_dxvk.sh
+ dodoc README.md dxvk.conf
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_preinst() {
+ [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY=
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was"
+ elog "removed upstream, handling may change in the future."
+ elif [[ -v DXVK_HAD_OVERLAY ]]; then
+ # temporary warning until this version is more widely used
+ elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays."
+ elog "If you were using symbolic links in wine prefixes it may be necessary to"
+ elog "refresh them by re-running the command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink"
+ elog
+ elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load"
+ elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs."
+ fi
+
+ if [[ ! ${REPLACING_VERSIONS##* } ]] ||
+ ver_test ${REPLACING_VERSIONS##* } -lt 2.0
+ then
+ elog
+ elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support"
+ fi
+}
diff --git a/app-emulation/dxvk/files/dxvk-1.10.3-gcc13.patch b/app-emulation/dxvk/files/dxvk-1.10.3-gcc13.patch
new file mode 100644
index 000000000000..580e412fcd6e
--- /dev/null
+++ b/app-emulation/dxvk/files/dxvk-1.10.3-gcc13.patch
@@ -0,0 +1,17 @@
+https://github.com/doitsujin/dxvk/commit/1a5afc77b1859e6c7e31b55e11ece899e3b5295a
+--- a/src/util/config/config.h
++++ b/src/util/config/config.h
+@@ -1,4 +1,5 @@
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <unordered_map>
+--- a/src/util/util_bit.h
++++ b/src/util/util_bit.h
+@@ -17,4 +17,5 @@
+ #include "util_math.h"
+
++#include <cstdint>
+ #include <cstring>
+ #include <iterator>
diff --git a/app-emulation/dxvk/files/dxvk-1.10.3-wow64-setup.patch b/app-emulation/dxvk/files/dxvk-1.10.3-wow64-setup.patch
new file mode 100644
index 000000000000..707eba19b24b
--- /dev/null
+++ b/app-emulation/dxvk/files/dxvk-1.10.3-wow64-setup.patch
@@ -0,0 +1,14 @@
+Dirty workaround to try syswow64 if paths are the same. This can happen
+with USE=wow64 on wine where wine64 is a symlink to wine.
+
+TODO: dxvk's and vkd3d-proton's setup script should be rewritten and packaged
+separately (shared) as upstream hardly support these (dxvk dropped altogether).
+--- a/setup_dxvk.sh
++++ b/setup_dxvk.sh
+@@ -89,2 +89,6 @@
+ win32_sys_path="${win32_sys_path/$'\r'/}"
++ if [ "$win32_sys_path" = "$win64_sys_path" ]; then
++ win32_sys_path=$($wine winepath -u 'C:\windows\syswow64' 2> /dev/null)
++ win32_sys_path="${win32_sys_path/$'\r'/}"
++ fi
+ fi
diff --git a/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch b/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch
new file mode 100644
index 000000000000..957735b1909e
--- /dev/null
+++ b/app-emulation/dxvk/files/dxvk-2.3.1-gcc14.patch
@@ -0,0 +1,7 @@
+for std::remove_if
+--- a/src/d3d9/d3d9_mem.cpp
++++ b/src/d3d9/d3d9_mem.cpp
+@@ -5,2 +5,3 @@
+ #include "../util/util_likely.h"
++#include <algorithm>
+ #include <utility>
diff --git a/app-emulation/dxvk/metadata.xml b/app-emulation/dxvk/metadata.xml
new file mode 100644
index 000000000000..84811f271d8e
--- /dev/null
+++ b/app-emulation/dxvk/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <use>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
+ <flag name="d3d9">Enable support for DirectX 9 (d3d9.dll)</flag>
+ <flag name="d3d10">Enable support for DirectX 10 (d3d10.dll)</flag>
+ <flag name="d3d11">Enable support for DirectX 11 (d3d11.dll)</flag>
+ <flag name="dxgi">Enable support for the DirectX Graphics Infrastructure (dxgi.dll)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">doitsujin/dxvk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/dynamips/Manifest b/app-emulation/dynamips/Manifest
index 4c2341a41c36..d3d379eb9542 100644
--- a/app-emulation/dynamips/Manifest
+++ b/app-emulation/dynamips/Manifest
@@ -1 +1 @@
-DIST dynamips-0.2.21.tar.gz 833863 BLAKE2B a3162de26839a4c99fd1f147fe0a12e04f4b225b6539aa1599550c40c6a9e21deed950b47f7afbbc1cfbe2f61a351a4185a18f56c4b63c191eccc7122e2c0115 SHA512 c7251963897b65ed5696f47f03be727cea79fe2245850c86fa6b4d8718afa10002b1e39bccefe1c7f2ba86fe6b8f52fe8663ee34f72ca3d9f846522b9b9b4d29
+DIST dynamips-0.2.23.tar.gz 835736 BLAKE2B 5ea57ffbcd289a3982d873dace5bda8941209d7a0f2e36bc0cc4266c59e266f8277a215580487fb70a505eb133672247aa76d7e41124516eb67e40b999bcd67c SHA512 b68af39cd66f10555d860437f55e63887aefdb5a949bacacf3a308cc0c4eaaab3bb9a496c5ac32fd19d3920bada807bff2af8eb66b01d8d735419fec5d134746
diff --git a/app-emulation/dynamips/dynamips-0.2.21.ebuild b/app-emulation/dynamips/dynamips-0.2.23.ebuild
index ad971daa108b..1a0741cc4406 100644
--- a/app-emulation/dynamips/dynamips-0.2.21.ebuild
+++ b/app-emulation/dynamips/dynamips-0.2.23.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -9,19 +9,16 @@ DESCRIPTION="Cisco 7200/3600 Simulator"
HOMEPAGE="https://github.com/GNS3/dynamips"
SRC_URI="https://github.com/GNS3/dynamips/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="ipv6"
-
-BDEPEND="app-arch/unzip"
RDEPEND="
dev-libs/elfutils
net-libs/libpcap"
DEPEND="${RDEPEND}"
-DOCS=( ChangeLog README.md RELEASE-NOTES )
+DOCS=( ChangeLog README.md README.hypervisor RELEASE-NOTES )
PATCHES=( "${FILESDIR}/${PN}-0.2.18-docs.patch" )
@@ -35,7 +32,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
-DANY_COMPILER=1
- -DENABLE_IPV6="$(usex ipv6)"
+ -DENABLE_IPV6=yes
)
cmake_src_configure
}
diff --git a/app-emulation/dynamips/metadata.xml b/app-emulation/dynamips/metadata.xml
index bd4be58c8f43..82c5a4ca25bc 100644
--- a/app-emulation/dynamips/metadata.xml
+++ b/app-emulation/dynamips/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>mmk@levelnine.at</email>
+ <name>Michael Mair-Keimberger</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="sourceforge">gns-3</remote-id>
<remote-id type="github">GNS3/dynamips</remote-id>
diff --git a/app-emulation/edumips64/Manifest b/app-emulation/edumips64/Manifest
deleted file mode 100644
index 5546cf952199..000000000000
--- a/app-emulation/edumips64/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST edumips64-1.2.tar.bz2 551455 BLAKE2B 614bf851964ea32d6954fb5345f6b07b6292bf90e24dca5d3ea8d86c1b910e1e9ade6ebfece054922ad3506586e9f32c1f6570a7248023e6a867a8b5c09b1203 SHA512 93a5bcae3ab96c35688de7589b9ecb465fe841b007a50e1b04f8194d12a45a4e7134951584f4fbfad5cee51925d1d21b0f425f182999f66fe57a31adbd3f6602
diff --git a/app-emulation/edumips64/edumips64-1.2.ebuild b/app-emulation/edumips64/edumips64-1.2.ebuild
deleted file mode 100644
index 518464fb1ce0..000000000000
--- a/app-emulation/edumips64/edumips64-1.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-JAVA_PKG_IUSE="doc test"
-
-inherit eutils java-pkg-2 java-ant-2
-
-DESCRIPTION="A visual and cross-platform MIPS64 CPU Simulator"
-HOMEPAGE="https://www.edumips.org"
-SLOT="0"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="dev-python/sphinx
- dev-java/javatoolkit
- dev-java/javahelp:0
- >=virtual/jdk-1.6
- doc? ( sys-devel/make )
- test? (
- dev-java/junit:4
- dev-java/ant-junit4
- )"
-RDEPEND=">=virtual/jre-1.6"
-
-EANT_BUILD_TARGET="slim-jar"
-EANT_DOC_TARGET="htmldoc"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-javadoc-cp.patch"
- java-pkg_jar-from --build-only --into libs javahelp jhall.jar
- use test && java-pkg_jar-from --build-only --into libs junit-4 junit.jar junit-4.10.jar
- java-pkg-2_src_prepare
-}
-
-src_install() {
- java-pkg_newjar ${PN}-${PV}-nodeps.jar ${PN}.jar
- dodoc RELEASE_NOTES authors
- use doc && java-pkg_dojavadoc docs/en/output/html
-}
-
-src_test() {
- ANT_TASKS="ant-junit4" eant test
-}
diff --git a/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch b/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch
deleted file mode 100644
index 14ead77d3335..000000000000
--- a/app-emulation/edumips64/files/edumips64-1.2-javadoc-cp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/build.xml
-+++ b/build.xml
-@@ -27,7 +27,7 @@
-
- <!-- Access the environment -->
- <property environment="env" />
-- <property name="base.classpath" value="libs:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" />
-+ <property name="base.classpath" value="libs:libs/jhall.jar:libs/junit-4.10.jar:libs/hamcrest-core-1.3.jar:${env.CLASSPATH}" />
-
- <!-- File names -->
- <property name="standalone_jar_filename" value="edumips64-${version}.jar" />
diff --git a/app-emulation/edumips64/metadata.xml b/app-emulation/edumips64/metadata.xml
deleted file mode 100644
index dfc7b27fde63..000000000000
--- a/app-emulation/edumips64/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">edumips64</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/faudio/Manifest b/app-emulation/faudio/Manifest
index 5a99bb140a2a..8309fa7609e5 100644
--- a/app-emulation/faudio/Manifest
+++ b/app-emulation/faudio/Manifest
@@ -1,5 +1,3 @@
-DIST FAudio-19.06.tar.gz 899089 BLAKE2B a59ad9613bcfa71e1fc8be1f2d389f56b8f96430c354b7c7148d1e1e084102b6d8559cd258f3ab6969a4ac93e55ea2397b18dc417857e9ee0f022ea0dae65c0e SHA512 ba3ee18b47d8d85dc39e777c420522349f9873cf1528dd6c266f7254fe27cdb5bb6ab5bcbeab870938b509bfd006590d2380908b7d1e3fd679d2a434ce82eca6
-DIST FAudio-19.09.tar.gz 901659 BLAKE2B 8bb99c67b6da2660e71c7a8a70f83130738a07e7f4ddd2001fb857c81a593935506a8c1fe6d24bfd064537ea4a5a603973c32d839228d7b3f45c9c300ba15147 SHA512 127f975c68e2b449fa7cadae0723925f35ca7a2841ea3fd85037febe964331de4b2e3031ab09c292ee5f40d90902dcf78c75cc3fe7fbe4d6f37a822b4d9eb966
-DIST FAudio-20.02.tar.gz 908051 BLAKE2B 7f9323e7528949680b39469b3549adbef9acafe6f293c643676117648fd6871639fa8c7a47fdc0e1232c0533c0af9e89953415a0935fa4ad7b831aa8a8243f30 SHA512 69995fa1fb9ea41182e47f8143252db517adf4e9dc4a0556c9032af5c867259cc7edc81196b10ef043e6118a2e3687b34368f3ac8ffe9294398c5143b9928476
-DIST FAudio-20.09.tar.gz 1133191 BLAKE2B 519467051e8ce82a8e3b7dcea13ad2b076510bdef363e2170373030a1cc8cc600c0a9627dcb38923e33588eb74081ab161d7596bbb7efe02961e9a38a2e36197 SHA512 a4f06cbb07e7baa0dcf59f93412f364a70a6757079cb21b51808dafed256e557e18866974e5145d0a8509b7a4f4a68bc130a49d6704571e0a43913e73abbd984
-DIST FAudio-21.01.tar.gz 1134752 BLAKE2B 3acf80172744bfdc6fb44e373ee2a159ed4d49713fec38a8c6447d66c345445a435e1eb1656552289a634e3a628cfcf7df979a2d155edca1aef0c0334629424e SHA512 69405a28fdf3ff5026992bdd1d40d61653b834dac3ef2697a0e794deac2fa6257fe74b19d2fe225ce25a1ae3caec7082106f5ab6ea6109cc61e520b903d35b80
+DIST faudio-23.02.tar.gz 1111012 BLAKE2B c776a5b882697fbbed894f129165600b1aad8b303254e9ecbf6111fff71581491b484681a71d377854077dfc23b99d1217e5322bdd9923caf4471cc0bc2ca0f2 SHA512 d83adca1f1e42b1c7d63dad30886b58a914ac9a5a254f26d3fdb2386776840e3c40b22a8dd9c7172e6c97b0db989f919fd2ebeac2ec00075a8136ec9120bc390
+DIST faudio-23.10.tar.gz 1120033 BLAKE2B 2f064ba71386db69870b4e523625c421b2062f3584f834b55367dd675a1a61509831b036ed2e459cd2ea247e2b56401142bf73b6e828bd2ff4699623ba0d453f SHA512 cc17c1c3950267a8cc69d0a263deef1d80e8bb9f658f1c2cd1c137bccac1d2be234d17f9b790bbe8bd1ba9da7e13676d3d38e328399d5a706f6ed502365de9ba
+DIST faudio-24.02.tar.gz 1122131 BLAKE2B 5ace47c679e7c35fc13157c1bdf6d8a8080fd9e3516f9007628875a2c67d1d2aab63404261c28aadcb33305c196c6e96ba8045d50e42d7f79d47ee0696bdb068 SHA512 de48196bc9d93784d2f2ce20c7aba83066a8a7653781104eb3b15fa8206e54875d5c555dab4c6fb763cf41fd6ec733e71b6bba53c8cafd98af99ea9eb0a3d666
diff --git a/app-emulation/faudio/faudio-19.06.ebuild b/app-emulation/faudio/faudio-19.06.ebuild
deleted file mode 100644
index 93b1440ba5b1..000000000000
--- a/app-emulation/faudio/faudio-19.06.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake-multilib virtualx
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug ffmpeg xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-COMMON_DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DFFMPEG=$(usex ffmpeg ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- if use ffmpeg; then
- mycmakeargs+=( "-DFFmpeg_LIBRARY_DIRS=${EPREFIX}/usr/$(get_libdir)" )
- fi
- cmake-utils_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_make
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake-utils_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)"
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/faudio-19.09.ebuild b/app-emulation/faudio/faudio-19.09.ebuild
deleted file mode 100644
index 93b1440ba5b1..000000000000
--- a/app-emulation/faudio/faudio-19.09.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake-multilib virtualx
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug ffmpeg xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-COMMON_DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DFFMPEG=$(usex ffmpeg ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- if use ffmpeg; then
- mycmakeargs+=( "-DFFmpeg_LIBRARY_DIRS=${EPREFIX}/usr/$(get_libdir)" )
- fi
- cmake-utils_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_make
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake-utils_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)"
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/faudio-20.02.ebuild b/app-emulation/faudio/faudio-20.02.ebuild
deleted file mode 100644
index 5afb2e48be25..000000000000
--- a/app-emulation/faudio/faudio-20.02.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake-multilib virtualx
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="-* amd64 x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug dumpvoices ffmpeg xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-COMMON_DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- ffmpeg? ( media-video/ffmpeg:=[${MULTILIB_USEDEP}] )
-"
-RDEPEND="${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DDUMP_VOICES=$(usex dumpvoices ON OFF)"
- "-DFFMPEG=$(usex ffmpeg ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- if use ffmpeg; then
- mycmakeargs+=( "-DFFmpeg_LIBRARY_DIRS=${EPREFIX}/usr/$(get_libdir)" )
- fi
- cmake-utils_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_make
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake-utils_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)" || die
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/faudio-20.09.ebuild b/app-emulation/faudio/faudio-20.09.ebuild
deleted file mode 100644
index b6fb9ffe869b..000000000000
--- a/app-emulation/faudio/faudio-20.09.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake-multilib virtualx
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="-* ~amd64 ~x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug dumpvoices gstreamer xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-COMMON_DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- gstreamer? (
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="${COMMON_DEPEND}
-"
-DEPEND="${COMMON_DEPEND}
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DDUMP_VOICES=$(usex dumpvoices ON OFF)"
- "-DGSTREAMER=$(usex gstreamer ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- cmake-utils_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_make
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake-utils_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)" || die
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/faudio-21.01.ebuild b/app-emulation/faudio/faudio-21.01.ebuild
deleted file mode 100644
index de43fa552706..000000000000
--- a/app-emulation/faudio/faudio-21.01.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_ECLASS=cmake
-CMAKE_MAKEFILE_GENERATOR="emake"
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-
-inherit cmake-multilib virtualx multilib-build
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="amd64 x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug dumpvoices gstreamer xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- gstreamer? (
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DDUMP_VOICES=$(usex dumpvoices ON OFF)"
- "-DGSTREAMER=$(usex gstreamer ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- cmake_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake_build
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)" || die
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/faudio-23.02.ebuild b/app-emulation/faudio/faudio-23.02.ebuild
new file mode 100644
index 000000000000..b009b323807d
--- /dev/null
+++ b/app-emulation/faudio/faudio-23.02.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Accuracy-focused XAudio reimplementation for open platforms"
+HOMEPAGE="https://fna-xna.github.io/"
+SRC_URI="https://github.com/FNA-XNA/FAudio/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/FAudio-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dumpvoices test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="media-libs/libsdl2[sound]"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ append-cppflags -D_DEFAULT_SOURCE # usleep() in tests
+ use debug || append-cppflags -DFAUDIO_DISABLE_DEBUGCONFIGURATION
+
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDUMP_VOICES=$(usex dumpvoices)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ einfo "Running faudio_tests, this may take some time without output..."
+ SDL_AUDIODRIVER=dummy "${BUILD_DIR}"/faudio_tests || die
+}
diff --git a/app-emulation/faudio/faudio-23.10.ebuild b/app-emulation/faudio/faudio-23.10.ebuild
new file mode 100644
index 000000000000..e372ae484496
--- /dev/null
+++ b/app-emulation/faudio/faudio-23.10.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Accuracy-focused XAudio reimplementation for open platforms"
+HOMEPAGE="https://fna-xna.github.io/"
+SRC_URI="https://github.com/FNA-XNA/FAudio/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/FAudio-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug dumpvoices test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="media-libs/libsdl2[sound]"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ append-cppflags -D_DEFAULT_SOURCE # usleep() in tests
+ use debug || append-cppflags -DFAUDIO_DISABLE_DEBUGCONFIGURATION
+
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDUMP_VOICES=$(usex dumpvoices)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ einfo "Running faudio_tests, this may take some time without output..."
+ SDL_AUDIODRIVER=dummy "${BUILD_DIR}"/faudio_tests || die
+}
diff --git a/app-emulation/faudio/faudio-24.02.ebuild b/app-emulation/faudio/faudio-24.02.ebuild
new file mode 100644
index 000000000000..e372ae484496
--- /dev/null
+++ b/app-emulation/faudio/faudio-24.02.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Accuracy-focused XAudio reimplementation for open platforms"
+HOMEPAGE="https://fna-xna.github.io/"
+SRC_URI="https://github.com/FNA-XNA/FAudio/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/FAudio-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug dumpvoices test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="media-libs/libsdl2[sound]"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ append-cppflags -D_DEFAULT_SOURCE # usleep() in tests
+ use debug || append-cppflags -DFAUDIO_DISABLE_DEBUGCONFIGURATION
+
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDUMP_VOICES=$(usex dumpvoices)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ einfo "Running faudio_tests, this may take some time without output..."
+ SDL_AUDIODRIVER=dummy "${BUILD_DIR}"/faudio_tests || die
+}
diff --git a/app-emulation/faudio/faudio-9999.ebuild b/app-emulation/faudio/faudio-9999.ebuild
deleted file mode 100644
index 51ecd606fc26..000000000000
--- a/app-emulation/faudio/faudio-9999.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# shellcheck disable=SC2034
-EAPI=7
-
-CMAKE_ECLASS=cmake
-CMAKE_MAKEFILE_GENERATOR="emake"
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-
-inherit cmake-multilib virtualx multilib-build
-
-FAUDIO_PN="FAudio"
-FAUDIO_PV="${PV}"
-FAUDIO_P="${FAUDIO_PN}-${FAUDIO_PV}"
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/FNA-XNA/${FAUDIO_PN}.git"
-else
- SRC_URI="https://github.com/FNA-XNA/${FAUDIO_PN}/archive/${FAUDIO_PV}.tar.gz -> ${FAUDIO_P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${FAUDIO_P}"
-fi
-
-DESCRIPTION="FAudio - Accuracy-focused XAudio reimplementation for open platforms"
-HOMEPAGE="https://fna-xna.github.io/"
-LICENSE="ZLIB"
-SLOT="0"
-
-IUSE="+abi_x86_32 +abi_x86_64 debug dumpvoices gstreamer xnasong test utils"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-
-DEPEND="
- >=media-libs/libsdl2-2.0.9[sound,${MULTILIB_USEDEP}]
- gstreamer? (
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DCMAKE_INSTALL_BINDIR=bin"
- "-DCMAKE_INSTALL_INCLUDEDIR=include/${FAUDIO_PN}"
- "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)"
- "-DCMAKE_BUILD_TYPE=$(usex debug Debug Release)"
- "-DFORCE_ENABLE_DEBUGCONFIGURATION=$(usex debug ON OFF)"
- "-DBUILD_TESTS=$(usex test ON OFF)"
- "-DBUILD_UTILS=$(usex utils ON OFF)"
- "-DDUMP_VOICES=$(usex dumpvoices ON OFF)"
- "-DGSTREAMER=$(usex gstreamer ON OFF)"
- "-DXNASONG=$(usex xnasong ON OFF)"
- )
- cmake_src_configure
-}
-
-src_configure() {
- cmake-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake_build
- emake -C "${BUILD_DIR}" all
-}
-
-multilib_src_install() {
- # FIXME: do we want to install the FAudio tools?
- cmake_src_install
-
- sed -e "s@%LIB%@$(get_libdir)@g" -e "s@%PREFIX%@${EPREFIX}/usr@g" \
- "${FILESDIR}/faudio.pc" > "${T}/faudio.pc" \
- || die "sed failed"
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins "${T}/faudio.pc"
-
- if use test; then
- mkdir -p "${T}/$(get_libdir)" || die
- cp "${BUILD_DIR}/faudio_tests" "${T}/$(get_libdir)/" || die "cp failed"
- fi
-}
-
-faudio_test() {
- XDG_RUNTIME_DIR="/run/user/0" virtx "${T}/$(get_libdir)/faudio_tests"
-}
-
-pkg_postinst() {
- use test || return
-
- # FIXME: FAudio tests are broken and also don't appear to work
- # in the Portage sandbox.
- multilib_foreach_abi faudio_test
-}
diff --git a/app-emulation/faudio/files/faudio.pc b/app-emulation/faudio/files/faudio.pc
deleted file mode 100644
index cdb3bf49e64a..000000000000
--- a/app-emulation/faudio/files/faudio.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=%PREFIX%
-exec_prefix=${prefix}
-libdir=${prefix}/%LIB%
-includedir=${prefix}/include/FAudio
-
-Name: faudio
-Description: Accuracy-focused XAudio reimplementation for open platforms
-Version:
-
-Libs: -L${libdir} -lFAudio
-Cflags: -I${includedir}
diff --git a/app-emulation/faudio/metadata.xml b/app-emulation/faudio/metadata.xml
index e5eb47a51e63..430772900c80 100644
--- a/app-emulation/faudio/metadata.xml
+++ b/app-emulation/faudio/metadata.xml
@@ -1,28 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>wine@gentoo.org</email>
- <name>Wine</name>
- <description>
- This package must be kept in sync with repo/proj/wine repository.
- Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
- </description>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
-FAudio, is an XAudio reimplementation that focuses solely on developing fully accurate DirectX Audio runtime libraries
+FAudio is an XAudio reimplementation that focuses solely on developing fully accurate DirectX Audio runtime libraries
for the FNA project, including XAudio2, X3DAudio, XAPO, and XACT3.
-Project Website: http://fna-xna.github.io/
+Project Website: https://fna-xna.github.io/
</longdescription>
<use>
<flag name="dumpvoices">FAudio dumps buffer data to individual files with RIFF/XWMA headers, usable with players like ffplay/testxwma.</flag>
- <flag name="ffmpeg">FAudio has optional support for decoding xWMA resources using FFmpeg, requiring:
- <pkg>media-video/ffmpeg</pkg></flag>
- <flag name="xnasong">Build support for optional XNG_SONG component (note: this not required by
- <pkg>app-emulation/wine-staging</pkg>, <pkg>app-emulation/wine-vanilla</pkg> for faudio XAudio support).</flag>
- <flag name="test">Build and run faudio testsuite.</flag>
- <flag name="utils">Build all faudio utilities.</flag>
</use>
<upstream>
<remote-id type="github">FNA-XNA/FAudio</remote-id>
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
index eda9019e0493..f1969674bc5a 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -1,4 +1,6 @@
-DIST firecracker-v0.24.1-aarch64.tgz 1427360 BLAKE2B 17d85c6843dfa90bf871d5ff7dc5f5286c7bd11559cb9a507f57fafaba7d5abbf1019239ea39529e29a8bb4fa32b9a8a44f096f1379dc2d3d801502890690024 SHA512 cbedc62e5b98cdfd6dfb565bc1b977d84fcd0fa28eb36e18922ec56c3c2dfa34c84c549c7a4e23aee9d16c53b212ef87128d42e68f1a6b9997cbec42e613a82d
-DIST firecracker-v0.24.1-x86_64.tgz 1434986 BLAKE2B a6b206042fe4dfa873cfa1da4f591242f0224d2c98b367635534497d2bf82e218c409e473be618bd2902594ea24a8c710c853f2f1a00ac96f917a100e80aec0b SHA512 b719520464e3d5c9ff072c73639af71895bfcca9ac4964f2a255ed2d8d3b264a92566f7b87078c163c0f1ce21b9d5bd11cb38eb7cb784c5e18581ee531a0bcaf
-DIST firecracker-v0.24.2-aarch64.tgz 1429004 BLAKE2B 8d5624f6f6f154678ffab945bbb293e3ab53c75fa324273d9cd99366d78230aef1ce0a23c0b8efdca9fd87edabc0e196dda0cacabf7ebb33ec86edf7c46dd92e SHA512 9bd83d278c3f4f294c4391aac1bd82712bde7190ad706e1b84a0ec9ad489c09f5fa77bd448a25a08b932230b38e44b3dbcdcc37b2ccacfd87d37c7ee65e6c1c6
-DIST firecracker-v0.24.2-x86_64.tgz 1434481 BLAKE2B d2b81e2b3341317f296c63f14b2699dbf207e2e3a83871e38ef1666c105112788308c773afad61a85f7c6f4009f2373c80f12a52549120d92a42bae54891bf59 SHA512 2a574276296685117acf4e1d425ca75ecb8ad06680ae81e183d73853ff57cbca2f4cf4f42cb013d8d88d18146c0d84d2b098829ca5f6e9402213fecdf539a283
+DIST firecracker-v1.5.1-aarch64.tgz 9086440 BLAKE2B 30777522bdb23e80bc3a025691d50a14411c0ac72fd87e5b9b460f18d0873d0a6423e19e7810afe0ed1324b2b32fc615b525ad9561c1bfea48fc53bdfbb610a5 SHA512 61f7fcf427817eebcd6cb6f046dad29e3a39d382c087418379f4502ef715605e2bb9e3b647233680f44b7e0047a6ca00135011bb929b44c5340bb8b8649fde1a
+DIST firecracker-v1.5.1-x86_64.tgz 9411106 BLAKE2B 538b531ce5c8319dee042229a7cc7c44cdd2fc07c58c3089b6c2d29d10ad8a5a78f697b7781ac81bcf8b4127e778895ab72eed9e1e6febd410b6c0509c01ae1e SHA512 63a44fb79e9fb29abfbaa6c96550c5f2f361c3be5e188bb4562b089b4d3f1f4ab3ef60ad3ab163e961857e95090401dc4df859d2dd2a5f1a1372ed663188cfa3
+DIST firecracker-v1.6.0-aarch64.tgz 9105124 BLAKE2B bcc77e6701a4b9c7d80d7e60b13d4945d5f76918cc1741035f26df5af05c4c579802444c90c8972a7985d4df8e10f2b9954b5889eca92f5d95b02751481084db SHA512 71608a46bdb5be5240d4a88e812c13e753d81e4f4813a818ebfd782934add2c3769bd71788f5e2bed1a6e1d9bcfc3a914e018f1682cc6806012c3e283e44f401
+DIST firecracker-v1.6.0-x86_64.tgz 9425451 BLAKE2B bae5eb960c6d575724915cfd4cb50cdc85d6be44b47271a5d68662b7ce86a7356aad215097214b7d32dad9051f385188d83592588be1addc15727c633f10e4d1 SHA512 a00b0d1b8da02b167627169d316b6a88bd44b1f42eb2cbebad5c355485f2456288d2062cb63b1ddc4d636ae8f4fad3a15dc9404b5347e746a7b416758d6507d5
+DIST firecracker-v1.7.0-aarch64.tgz 8951358 BLAKE2B 813be9e38e318233b3b574e21e3f07e3eab82eba1a22ca2082a7e2b9312b8022fd288ac4b72dbfa82f8a8ab561e4877553c249913d290b0701773d53a28296a7 SHA512 1b78353e204569acace417a95bfd2075f909205d59c32cbce18438751d5aeaae8ac3e3d3791d153a30337037c01fd6622793aa200a7e21d51f98a886123c545d
+DIST firecracker-v1.7.0-x86_64.tgz 9038632 BLAKE2B 6473113f2cc8225fdf8fc6f8612874c46fda05c13ebda040b7998554fda3e9cc69fbfae9481dc9e5b3100f05b50a82525810deccebaf45665d67aca7ebc0dc23 SHA512 cca5390c81bb9b78865608729840f12a1e9b9ed072859853e1f2853312dc62a78f0206fa007174c5fc18a7bf7d6e4b905e954ecdf6c3b78782d65e9801a45a0b
diff --git a/app-emulation/firecracker-bin/firecracker-bin-0.24.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild
index c957b4a10f3a..e280abe72c3d 100644
--- a/app-emulation/firecracker-bin/firecracker-bin-0.24.1.ebuild
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info
@@ -21,11 +21,14 @@ KEYWORDS="~amd64 ~arm64"
RESTRICT="test strip"
-RDEPEND="!app-emulation/firecracker
- acct-group/kvm"
+RDEPEND="acct-group/kvm"
-QA_PREBUILT="/usr/bin/firecracker
- /usr/bin/jailer"
+QA_PREBUILT="usr/bin/cpu-template-helper
+ usr/bin/firecracker
+ usr/bin/jailer
+ usr/bin/rebase-snap
+ usr/bin/seccompiler-bin
+ usr/bin/snapshot-editor"
S="${WORKDIR}"
@@ -36,7 +39,7 @@ pkg_pretend() {
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE ~VHOST_VSOCK"
+ 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."
@@ -47,9 +50,6 @@ pkg_pretend() {
ERROR_TUN+=" virtual network devices."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- ERROR_VHOST_VSOCK="To use AF_VSOCK sockets for communication"
- ERROR_VHOST_VSOCK+=" between host and guest, you will need to enable"
- ERROR_VHOST_VSOCK+=" the vhost virtio-vsock driver in your kernel."
if use amd64 || use amd64-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
@@ -68,12 +68,20 @@ pkg_pretend() {
src_compile() { :; }
src_install() {
+ local my_arch
if use amd64; then
my_arch=x86_64
elif use arm64; then
my_arch=aarch64
fi
- newbin "release-v${PV}/firecracker-v${PV}-${my_arch}" firecracker
- newbin "release-v${PV}/jailer-v${PV}-${my_arch}" jailer
+ dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
+ dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
+
+ newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
+ newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
+ newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
+ newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
+ newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
+ newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
}
diff --git a/app-emulation/firecracker-bin/firecracker-bin-0.24.2.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild
index a5c7b379e5d3..4e841c1ab26e 100644
--- a/app-emulation/firecracker-bin/firecracker-bin-0.24.2.ebuild
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info
@@ -21,11 +21,14 @@ KEYWORDS="~amd64 ~arm64"
RESTRICT="test strip"
-RDEPEND="!app-emulation/firecracker
- acct-group/kvm"
+RDEPEND="acct-group/kvm"
-QA_PREBUILT="/usr/bin/firecracker
- /usr/bin/jailer"
+QA_PREBUILT="usr/bin/cpu-template-helper
+ usr/bin/firecracker
+ usr/bin/jailer
+ usr/bin/rebase-snap
+ usr/bin/seccompiler-bin
+ usr/bin/snapshot-editor"
S="${WORKDIR}"
@@ -36,7 +39,7 @@ pkg_pretend() {
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE ~VHOST_VSOCK"
+ 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."
@@ -47,9 +50,6 @@ pkg_pretend() {
ERROR_TUN+=" virtual network devices."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- ERROR_VHOST_VSOCK="To use AF_VSOCK sockets for communication"
- ERROR_VHOST_VSOCK+=" between host and guest, you will need to enable"
- ERROR_VHOST_VSOCK+=" the vhost virtio-vsock driver in your kernel."
if use amd64 || use amd64-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
@@ -68,12 +68,20 @@ pkg_pretend() {
src_compile() { :; }
src_install() {
+ local my_arch
if use amd64; then
my_arch=x86_64
elif use arm64; then
my_arch=aarch64
fi
- newbin "firecracker-v${PV}-${my_arch}" firecracker
- newbin "jailer-v${PV}-${my_arch}" jailer
+ dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
+ dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
+
+ newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
+ newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
+ newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
+ newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
+ newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
+ newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
}
diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild
new file mode 100644
index 000000000000..4e841c1ab26e
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info
+
+DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
+HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
+SRC_URI="
+ amd64? (
+ https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
+ )
+ arm64? (
+ https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
+ )"
+
+LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RESTRICT="test strip"
+
+RDEPEND="acct-group/kvm"
+
+QA_PREBUILT="usr/bin/cpu-template-helper
+ usr/bin/firecracker
+ usr/bin/jailer
+ usr/bin/rebase-snap
+ usr/bin/seccompiler-bin
+ usr/bin/snapshot-editor"
+
+S="${WORKDIR}"
+
+pkg_pretend() {
+ if use kernel_linux && kernel_is lt 4 14; then
+ eerror "Firecracker requires a host kernel of 4.14 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"
+ ERROR_TUN+=" virtual network devices."
+ ERROR_BRIDGE="You will also need support for 802.1d"
+ ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
+
+ if use amd64 || use amd64-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
+
+ # Now do the actual checks setup above
+ check_extra_config
+ fi
+ fi
+}
+
+src_compile() { :; }
+
+src_install() {
+ local my_arch
+ if use amd64; then
+ my_arch=x86_64
+ elif use arm64; then
+ my_arch=aarch64
+ fi
+
+ dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
+ dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
+
+ newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper
+ newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
+ newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
+ newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
+ newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
+ newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor
+}
diff --git a/app-emulation/firecracker-bin/metadata.xml b/app-emulation/firecracker-bin/metadata.xml
index 866b948059f9..60d11bb309b0 100644
--- a/app-emulation/firecracker-bin/metadata.xml
+++ b/app-emulation/firecracker-bin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>gentoo-bugs@ares-macrotechnology.com</email>
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">firecracker-microvm/firecracker</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/firecracker/Manifest b/app-emulation/firecracker/Manifest
deleted file mode 100644
index 0a7d8a3a46ec..000000000000
--- a/app-emulation/firecracker/Manifest
+++ /dev/null
@@ -1,35 +0,0 @@
-DIST aho-corasick-0.7.8.crate 110524 BLAKE2B 73ab4ab48f17ffb3f555801f234ee0dce4f5c46c9998c1e14abde4df192122e09f6d87a9c627b43c740d5ad921c7411365093b76e9157cf3dae9c52ff255847b SHA512 fcc7f1230b1fc0e59b032c5aa2e6c334dffab7785ade7776a688821faf7fe10348dbb222affd362d37ad8850b0b17d44ff124eafe7345c6ffbbcb98acfdafed1
-DIST backtrace-0.3.44.crate 68057 BLAKE2B f990523e461a0ae905b41a84d3b767e4cde4c401e12fe9875b22ba3b7ebbe2fb18d65bfe79fafcf008947cb0fd4be9a2ba992ca9427b61157df2b11981a03ad8 SHA512 69bd648061edbae4281e7524ef4fb43aea8dc68fde30e11027824513daf6a48b6d18227533e3a6a44d1b0b30046aa93921af9a560b11b62f1d812802cc6ce6b2
-DIST backtrace-sys-0.1.32.crate 518920 BLAKE2B fbbd3b59533830400a788fd117ced47461d2f2b04d205d03f242d596c284e89ef2dbaead81e6974aa65197a6c69c0293f18dbe89daf3323d0c01dbc92462a075 SHA512 199658b1f95611f7c68a7b4fdd76044fb6784a7ab777a9f5fbe3a4a770bd6c31ac08dfea1297dd85053f0b28b1a686c076a78b120ac46fc3c639c30c937d49c3
-DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
-DIST cc-1.0.50.crate 49792 BLAKE2B 25ec14fd42536c381babcf697cf96fe8be61417a61ba5875a2461bb40bf3ffd9c9d03e1d9df83e2dabfc9472de3db97b08fdffb710e89b868a5e115d0463a9cd SHA512 34a721d9352f8b59cffb8cc0b9c520b972b65d6c23e83d9c6f6e88d6a6845c53ec89350a4aacd0444a5d6b03b867b97aedaf418b483afead209a7ae6d3885f5d
-DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
-DIST cpuid-0.1.0.crate 5473 BLAKE2B ff6536dd8fa1aeaf52b3ae28e5d0c3e0033383d7265eb91f376843516492e3f9d2c43bb6667538342158e6abb9c606b4e6129786d6cb48fe86f1c1effe005df2 SHA512 5b24b49acccaa393f351fca2a2cc7c5e5227e7e0f99680c109bff19377fa5822f37ad1561a33be25e34be654dd4f118ded974c7acc79608fe1efd8c19c4f8404
-DIST device_tree-1.1.0.crate 7049 BLAKE2B 11236d709c7d35d6482eed7ccf8ac82dfbb4412bcf2fec98fd2a806bcf8740c1d0b2745c39b5971f5292ad00887f423afc28a4c674cdf37511cd8615ff654cbd SHA512 b671b582d9f5dc19d8ff28d18fd2ed77842191084c6acbb41362491ea3c994699044fe0b0505f927ad9569d933806f8129a4eb49bf25443c0806ddcb6ffefad7
-DIST epoll-4.1.0.crate 8220 BLAKE2B c61173347865d82ab3a975aaa6cce7004a92c08c682ee16f0f94caa01729648630673923f14f1f3f48532efe09464c73c21eb7e4edea6168909af75dbb3a44d1 SHA512 28d67beaf84f056486ed3bfdc0ad5386006322c601e32c6097f8d2466cc840265996011685ebd8d21259fad22410e9f7b0327ada9ce686873cfae660f7d069a0
-DIST firecracker-0.21.1.tar.gz 4118295 BLAKE2B 83b3db38ae0ac0df68dc36cdc56927f34be3a2f3de78364d68d32cbb797ba6dc6bc22e1e5da85192d503011cc061647837c6a6e66a94212cd16779f6e63adeea SHA512 630b44fe4e19927bcad49b7b658d87d01c99609d53f27eb82afeee67eda7805ef14e65413976b3b3e01a6ca3402e4da33ca900b421ac210f5a10f9a552568a2c
-DIST itoa-0.4.5.crate 11194 BLAKE2B d8f0e2aaf62152c187e0987ab4b0cf842ac13255262a9ccbf8484d730ea5397572791c023d2363d0562c18c8efd2418680583e99a1f5d14450b3f0184dce69ca SHA512 79ff8774524130a4729d5e708a4a4a837b3e5052384a12c22db4ae3e208dc4391ee185365f685137a8ba55ea7dc3499f8cddddb2fd98b84177ab292c264034d3
-DIST kernel-0.1.0.crate 153163 BLAKE2B 5c1635a16f69567ceaed92c028ef92bac0a07d7dba9c4a4997710fdfa881e906a4756744b978240b35ed2ddc1ddeb0e4be3b375693c12a49e2f27dd1255afc0d SHA512 75c9dd43b9f00dacbb9a3771be458721498ef77dd74db4f2e5f116c761767a007730f028d0d7a137efb35917b264134bfdedeafb90b96d50461d98b0f11a93c5
-DIST kvm-bindings-0.2.0.crate 131794 BLAKE2B 50bddbf171957094555fab00f7cecb2cd6cbd2582c39d8f06f9b13f5f2b39d69db7fa1febbd2ed6f59f712e86782c38de62b3bc770fb9b7611d923e709860e5f SHA512 770c077e9303d679441e7f9389790f2077ce47ffbb862227fd5801fdfff07a7caff3194e9c85da5c52e9989fbf5faa345eb1be3791d73373b6c0298e8b33d138
-DIST kvm-ioctls-0.5.0.crate 39761 BLAKE2B b3546749452822b18932f49260cffa1fb830c871e5a8f89bb868f56e36f1c3af9c9e51da57d72504558926f19838eb35d9bc1dec5f77cb8973e2cafd63d19f22 SHA512 c97d2b16dfd3cc679728b15efdd1d3fb667dd3a9e92e2974da9d9e36b00434f322eaf3a60c4f387a09c25482bca5f2168e83611bf898829a262d286f7283b895
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.66.crate 457815 BLAKE2B 5da379ea738b75189e106d4be821c999394043303b8bb6a9caecdb1b53e449f11a58edc4589193611b76e7baf00e155ba1077bcca4d0cfae30826e946a0075f0 SHA512 5bf5645a7cbe626108cd71e1d189286ed161fcd3ea12cd34f4e392be4cf93bf78feb6128b1101bedc41a71091398f26771f3efd3880f779ee0be00f706914975
-DIST log-0.4.8.crate 31297 BLAKE2B 31037fdc2fc94f4ab8a6e89a251b0bc29975027dc7efb7cc86a8e848dfc8e2ae50acdb177b7ba9f7c1f20ec01e50798f89abb772d67a33f1b060ac617cf9a8ab SHA512 0b71f97d5964134b5eea1332347e177806b2f171d0be5c410c0ff1539470b242ba9f0933fafd853e4171a43b5e373a150af18918924be431c7216022553a8a3b
-DIST logger-0.1.0.crate 7908 BLAKE2B ba678076c287e6c45106689220481ca04a620293398cecc2f73217095592dc0d30345b98df45722c91996cd75dfbd4b3bf6a1649cb7d4ae2434bdc78f3d5fdeb SHA512 a907cfc8a17197f7889a0b4b15880acb1eaf12b1fdb60d77bfe258c883c83b0644ab4d45381070921d3a2d5109a88d2ec7c1977f6952896097ea6daf6f638453
-DIST memchr-2.3.2.crate 22528 BLAKE2B 26cbb8836d9a2ff0d00426162e61ba11961d286f53c73726cd483cad0ed034341236f8440752483eda5413012fd99881ea3e884b60360e4eccf411540212d4c4 SHA512 d08326c891b6b818468de092f59a13dd791c0d035c5a39fa1019a1f3077d38c22a2aa855e28e520ca89e3a9bc9433d6b7dcbbf1e8853c3466a0fc6e9f37d4390
-DIST proc-macro2-1.0.8.crate 35657 BLAKE2B 6f53919e85028b6ca2f1d04feb7daf9bf9c2f76273ee8813d9b09807585a1da81687b880b2f23109998332bd7f5d3798d83094042a44de66413a2cebcd60a2c8 SHA512 0214a1268a733872ef1fa59ab80a1cb9ed8f160b9f3751cd70cb26c0919bb3858e63c994163c727f7c7486067ebc681017fb452d51fa314e7da90ca120892254
-DIST quote-1.0.2.crate 23023 BLAKE2B 4091809b4fc9b8d0b56be814b127d6ffd7c1507becba85dc905606cbe85f46233dc4b429c1e865e7c7de336cb936d956169ceb5dd45b489b7722022ccf818a3a SHA512 67778dff9dc5c4edcdd6454b74ad9353bb6c0c4e51c16cb82f2e393a7d7a0cde084d3c93279b718a8398c40af0a9377ebfae5321e69e635efd8390c125b75ce4
-DIST regex-1.3.4.crate 235086 BLAKE2B 3216a16a3f7cebf4dcf9e3bf624c482b2ee60e04b6b1baf265e42b8219338ae8a84ffd40df975963d267cfb8b65b1dc6358b95e4dde0b557a595eace2c03845a SHA512 4e49b30803beb30d35b61e6804f4b634065b4098a1adfb3ba33018e685662f31e9b9f93f21422fee909edf500f8012699013dcb7ebae96f072147da03c1371bc
-DIST regex-syntax-0.6.14.crate 289666 BLAKE2B 2d5c3696b3cb011467395121e753d5f6f506b6dea8fe936613c66267a85ce2e6e06749e6481f54effc34c5a403708fdcda11e385ad64cc1f421eb976ab0fa664 SHA512 440e519c30b2de5df2426336eb26ee56d58671d5d9bc33897ae1b38c022170f080ac8d27d959160a78781948f2ed3679755773e24275dad3ee0bb8cb70a4b174
-DIST rustc-demangle-0.1.16.crate 19137 BLAKE2B 04226ff97786b81c90130b48cf6542ea448661af9ea7afed179e71d04abf52cfd3c53fab26d4d35bdf2c1d5a735882da7703527aa48ba7b77f337599c2324150 SHA512 36a63a28a72c710d08524adbb7d11def37db23fe123fb6ea848623b4207c7f80d8415bbbe951488ceccfb8f4f1cdb66a8edfc4c0eecdaa62c87df9e032f4c063
-DIST ryu-1.0.2.crate 42001 BLAKE2B c25f0454bfac40de3150b8c263c6d2842e64f86f441a69ab5e5722a2383a9a07c7539837f6e50996619eb0c4a5da212556a4dd21a761a250785fe0a9c4e18a3c SHA512 c681e037f1eea488bad7fb5ecc79af52377bd4b9eeed95eb213201219d7f100702000f81947aff8f18641235fb62c138a30eb20c1f93ae518a4d9960a598bb64
-DIST seccomp-0.1.0.crate 2750 BLAKE2B cac2a5b20e640d94474f4c3db5f6102f0c45a8211080e2cc806828d1c20220d847c8bd4cf770543be56a36de4f0486725241c63215e041d2a0c35b6523eead3a SHA512 a13d27ac138e6c9fe83d25f94dcf23ec5a2a326504290bc20efc379b05d24ea5dde06a371af7e52c62fec81b0c8dd26ffb3c0a0baa3b701ccfa4f09019c6e1c8
-DIST serde-1.0.104.crate 73258 BLAKE2B 98d63f91c61ac4693e17e0b137379cffd6608933b84d2211509be6b3b25b181592d5e907549fac6ae2e4a45255b8003e1bfd0db683429ac3e78d8ee097d3d79c SHA512 638a1dacc158d69658a005e599adc19d6bc80d0c663f527b1ff906f729e70e027eacc4ea5b9b2c675ac990d5997f50f9d46d614ba95b0c73bb9606aba46b053a
-DIST serde_derive-1.0.104.crate 49658 BLAKE2B d4a9ecb4a8df87776a83d645778dc050803b16fd5c9889f28e231238223d424dd25b101412e89741fb47be624d1773acf97f6e38809c81110b696701975168df SHA512 303c3d126ca56b0a7126a87e9e1be8bd60bdb212ed21b5e1aee015313fd769f1d260869c41b0335bd467fd4e3fc6bb26f428c7c4b35e9a55c009797cfa745d1e
-DIST serde_json-1.0.48.crate 72113 BLAKE2B bc522d0924044b41548b5c0ca63ed3e1fe70b7632b9e04ca6b01a63245deeae0e7154b0d913b3edfeaecfc816c1edfebfb666734c2a5371b416aaab9c1880f3c SHA512 544dd844330a26fbdaeb5246825f143cf06110065089c8be3dc44f8437f797ac083d7dcc5181656ed3d78428fcddc44e6802544ae304466eebdcd625a5a5fef9
-DIST syn-1.0.14.crate 195286 BLAKE2B 8311cdc0eb8ff69d65c250eb95706cd1e74a6ba899fac02ffc0a288e978c40a03fe5a7c18e3116a767eb6e5e08299d27f5ae04021b224d71d7b492a6b87d67a8 SHA512 7b2b7562ac89d719060b35bf89f21330c02a3c1f34270e864053feba9b0f7a16b5cfd11c57d57eab7c60df8663d8ae76709ca1c48ebab960db168d2836f57340
-DIST thread_local-1.0.1.crate 12609 BLAKE2B 34206b5232262cda9cc0fb970e20f154d43ff1c4477a5ad5ff9200e6d874a6c7b2bcd99a2dae75a984b54574281e049ad35307ace0dd188f44c9a95fa93139cf SHA512 f2bfca4eee32a8fc88a01ff5bf24518c12142228d95916d13aae35ed6addd0b7da2235359f15220049ef197555344ac31a8833775e7a5bd49144db9c54b3165b
-DIST timerfd-1.1.1.crate 6020 BLAKE2B 689dbc603b2d943a1de1b035020a3a641a1be0f19a8092088c54e339778f1368127e2f7b2273d25a3c3e1c1401b2a4f0a0310116dcb87cbb41e3a05ba86de45f SHA512 3bd82e1d7d10a2ee4000cc2316afebb7cac68ee738da312013062df30acba11f6e3007b9ec00116f53d334b85d73575e671f93a632d484154a01b886a94bec1c
-DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042d780d2158a171dbb5e7dedad0b3d2522f5401ae5d215f89ab8be4f5c371b046e4845693a65554c2a6eedc5d1e28 SHA512 590f727d8d8354023062ae5fe7ac5bed1bcf79d86b883effd7f33b3ea3b1c8922998a63d621ca6962a969e890fa6edd009871f21cd57b1969264f41ba3f78359
-DIST vm-memory-0.1.0.crate 50965 BLAKE2B d85879f85c39ac44114945fa42e77c40b0a2e882f82b8ea85cd6a014592dbccd675e3e702a4463a8ff0fef527fbda4a23e82a460f7bdc89159a8825105e27377 SHA512 a0ac7ff915e57557239770ececc663236ab309562a13f6b4757449daf3e4fadb588fd1e90f2188d694f1d59ae73329c22c668720b5b387f07a9215cbec6b5c1f
-DIST vmm-sys-util-0.4.0.crate 54433 BLAKE2B cd5296f8dd291f7f7857e3a5af528913e7a8f045434dcfb4496f2b57a9ff50df32d7f8b4246a0a772435b5f85f4505a1a3c61b7523243f6bcfa229c01f465812 SHA512 ae2bbab2b849e2d2ed5be2eb4406597aada792a8e61b688333f92eba1aa2c3fd2d20fc759b99aa22b0301e72053f13e6b7b26015239ce09bfc96c670c1d91002
diff --git a/app-emulation/firecracker/firecracker-0.21.1-r1.ebuild b/app-emulation/firecracker/firecracker-0.21.1-r1.ebuild
deleted file mode 100644
index da29ed53e5af..000000000000
--- a/app-emulation/firecracker/firecracker-0.21.1-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CRATES="
-aho-corasick-0.7.8
-backtrace-0.3.44
-backtrace-sys-0.1.32
-bitflags-1.2.1
-cc-1.0.50
-cfg-if-0.1.10
-cpuid-0.1.0
-device_tree-1.1.0
-epoll-4.1.0
-itoa-0.4.5
-kernel-0.1.0
-kvm-bindings-0.2.0
-kvm-ioctls-0.5.0
-lazy_static-1.4.0
-libc-0.2.66
-log-0.4.8
-logger-0.1.0
-memchr-2.3.2
-proc-macro2-1.0.8
-quote-1.0.2
-regex-1.3.4
-regex-syntax-0.6.14
-rustc-demangle-0.1.16
-ryu-1.0.2
-seccomp-0.1.0
-serde-1.0.104
-serde_derive-1.0.104
-serde_json-1.0.48
-syn-1.0.14
-thread_local-1.0.1
-timerfd-1.1.1
-unicode-xid-0.2.0
-vm-memory-0.1.0
-vmm-sys-util-0.4.0
-"
-
-inherit cargo linux-info toolchain-funcs
-
-DESCRIPTION="Secure and fast microVMs for serverless computing"
-HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
-SRC_URI="https://github.com/firecracker-microvm/firecracker/archive/v${PV}.tar.gz -> ${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
-
-LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
-SLOT="0"
-KEYWORDS="-* ~amd64 ~arm64"
-
-RESTRICT="test"
-
-BDEPEND="acct-group/kvm"
-
-QA_FLAGS_IGNORED='.*'
-
-set_target_arch() {
- case "$(tc-arch)" in
- amd64) target_arch=x86_64 ;;
- arm64) target_arch=aarch64 ;;
- esac
-}
-
-pkg_setup() {
-
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- else
- CONFIG_CHECK+=" ~KVM_AMD" || \
- CONFIG_CHECK+=" ~KVM_INTEL"
- ERROR_KVM="${P} requires KVM in-kernel support."
- fi
-}
-
-src_compile() {
- local target_arch
- set_target_arch
- cargo_src_compile --target ${target_arch}-unknown-linux-gnu
-}
-
-src_install() {
- local target_arch
- set_target_arch
- dobin "${S}"/build/cargo_target/${target_arch}-unknown-linux-gnu/release/${PN}
- dobin "${S}"/build/cargo_target/${target_arch}-unknown-linux-gnu/release/jailer
-}
diff --git a/app-emulation/firecracker/metadata.xml b/app-emulation/firecracker/metadata.xml
deleted file mode 100644
index 6698a4ab7883..000000000000
--- a/app-emulation/firecracker/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/flannel/Manifest b/app-emulation/flannel/Manifest
deleted file mode 100644
index 236b7994970b..000000000000
--- a/app-emulation/flannel/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flannel-0.11.0.tar.gz 6443391 BLAKE2B 5358e513a73fec6d8fcdb0182ec814fcf204eb12830f7d60acb3d4432f821ccc9e174fcc7adb57584ab1782c3f285e46b51bb0f76635fab9cf851cb2bd40c1b3 SHA512 72d18cd4ec58ede3848da3b94b7f3e33f8dda59d9fceb13864757998a24f0b312bc5b5d7927d3da8a805475efee469095ac09390fa632eb0c6ef9dd0f5d38a3b
diff --git a/app-emulation/flannel/files/flannel-docker.conf b/app-emulation/flannel/files/flannel-docker.conf
deleted file mode 100644
index 8f5517776b89..000000000000
--- a/app-emulation/flannel/files/flannel-docker.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-EnvironmentFile=-/run/flannel/docker
diff --git a/app-emulation/flannel/files/flannel.tmpfilesd b/app-emulation/flannel/files/flannel.tmpfilesd
deleted file mode 100644
index 98e5abd9b20f..000000000000
--- a/app-emulation/flannel/files/flannel.tmpfilesd
+++ /dev/null
@@ -1 +0,0 @@
-d /run/flannel 0755 root root
diff --git a/app-emulation/flannel/files/flanneld.confd b/app-emulation/flannel/files/flanneld.confd
deleted file mode 100644
index 18686aa5d223..000000000000
--- a/app-emulation/flannel/files/flanneld.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# arguments for flannel
-command_args=""
diff --git a/app-emulation/flannel/files/flanneld.initd b/app-emulation/flannel/files/flanneld.initd
deleted file mode 100644
index d5d966a40d30..000000000000
--- a/app-emulation/flannel/files/flanneld.initd
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2016-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="Flannel Network Fabric for Containers"
-pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
-user=${user:-root}
-group=${group:-root}
-
-command="/usr/bin/${RC_SVCNAME}"
-command_args="${command_args}"
-command_background="true"
-start_stop_daemon_args="--user ${user} --group ${group} \
- --stdout /var/log/flannel/flannel.log \
- --stderr /var/log/flannel/flannel.log"
-
-depend() {
- need net
-}
diff --git a/app-emulation/flannel/files/flanneld.logrotated b/app-emulation/flannel/files/flanneld.logrotated
deleted file mode 100644
index 4108e6305578..000000000000
--- a/app-emulation/flannel/files/flanneld.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/flannel/* {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/app-emulation/flannel/files/flanneld.service b/app-emulation/flannel/files/flanneld.service
deleted file mode 100644
index 86e69a49e73f..000000000000
--- a/app-emulation/flannel/files/flanneld.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Flanneld overlay address etcd agent
-After=network.target
-Before=docker.service
-
-[Service]
-Type=notify
-Environment=FLANNEL_ETCD=http://127.0.0.1:4001,http://127.0.0.1:2379 FLANNEL_ETCD_KEY=/coreos.com/network
-ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} $FLANNEL_OPTIONS
-ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
-
-[Install]
-RequiredBy=docker.service
diff --git a/app-emulation/flannel/flannel-0.11.0.ebuild b/app-emulation/flannel/flannel-0.11.0.ebuild
deleted file mode 100644
index 2ba1cf0dfa67..000000000000
--- a/app-emulation/flannel/flannel-0.11.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit golang-vcs-snapshot systemd user tmpfiles
-
-KEYWORDS="~amd64 ~arm64"
-DESCRIPTION="An etcd backed network fabric for containers"
-EGO_PN="github.com/coreos/flannel"
-HOMEPAGE="https://github.com/coreos/flannel"
-SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0 BSD ISC LGPL-3 MIT"
-SLOT="0"
-IUSE="hardened"
-RESTRICT="test"
-
-src_prepare() {
- default
- sed -e "s:^var Version =.*:var Version = \"${PV}\":" \
- -i "${S}/src/${EGO_PN}/version/version.go" || die
-}
-
-src_compile() {
- CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"\
- GOPATH="${WORKDIR}/${P}" \
- go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}"
- [[ -x bin/${PN} ]] || die
-}
-
-src_test() {
- GOPATH="${WORKDIR}/${P}" \
- go test -v -work -x "${EGO_PN}" || die
-}
-
-src_install() {
- newbin "bin/${PN}" ${PN}d
- cd "src/${EGO_PN}" || die
- exeinto /usr/libexec/flannel
- doexe dist/mk-docker-opts.sh
- insinto /etc/systemd/system/docker.service.d
- newins "${FILESDIR}/flannel-docker.conf" flannel.conf
- newinitd "${FILESDIR}"/flanneld.initd flanneld
- newconfd "${FILESDIR}"/flanneld.confd flanneld
- keepdir /var/log/${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}"/flanneld.logrotated flanneld
- newtmpfiles "${FILESDIR}/flannel.tmpfilesd" flannel.conf
- systemd_dounit "${FILESDIR}/flanneld.service"
- dodoc README.md
-}
diff --git a/app-emulation/flannel/metadata.xml b/app-emulation/flannel/metadata.xml
deleted file mode 100644
index 26007a60b41b..000000000000
--- a/app-emulation/flannel/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">coreos/flannel</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest
index c84c8ef55a98..5df084dd5ee5 100644
--- a/app-emulation/free42/Manifest
+++ b/app-emulation/free42/Manifest
@@ -1,3 +1,4 @@
DIST free42-nologo-2.5.24.tgz 7423183 BLAKE2B e10425af8d5c30be6ab5b728130bbe3068c414e24f033b65623951f915bcfeea0672857ff8def3e9f2766aba79411a1022d4b83592281567de38e82613d8a832 SHA512 a0702c3e4b2f3f38f73c54de4e51da8d1dc90585b253d1ae087d59dfabbe83be9c80086df8540cb6420dae8c6e766cd1ccce875d9bcb94ecbc85791e3fa89b8b
-DIST free42-nologo-2.5.25.tgz 7423321 BLAKE2B 23d69045df8e7a96669a14e5760da4e1f8578b050ff6ddb19b000c8254b04883449c38e78c5af93a9341485363ae52ce41e6398b9954a6eac61aae6276e20488 SHA512 cedc05ad60cf56b4634e0b1525ef75fac8ad16ce14ae80752fda12a6373cc2cf42d4b696e99c121b1dc42087e477ca2d948f173c9128acc91d5bc266259b2836
-DIST free42-nologo-3.0.1.tgz 7438742 BLAKE2B 1cbfe038d63a5cc77e20e8ae257f7edfb891a109d8e49e79a149942d318788879df0b61f037caf9609a36766648fd34909fa3f41f439fb2ac2d4e14837b1bdd2 SHA512 73fd32289a191a40f3fd5cbef1f85f28ca6da62c38eeb2c1adc5e58b5cd620985f5f78ce110ff90156e5986a5e1e067aa265bbabdffd6f250440a9d766f214c2
+DIST free42-nologo-3.1.3.tgz 7461009 BLAKE2B 915954de24a31f89f112d0d5e13ed01bd6a1e341549c8a86f463858e4071fc0a4751e94a6a257d561da570fd3705250d740c741925ee2b022a50966b8d5b16f8 SHA512 5ad6e6702a789c81d8942c4030606e44112fc21f1af6e5e23f21825115cabbc03cbcb142351d5d0451f5bf8d603d653b783ebe1293fa7ebfb04c93dfdea3455d
+DIST free42-nologo-3.1.7.tgz 7464073 BLAKE2B 0cff2d3292f45fc7341f8ed084c931da6a635498a62b7a20cc250df64a16d44a1c18a260e701971e2e7d68e11b1b84aa301405cd08c5e11b39e31f59a78647cc SHA512 2464385acf58aa17091d94ae81dde8e6e7f543c728c31cc03f1bc45a9ed5af9b27a3db41624222fd29ea61fe18541af9350e3e4369c54744c7b2a4dc799034fc
+DIST free42-nologo-3.1.8.tgz 7464179 BLAKE2B 122175508b2da42f101fae37d7c1627ef802d6e21af9cfb4114b657591f0ba1011a109ec3d75823911d3342fdd02e84a58553e616cd0b4c6288b5d39d9648250 SHA512 ef350d963a11c1a195024f57532a22771a3d0d9b7058bf38557e81c943e7cbd8b500472275b7094be3f7f01c3edf557cf3a3ee2d493cb756d108211b7391a4bc
diff --git a/app-emulation/free42/files/free42-3.0.14-fix-makefile.patch b/app-emulation/free42/files/free42-3.0.14-fix-makefile.patch
new file mode 100644
index 000000000000..6e46ed540320
--- /dev/null
+++ b/app-emulation/free42/files/free42-3.0.14-fix-makefile.patch
@@ -0,0 +1,26 @@
+diff -Naur free42-nologo-3.0.14.orig/gtk/Makefile free42-nologo-3.0.14/gtk/Makefile
+--- free42-nologo-3.0.14.orig/gtk/Makefile 2022-08-13 23:55:44.000000000 +0200
++++ free42-nologo-3.0.14/gtk/Makefile 2022-09-23 20:46:30.096874563 +0200
+@@ -40,10 +40,11 @@
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 \
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1
+
+-CXXFLAGS = $(CFLAGS) \
++CXXFLAGS := $(CFLAGS) \
+ -fno-exceptions \
+ -fno-rtti \
+- -D_WCHAR_T_DEFINED
++ -D_WCHAR_T_DEFINED \
++ ${CXXFLAGS}
+
+ LIBS = gcc111libbid.a $(shell $(PKG_CONFIG) --libs gtk+-3.0)
+
+@@ -118,7 +119,7 @@
+ ./keymap2cc
+
+ gcc111libbid.a:
+- sh ./build-intel-lib.sh
++ +sh ./build-intel-lib.sh
+ ln -s IntelRDFPMathLib20U1/TESTS/readtest.c
+
+ symlinks:
diff --git a/app-emulation/free42/files/free42-3.0.16-fix-build-intel-lib.patch b/app-emulation/free42/files/free42-3.0.16-fix-build-intel-lib.patch
new file mode 100644
index 000000000000..c9cde2fbda2c
--- /dev/null
+++ b/app-emulation/free42/files/free42-3.0.16-fix-build-intel-lib.patch
@@ -0,0 +1,64 @@
+diff -Naur free42-nologo-3.0.16.orig/gtk/build-intel-lib.sh free42-nologo-3.0.16/gtk/build-intel-lib.sh
+--- free42-nologo-3.0.16.orig/gtk/build-intel-lib.sh 2022-10-29 17:03:11.000000000 +0200
++++ free42-nologo-3.0.16/gtk/build-intel-lib.sh 2022-11-06 22:09:42.384802729 +0100
+@@ -10,13 +10,6 @@
+ fi
+ fi
+
+-which gcc >/dev/null
+-if [ $? -eq 0 ]; then
+- CC=gcc
+-else
+- CC=cc
+-fi
+-
+ # Hack to support FreeBSD; not 100% sure what this does, but it produces a
+ # library that passes all tests.
+
+@@ -64,8 +57,10 @@
+ ;;
+ esac
+
++patch -p0 <../intel-lib-custom-cc.patch
++
+ cd LIBRARY
+-$MK $OS_ARG CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
++$MK $OS_ARG A=a AR_CMD="${AR:-ar} rv" CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
+ mv libbid.a ../../gcc111libbid.a
+ cd ../..
+ ( echo '#ifdef FREE42_FPTEST'; echo 'const char *readtest_lines[] = {'; tr -d '\r' < IntelRDFPMathLib20U1/TESTS/readtest.in | sed 's/^\(.*\)$/"\1",/'; echo '0 };'; echo '#endif' ) > readtest_lines.cc
+diff -Naur free42-nologo-3.0.16.orig/gtk/intel-lib-custom-cc.patch free42-nologo-3.0.16/gtk/intel-lib-custom-cc.patch
+--- free42-nologo-3.0.16.orig/gtk/intel-lib-custom-cc.patch 1970-01-01 01:00:00.000000000 +0100
++++ free42-nologo-3.0.16/gtk/intel-lib-custom-cc.patch 2022-11-06 22:18:35.428433045 +0100
+@@ -0,0 +1,31 @@
++diff -Naur orig/LIBRARY/makefile.iml_head LIBRARY/makefile.iml_head
++--- orig/LIBRARY/makefile.iml_head 2011-07-12 17:26:21.000000000 +0200
+++++ LIBRARY/makefile.iml_head 2022-11-06 22:18:17.048411637 +0100
++@@ -527,12 +527,8 @@
++ CC_TYPES := gcc cl
++ INTEL_CC_LIST := icc icl
++
++-CC_NAME_INDEX := $(call GetIndex,$(CC_NAME),$(CC_NAME_LIST))
++-ifeq ($(CC_NAME_INDEX),)
++- $(error "Unknown CC_NAME ($(CC_NAME)). Must be one of $(CC_NAME_LIST))
++-endif
++
++-CC_INDEX := $(call GetIndex,$(CC_NAME),$(CC_NAME_LIST))
+++CC_INDEX := 3
++ CC_TYPE := $(word $(CC_INDEX),$(CC_TYPE_LIST))
++ CC_TYPE_INDEX := $(call GetIndex,$(CC_TYPE),$(CC_TYPES))
++
++@@ -543,13 +539,6 @@
++ _CPP := $(CC_NAME) $(call CcNameSelect,-EP,-EP,-E -P,-EP)
++ _CC := $(CC_NAME) $(call CcNameSelect,, -nologo,, -nologo)
++
++-ifeq ($(origin CC),default)
++- CC := $(_CC)
++-endif
++-ifeq ($(origin CPP),default)
++- CPP := $(_CPP)
++-endif
++-
++ CselCc = $(call Cset,$1,$(call CcTypeSelect,$2,$3))
++
++ QOPT := $(call CselCc, QOPT, -, /Q )
diff --git a/app-emulation/free42/free42-2.5.25.ebuild b/app-emulation/free42/free42-3.1.3.ebuild
index d25a89b2d1c4..1fd58bbcf2cf 100644
--- a/app-emulation/free42/free42-2.5.25.ebuild
+++ b/app-emulation/free42/free42-3.1.3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -16,7 +16,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+alsa"
-DEPEND="dev-libs/atk
+DEPEND="app-accessibility/at-spi2-core
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
@@ -28,14 +28,10 @@ DOCS=( CREDITS HISTORY README )
S="${WORKDIR}/${MY_PV}"
PATCHES=(
- "${FILESDIR}/${PN}-2.5.16-fix-makefile.patch"
- "${FILESDIR}/${PN}-2.5.3-fix-build-intel-lib.patch"
+ "${FILESDIR}/${PN}-3.0.14-fix-makefile.patch"
+ "${FILESDIR}/${PN}-3.0.16-fix-build-intel-lib.patch"
)
-src_prepare() {
- default
-}
-
src_compile() {
local myconf
use alsa && myconf="AUDIO_ALSA=yes"
diff --git a/app-emulation/free42/free42-3.0.1.ebuild b/app-emulation/free42/free42-3.1.7.ebuild
index d25a89b2d1c4..063f0e457429 100644
--- a/app-emulation/free42/free42-3.0.1.ebuild
+++ b/app-emulation/free42/free42-3.1.7.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -10,32 +10,27 @@ MY_PV="${PN}-nologo-${PV}"
DESCRIPTION="An HP-42S Calculator Simulator"
HOMEPAGE="https://thomasokken.com/free42/"
SRC_URI="https://thomasokken.com/free42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+alsa"
-DEPEND="dev-libs/atk
+DEPEND="app-accessibility/at-spi2-core
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
alsa? ( media-libs/alsa-lib )"
-
RDEPEND="${DEPEND}"
DOCS=( CREDITS HISTORY README )
-S="${WORKDIR}/${MY_PV}"
PATCHES=(
- "${FILESDIR}/${PN}-2.5.16-fix-makefile.patch"
- "${FILESDIR}/${PN}-2.5.3-fix-build-intel-lib.patch"
+ "${FILESDIR}/${PN}-3.0.14-fix-makefile.patch"
+ "${FILESDIR}/${PN}-3.0.16-fix-build-intel-lib.patch"
)
-src_prepare() {
- default
-}
-
src_compile() {
local myconf
use alsa && myconf="AUDIO_ALSA=yes"
diff --git a/app-emulation/free42/free42-3.1.8.ebuild b/app-emulation/free42/free42-3.1.8.ebuild
new file mode 100644
index 000000000000..063f0e457429
--- /dev/null
+++ b/app-emulation/free42/free42-3.1.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-nologo-${PV}"
+
+DESCRIPTION="An HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/free42/"
+SRC_URI="https://thomasokken.com/free42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-makefile.patch"
+ "${FILESDIR}/${PN}-3.0.16-fix-build-intel-lib.patch"
+)
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/free42bin gtk/free42dec
+}
diff --git a/app-emulation/free42/metadata.xml b/app-emulation/free42/metadata.xml
index ff7b9a7bc947..ce1f4dd6dc88 100644
--- a/app-emulation/free42/metadata.xml
+++ b/app-emulation/free42/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
diff --git a/app-emulation/fs-uae-launcher/Manifest b/app-emulation/fs-uae-launcher/Manifest
index 1513151a0767..42be2cdab6a4 100644
--- a/app-emulation/fs-uae-launcher/Manifest
+++ b/app-emulation/fs-uae-launcher/Manifest
@@ -1 +1 @@
-DIST fs-uae-launcher-3.0.5.tar.gz 9633819 BLAKE2B 8ce627302244bbd7d174f28c0dad345699942429c1109a7408c88412f6bb0e3e5d765e6c51abf2b95837a83261023b4f9c58d65892e58043889be8dc5e4cb759 SHA512 1a6700c56a14edce86ffbefee7494117af067da8b1dbc22937a36641ccb90927a3bbb011d15a891388bf08378aa623e00a2d45dbc49e822a5a569e110843add5
+DIST fs-uae-launcher-3.1.70.tar.xz 7707368 BLAKE2B fce6e47b1e09fbfae4959cffe55fec5803aa4dca511af76d621fba2156eee5d76164c0ff5dfad75864b3c2fd5c0a8b5968181538d37b9a039ffd8ab037eeafa2 SHA512 6a4eca273ebd21f64ee0a863497fb39c8b17b6dba0b99a0122f33ea688fb2b341998280b3d0ab4cac2d913bc15834dfec3a1662331dea48933135a82e29f5a83
diff --git a/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild b/app-emulation/fs-uae-launcher/fs-uae-launcher-3.1.70.ebuild
index 76303d3e0ae1..d76e5f987497 100644
--- a/app-emulation/fs-uae-launcher/fs-uae-launcher-3.0.5.ebuild
+++ b/app-emulation/fs-uae-launcher/fs-uae-launcher-3.1.70.ebuild
@@ -1,29 +1,30 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_SETUPTOOLS=no
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=yes
inherit distutils-r1 xdg
DESCRIPTION="PyQt5-based launcher for FS-UAE"
HOMEPAGE="https://fs-uae.net/"
-SRC_URI="https://fs-uae.net/stable/${PV}/${P}.tar.gz"
+SRC_URI="https://fs-uae.net/files/FS-UAE-Launcher/Stable/${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~ppc64"
IUSE="lha"
+RESTRICT="test" # The test files are just boilerplate.
RDEPEND="
app-emulation/fs-uae
$(python_gen_cond_dep '
- dev-python/PyQt5[${PYTHON_MULTI_USEDEP},declarative,gui,network,opengl,widgets]
- dev-python/pyopengl[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
- lha? ( dev-python/python-lhafile[${PYTHON_MULTI_USEDEP}] )
+ dev-python/PyQt5[${PYTHON_USEDEP},declarative,gui,network,opengl,widgets]
+ dev-python/pyopengl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ lha? ( dev-python/python-lhafile[${PYTHON_USEDEP}] )
')
"
@@ -35,31 +36,18 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.0.0-ROMs.patch
)
-src_prepare() {
- default
-
- # Unbundle OpenGL library. Keep oyoyo IRC library because upstream
- # is long dead and it's not worth packaging separately.
- rm -r OpenGL/ || die
- sed -i -r "/OpenGL/d" setup.py || die
-}
-
python_compile_all() {
- emake
-}
-
-python_install() {
- local dir=${EPREFIX}/usr/share/${PN}
- distutils-r1_python_install --install-lib="${dir}" --install-scripts="${dir}"
+ emake mo
}
python_install_all() {
- dosym ../share/${PN}/${PN} /usr/bin/${PN}
emake install-data DESTDIR="${D}" prefix="${EPREFIX}"/usr
mv "${ED}"/usr/share/doc/{${PN},${PF}} || die
}
pkg_postinst() {
+ xdg_pkg_postinst
+
elog "Some important information:"
elog
ewarn " - Do not use QtCurve, it will crash PyQt5!"
diff --git a/app-emulation/fs-uae-launcher/metadata.xml b/app-emulation/fs-uae-launcher/metadata.xml
index 84e4eb59046e..9fd2313bafb0 100644
--- a/app-emulation/fs-uae-launcher/metadata.xml
+++ b/app-emulation/fs-uae-launcher/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/app-emulation/fs-uae/Manifest b/app-emulation/fs-uae/Manifest
index 4e1ce60994c8..e1401ffee363 100644
--- a/app-emulation/fs-uae/Manifest
+++ b/app-emulation/fs-uae/Manifest
@@ -1 +1 @@
-DIST fs-uae-3.0.5.tar.gz 4819884 BLAKE2B 0a82e0635ed02c1b4f04610555370c80ea12a870a73fd00cc98adefcefada2deed293c437202af34fc98e2f695fe1b08df918eca71b504e5b94e5ab3a099d9ed SHA512 b34ffb818040c7bf67022f26e1dbc9ebf06742a354212f2b0d2aa6b8e04c60807893a16ff965c819395f4c3fb3c43c35b38dce848b86fa046a211e12414385c7
+DIST fs-uae-3.1.66.tar.xz 3627688 BLAKE2B 9c7742b78055b4c2409c4527ab3b5daac829fa8d09363c5640ce433770ec0f7f6417cfa5dc7689bfdf747083bad654a8d433216b2c94e93ef3189f7e6f7213d9 SHA512 3d93c6481d4aebb21607fa6cd0716bb809a902a5e6e20cda97751f7878157a0737b80df1290c2e1cf4e13f1e9a824b750c52479cd05e56bff291be7471d167a1
diff --git a/app-emulation/fs-uae/files/fs-uae-3.1.35-deepbind.patch b/app-emulation/fs-uae/files/fs-uae-3.1.35-deepbind.patch
new file mode 100644
index 000000000000..0a60301772f1
--- /dev/null
+++ b/app-emulation/fs-uae/files/fs-uae-3.1.35-deepbind.patch
@@ -0,0 +1,43 @@
+From c5b02df4598c5fbe7a034b67ee06c506abeb3828 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Mon, 18 Oct 2021 10:22:09 +0100
+Subject: [PATCH] Don't assume RTLD_DEEPBIND is always present on Linux
+
+It's not supported by musl.
+---
+ configure.ac | 5 +++++
+ src/dlopen.cpp | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6e41d68e..2cac2dac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -655,6 +655,11 @@ AC_CHECK_FUNCS([gettimeofday])
+ AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [#include <time.h>])
+
+
++# RTLD_DEEPBIND is not supported by all C libraries.
++
++AC_CHECK_DECLS([RTLD_DEEPBIND], [], [], [#include <dlfcn.h>])
++
++
+ # Check for POSIX support.
+
+ AS_CASE([$host_os],
+diff --git a/src/dlopen.cpp b/src/dlopen.cpp
+index f79c401b..14edbc02 100644
+--- a/src/dlopen.cpp
++++ b/src/dlopen.cpp
+@@ -22,7 +22,7 @@ UAE_DLHANDLE uae_dlopen(const TCHAR *path)
+ }
+ #ifdef _WIN32
+ result = LoadLibrary(path);
+-#elif defined(LINUX)
++#elif HAVE_DECL_RTLD_DEEPBIND == 1
+ result = dlopen(path, RTLD_NOW | RTLD_DEEPBIND);
+ #else
+ result = dlopen(path, RTLD_NOW);
+--
+2.32.0
+
diff --git a/app-emulation/fs-uae/files/fs-uae-3.1.66-musl.patch b/app-emulation/fs-uae/files/fs-uae-3.1.66-musl.patch
new file mode 100644
index 000000000000..cc78261ebe40
--- /dev/null
+++ b/app-emulation/fs-uae/files/fs-uae-3.1.66-musl.patch
@@ -0,0 +1,35 @@
+From 5d7287d1aa99f100e560b5a2d231e49b64a18da3 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 17 Apr 2022 10:29:22 +0100
+Subject: [PATCH] Don't return NULL in mapped_malloc when a bool is expected
+
+This was apparently breaking the build under musl.
+---
+ src/memory.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/memory.cpp b/src/memory.cpp
+index 3cd7dee6..18d1283a 100644
+--- a/src/memory.cpp
++++ b/src/memory.cpp
+@@ -1872,7 +1872,7 @@ bool mapped_malloc (addrbank *ab)
+ if (id == -1) {
+ nocanbang ();
+ if (recurse)
+- return NULL;
++ return false;
+ recurse++;
+ mapped_malloc (ab);
+ recurse--;
+@@ -1904,7 +1904,7 @@ bool mapped_malloc (addrbank *ab)
+ return ab->baseaddr != NULL;
+ }
+ if (recurse)
+- return NULL;
++ return false;
+ nocanbang ();
+ recurse++;
+ mapped_malloc (ab);
+--
+2.34.1
+
diff --git a/app-emulation/fs-uae/fs-uae-3.0.5.ebuild b/app-emulation/fs-uae/fs-uae-3.1.66.ebuild
index 3cf31cf10ce0..a8e64081c609 100644
--- a/app-emulation/fs-uae/fs-uae-3.0.5.ebuild
+++ b/app-emulation/fs-uae/fs-uae-3.1.66.ebuild
@@ -1,23 +1,24 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools xdg
+inherit autotools flag-o-matic xdg
DESCRIPTION="Integrates the most accurate Amiga emulation code available from WinUAE"
HOMEPAGE="https://fs-uae.net/"
-SRC_URI="https://fs-uae.net/stable/${PV}/${P}.tar.gz"
+SRC_URI="https://fs-uae.net/files/FS-UAE/Stable/${PV}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="fmv glew"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="fmv glew +jit"
RDEPEND="
dev-libs/glib:2
media-libs/libpng:0=
media-libs/libsdl2[opengl,X]
media-libs/openal
+ sys-libs/zlib
virtual/opengl
x11-libs/libdrm
x11-libs/libX11
@@ -39,6 +40,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-3.0.0-libmpeg2.patch
"${FILESDIR}"/${PN}-3.0.0-Xatom.h.patch
+ "${FILESDIR}"/${PN}-3.1.35-deepbind.patch
+ "${FILESDIR}"/${PN}-3.1.66-musl.patch
)
src_prepare() {
@@ -53,6 +56,12 @@ src_prepare() {
}
src_configure() {
+ # -Werror=odr -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/854519
+ #
+ # Fixed upstream in git master but no releases since 2021 and no activity since 2022.
+ filter-lto
+
# Qt and Udis86 are unused.
econf \
--enable-a2065 \
@@ -68,8 +77,7 @@ src_configure() {
--enable-drivesound \
--enable-fdi2raw \
--enable-gfxboard \
- --enable-jit \
- --enable-jit-fpu \
+ --disable-lua \
--enable-netplay \
--enable-ncr \
--enable-ncr9x \
@@ -90,8 +98,11 @@ src_configure() {
--enable-vpar \
--enable-xml-shader \
--enable-zip \
+ --without-cef \
--with-glad \
--without-qt \
+ $(use_enable jit) \
+ $(use_enable jit jit-fpu) \
$(use_with fmv libmpeg2) \
$(use_with glew)
}
diff --git a/app-emulation/fs-uae/metadata.xml b/app-emulation/fs-uae/metadata.xml
index e92d93d760f7..11cfe797e3b9 100644
--- a/app-emulation/fs-uae/metadata.xml
+++ b/app-emulation/fs-uae/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/app-emulation/fuse-utils/fuse-utils-1.4.3-r1.ebuild b/app-emulation/fuse-utils/fuse-utils-1.4.3-r2.ebuild
index cc6f021a658a..151ccbc9e61a 100644
--- a/app-emulation/fuse-utils/fuse-utils-1.4.3-r1.ebuild
+++ b/app-emulation/fuse-utils/fuse-utils-1.4.3-r2.ebuild
@@ -1,22 +1,23 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
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"
+SRC_URI="https://downloads.sourceforge.net/fuse-emulator/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv ~x86"
IUSE="audiofile gcrypt jpeg png zlib"
RDEPEND=">=app-emulation/libspectrum-1.4.4[audiofile?,gcrypt?,zlib?]
audiofile? ( >=media-libs/audiofile-0.3.6 )
- jpeg? ( virtual/jpeg:0 )
+ gcrypt? ( dev-libs/libgcrypt )
+ jpeg? ( media-libs/libjpeg-turbo:= )
png? ( media-libs/libpng:0 )
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}"
diff --git a/app-emulation/fuse-utils/metadata.xml b/app-emulation/fuse-utils/metadata.xml
index 0436766ec0ff..8ba930b34e02 100644
--- a/app-emulation/fuse-utils/metadata.xml
+++ b/app-emulation/fuse-utils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
diff --git a/app-emulation/fuse/Manifest b/app-emulation/fuse/Manifest
index 62b174565f78..127daceb5a37 100644
--- a/app-emulation/fuse/Manifest
+++ b/app-emulation/fuse/Manifest
@@ -1,2 +1 @@
-DIST fuse-1.5.7.tar.gz 1634568 BLAKE2B 9d2f3c310132dc57336995c31adeb37d727506719d1089b2009a2f44cbfa59fc9c4e9252aeff64cdd22b7326328518b5da33af51be687f321b891b9d1dd2b646 SHA512 ac11e03fc203f98433253fb72d7700cf6285ad8662147f318bb4ceda3888bc865b80d85473a3b2bda9e0971989b1579fc928f41ddabbf01d58358362066be13d
DIST fuse-1.6.0.tar.gz 1686171 BLAKE2B d1e6b166f2f649f408349b16a5eb40dd414750ed7a805eb6505b6c81be6ed7bcaa4e6f0b14057645172add1b1a77881f90b64767390fe1a64a486168f452d29d SHA512 5096b24b5b3d812942a7ad401b886b6a99f5493686912cb4aff18ede65404ae97a9bcafa6337aaed4378382f2a170918797d7d4570bb809476be5aa9fc625b8b
diff --git a/app-emulation/fuse/files/multiple-definition.patch b/app-emulation/fuse/files/multiple-definition.patch
deleted file mode 100644
index 8a8e9d7d1758..000000000000
--- a/app-emulation/fuse/files/multiple-definition.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur fuse-1.5.7/ui/widget/widget.c fuse-1.5.7-patched/ui/widget/widget.c
---- fuse-1.5.7/ui/widget/widget.c 2018-08-06 15:36:04.000000000 +0200
-+++ fuse-1.5.7-patched/ui/widget/widget.c 2020-09-20 15:27:42.045382588 +0200
-@@ -90,9 +90,6 @@
-
- static widget_recurse_t widget_return[10]; /* The stack to recurse on */
-
--/* The settings used whilst playing with an options dialog box */
--settings_info widget_options_settings;
--
- static int widget_read_font( const char *filename )
- {
- utils_file file;
diff --git a/app-emulation/fuse/fuse-1.5.7.ebuild b/app-emulation/fuse/fuse-1.5.7.ebuild
deleted file mode 100644
index 063ecf27471a..000000000000
--- a/app-emulation/fuse/fuse-1.5.7.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# 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"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="alsa ao backend-fbcon backend-sdl backend-svga backend-X gpm joystick memlimit png xml"
-
-# Only one UI back-end can be enabled at a time
-REQUIRED_USE="?? ( backend-fbcon backend-sdl backend-svga backend-X )"
-
-RDEPEND="
- >=app-emulation/libspectrum-1.4.4
- dev-libs/glib:2
- alsa? ( media-libs/alsa-lib )
- ao? ( media-libs/libao )
- backend-sdl? ( media-libs/libsdl )
- backend-svga? ( media-libs/svgalib )
- backend-X? ( x11-libs/libX11 x11-libs/libXext )
- !backend-fbcon? ( !backend-sdl? ( !backend-svga? ( !backend-X? ( x11-libs/gtk+:3 ) ) ) )
- gpm? ( sys-libs/gpm )
- joystick? ( !backend-sdl? ( media-libs/libjsw ) )
- png? ( media-libs/libpng:0= sys-libs/zlib )
- xml? ( dev-libs/libxml2:2 )"
-DEPEND="${RDEPEND}
- backend-fbcon? ( virtual/linux-sources )
- dev-lang/perl
- virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog README THANKS )
-
-PATCHES=(
- "${FILESDIR}"/multiple-definition.patch
- "${FILESDIR}"/remove-local-prefix.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --without-win32
- $(use_with alsa)
- $(use_with ao libao)
- $(use_with gpm)
- $(use_with joystick)
- $(use_enable memlimit smallmem)
- $(use_with png)
- $(use_with xml libxml2)
- )
-
- if use backend-sdl; then
- myconf+=("--with-sdl")
- elif use backend-X; then
- myconf+=("--without-gtk")
- elif use backend-svga; then
- myconf+=("--with-svgalib")
- elif use backend-fbcon; then
- myconf+=("--with-fb")
- else
- myconf+=("--with-gtk")
- fi
-
- use joystick && myconf+=( $(use_enable backend-sdl ui-joystick) )
-
- econf "${myconf[@]}"
-}
-
-src_test() {
- emake test
-}
diff --git a/app-emulation/fuse/fuse-1.6.0.ebuild b/app-emulation/fuse/fuse-1.6.0-r1.ebuild
index ddec66d72acc..0099b7ffcc40 100644
--- a/app-emulation/fuse/fuse-1.6.0.ebuild
+++ b/app-emulation/fuse/fuse-1.6.0-r1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools xdg
+inherit autotools flag-o-matic xdg
DESCRIPTION="Free Unix Spectrum Emulator by Philip Kendall"
HOMEPAGE="http://fuse-emulator.sourceforge.net"
-SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/fuse-emulator/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="alsa ao backend-X backend-fbcon +backend-gtk3 backend-sdl backend-svga gpm joystick memlimit png -pulseaudio +xml +zlib"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86"
+IUSE="alsa ao backend-X backend-fbcon +backend-gtk3 backend-sdl backend-svga gpm joystick memlimit png pulseaudio +xml +zlib"
# TODO:
# - allow using sdl audio driver without using for the UI
@@ -21,7 +21,8 @@ IUSE="alsa ao backend-X backend-fbcon +backend-gtk3 backend-sdl backend-svga gpm
# At most one audio driver and at most one UI back-end can be enabled at a time
REQUIRED_USE="?? ( alsa ao backend-sdl pulseaudio )
- ?? ( backend-X backend-fbcon backend-gtk3 backend-sdl backend-svga )"
+ ?? ( backend-X backend-fbcon backend-gtk3 backend-sdl backend-svga )
+ png? ( zlib )"
RDEPEND="
>=app-emulation/libspectrum-1.5.0[zlib?]
@@ -35,7 +36,7 @@ RDEPEND="
gpm? ( backend-fbcon? ( sys-libs/gpm ) )
joystick? ( !backend-sdl? ( media-libs/libjsw ) )
png? ( media-libs/libpng:0= )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
xml? ( dev-libs/libxml2:2 )
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}
@@ -64,8 +65,12 @@ _fuse_audio_driver() {
}
src_prepare() {
- xdg_src_prepare
+ default
+ xdg_environment_reset
eautoreconf
+
+ # Bug #854522
+ filter-lto
}
src_configure() {
diff --git a/app-emulation/fuse/metadata.xml b/app-emulation/fuse/metadata.xml
index f6bb92e4f4f6..5b50c50c218a 100644
--- a/app-emulation/fuse/metadata.xml
+++ b/app-emulation/fuse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
diff --git a/app-emulation/gallium-nine-standalone/Manifest b/app-emulation/gallium-nine-standalone/Manifest
index 071df4f33d3f..90d5abcd33ea 100644
--- a/app-emulation/gallium-nine-standalone/Manifest
+++ b/app-emulation/gallium-nine-standalone/Manifest
@@ -1 +1,2 @@
-DIST gallium-nine-standalone-0.7.tar.gz 67699 BLAKE2B 85520de46e0e821f63d89691e322c3001ae853a0058a5077b484da6a1596a7ed03d2e2b7dc2686661fd21d34b33e10f4549437ce5790f18e1e6cc77c894e9d1e SHA512 9007564347bb6677f3d4eff83f744d39487c09b543489f02dcf7606917ecd9b72decf8176d9daecb6039b8998e97f737d9f7a71a5052f4d5c73f2e99e92af43c
+DIST gallium-nine-standalone-0.8.tar.gz 66656 BLAKE2B 5eaebcc514570dbaff44c4c889025d19a26c0b54941d1ab99ec131216a6eb49c2c649f1a4df51534f608653dab8b5e55a35afc57ba04a0ab6f4dea0edabac55c SHA512 3f339f909c6d65a2e5b5c912785aaa6f297e95549c868ab679dfb8e99d67db9906b6e75e3679a4e3e003f512a54ceb9953f941a4129f488973c16e1a3ac7267c
+DIST gallium-nine-standalone-0.9.tar.gz 67687 BLAKE2B 24e4250cacde3306cdfa8d9b24fa2fa0eb7dee4e5722973baa59f25999a75e689acad4c24c8bbfbc34aaddc24bdfe1977ff2f85da08a81b4ce6b222d5d0bfae0 SHA512 1ed384563736ab5db4167ca28163c93e58e9ff7ee62656d4adea8bc937484aebce3ed06f4600a080ad61fcfedd12febb3db9430be6cc8dd97484982694fde3a7
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
deleted file mode 100644
index fed5c0403688..000000000000
--- a/app-emulation/gallium-nine-standalone/files/0.7-cross-files.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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/files/0.7-no-libwine.patch b/app-emulation/gallium-nine-standalone/files/0.7-no-libwine.patch
deleted file mode 100644
index abcf7ad4ea3b..000000000000
--- a/app-emulation/gallium-nine-standalone/files/0.7-no-libwine.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From bddb53abdd1a77b1c019457f7eea4a6404a5e492 Mon Sep 17 00:00:00 2001
-From: Andre Heider <a.heider@gmail.com>
-Date: Sun, 17 Jan 2021 11:42:57 +0100
-Subject: [PATCH] meson: stop checking for libwine
-
-From the WINE 6.0 release notes:
-The libwine library is no longer used, but it's still provided to
-support running Winelib modules built against older versions. It is
-deprecated however, and will be removed in a future Wine release.
-
-libwine wasn't used anymore anyway, this just ensures that this tree can
-be built against future WINE versions.
----
- meson.build | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 0969777..47ee51a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -35,12 +35,10 @@ code = '''#ifndef __WINE__
- #error 1
- #endif'''
-
--if not cc.compiles(code, name: 'winelib check')
-+if not cc.compiles(code, name: 'winegcc check')
- error('A WINE cross compiler is required')
- endif
-
--dep_wine = cc.find_library('wine')
--
- if not cc.has_header_symbol('windows.h', 'wine_get_unix_file_name')
- error('WINE headers not found')
- endif
diff --git a/app-emulation/gallium-nine-standalone/files/0.8-cross-files.patch b/app-emulation/gallium-nine-standalone/files/0.8-cross-files.patch
new file mode 100644
index 000000000000..7aacc7b8bd9b
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/files/0.8-cross-files.patch
@@ -0,0 +1,32 @@
+diff --color -Naur a/tools/cross-wine32.in b/tools/cross-wine32.in
+--- a/tools/cross-wine32.in 2021-04-24 11:27:05.044134837 +0100
++++ b/tools/cross-wine32.in 2021-04-24 11:28:55.880227178 +0100
+@@ -5,9 +5,10 @@
+ pkgconfig = '@PKG_CONFIG@'
+
+ [properties]
+-c_args = ['-m32']
+-c_link_args = ['-m32', '-mwindows', '-L@WINE32_LIBDIR@']
++c_args = @CFLAGS@ + ['-m32']
++c_link_args = @LDFLAGS@ + ['-m32', '-mwindows', '-L@WINE32_LIBDIR@']
+ needs_exe_wrapper = true
++pkg_config_libdir = '@PKG_CONFIG_LIBDIR@'
+
+ [host_machine]
+ system = 'linux'
+diff --color -Naur a/tools/cross-wine64.in b/tools/cross-wine64.in
+--- a/tools/cross-wine64.in 2021-04-24 11:27:05.044134837 +0100
++++ b/tools/cross-wine64.in 2021-04-24 11:29:14.999766636 +0100
+@@ -5,9 +5,10 @@
+ pkgconfig = '@PKG_CONFIG@'
+
+ [properties]
+-c_args = ['-m64']
+-c_link_args = ['-m64', '-mwindows', '-L@WINE64_LIBDIR@']
++c_args = @CFLAGS@ + ['-m64']
++c_link_args = @LDFLAGS@ + ['-m64', '-mwindows', '-L@WINE64_LIBDIR@']
+ needs_exe_wrapper = true
++pkg_config_libdir = '@PKG_CONFIG_LIBDIR@'
+
+ [host_machine]
+ system = 'linux'
diff --git a/app-emulation/gallium-nine-standalone/files/0.9-nine-dll-path.patch b/app-emulation/gallium-nine-standalone/files/0.9-nine-dll-path.patch
new file mode 100644
index 000000000000..14c2b30a741f
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/files/0.9-nine-dll-path.patch
@@ -0,0 +1,12 @@
+diff -Naur a/ninewinecfg/main.c b/ninewinecfg/main.c
+--- a/ninewinecfg/main.c 2023-03-10 08:32:25.000000000 +0000
++++ b/ninewinecfg/main.c 2023-10-29 22:49:15.919529033 +0000
+@@ -28,7 +28,7 @@
+ #include "../common/registry.h"
+ #include "resource.h"
+
+-static const char * const fn_nine_dll = "d3d9-nine.dll";
++static const char * const fn_nine_dll = G9DLL;
+ static const char * const fn_backup_dll = "d3d9-nine.bak";
+ static const char * const fn_d3d9_dll = "d3d9.dll";
+ static const char * const fn_nine_exe = "ninewinecfg.exe";
diff --git a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild
index a221e90f1e4b..fdf6d7e33058 100644
--- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.7.ebuild
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.8-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit meson multilib-minimal toolchain-funcs
+inherit meson-multilib toolchain-funcs
MY_PN="wine-nine-standalone"
DESCRIPTION="A standalone version of the WINE parts of Gallium Nine"
@@ -25,7 +25,7 @@ SLOT="0"
# Steam's Proton.
RDEPEND="
- media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}]
+ media-libs/mesa[d3d9,X(+),${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
"
@@ -34,12 +34,11 @@ DEPEND="
${RDEPEND}
virtual/pkgconfig
virtual/wine[${MULTILIB_USEDEP}]
- >=dev-util/meson-0.50.1
+ >=dev-build/meson-0.50.1
"
PATCHES=(
- "${FILESDIR}"/0.7-no-libwine.patch
- "${FILESDIR}"/0.7-cross-files.patch
+ "${FILESDIR}"/0.8-cross-files.patch
"${FILESDIR}"/0.3-nine-dll-path.patch
)
@@ -86,26 +85,3 @@ multilib_src_configure() {
)
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.9-r1.ebuild b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.9-r1.ebuild
new file mode 100644
index 000000000000..c34f0b868b29
--- /dev/null
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-0.9-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib 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,X(+),${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libxcb[${MULTILIB_USEDEP}]
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/wine[${MULTILIB_USEDEP}]
+"
+
+BDEPEND="
+ dev-build/meson-format-array
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/0.8-cross-files.patch
+ "${FILESDIR}"/0.9-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-format-array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \
+ -e "s!@LDFLAGS@!$(meson-format-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
+}
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 ea0bcf68bedf..c34f0b868b29 100644
--- a/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild
+++ b/app-emulation/gallium-nine-standalone/gallium-nine-standalone-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit meson multilib-minimal toolchain-funcs
+inherit meson-multilib toolchain-funcs
MY_PN="wine-nine-standalone"
DESCRIPTION="A standalone version of the WINE parts of Gallium Nine"
@@ -25,21 +25,24 @@ SLOT="0"
# Steam's Proton.
RDEPEND="
- media-libs/mesa[d3d9,dri3,X(+),${MULTILIB_USEDEP}]
+ media-libs/mesa[d3d9,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
+"
+
+BDEPEND="
+ dev-build/meson-format-array
+ virtual/pkgconfig
"
PATCHES=(
- "${FILESDIR}"/0.7-cross-files.patch
- "${FILESDIR}"/0.3-nine-dll-path.patch
+ "${FILESDIR}"/0.8-cross-files.patch
+ "${FILESDIR}"/0.9-nine-dll-path.patch
)
bits() {
@@ -61,12 +64,12 @@ src_prepare() {
# 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\"
+ 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!@CFLAGS@!$(meson-format-array "${CFLAGS} '-DG9DLL=${g9dll}'")!" \
+ -e "s!@LDFLAGS@!$(meson-format-array "${LDFLAGS}")!" \
-e "s!@PKG_CONFIG_LIBDIR@!${PKG_CONFIG_LIBDIR:-${ESYSROOT}/usr/$(get_libdir)/pkgconfig}!" \
${file}.in > ${file} || die
}
@@ -85,26 +88,3 @@ multilib_src_configure() {
)
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/metadata.xml b/app-emulation/gallium-nine-standalone/metadata.xml
index 99949f5b76d0..cad8073ddece 100644
--- a/app-emulation/gallium-nine-standalone/metadata.xml
+++ b/app-emulation/gallium-nine-standalone/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/app-emulation/ganeti-os-noop/ganeti-os-noop-0.2.ebuild b/app-emulation/ganeti-os-noop/ganeti-os-noop-0.2.ebuild
index 3f7639fbd4e9..a808738db0f4 100644
--- a/app-emulation/ganeti-os-noop/ganeti-os-noop-0.2.ebuild
+++ b/app-emulation/ganeti-os-noop/ganeti-os-noop-0.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
DESCRIPTION="Dummy OS provider for Ganeti"
HOMEPAGE="https://github.com/grnet/ganeti-os-noop"
@@ -10,14 +10,10 @@ SRC_URI="https://github.com/grnet/ganeti-os-noop/archive/v${PV}.tar.gz -> ${P}.t
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
src_install() {
dodoc CONTRIBUTORS
- cd ganeti/os/noop
+ cd ganeti/os/noop || die
insinto /usr/share/ganeti/os/noop/
doins ganeti_api_version
exeinto /usr/share/ganeti/os/noop/
diff --git a/app-emulation/ganeti-os-noop/metadata.xml b/app-emulation/ganeti-os-noop/metadata.xml
index b18a6a1b928d..f4d155ae55ee 100644
--- a/app-emulation/ganeti-os-noop/metadata.xml
+++ b/app-emulation/ganeti-os-noop/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
diff --git a/app-emulation/ganeti-os-simpleimage/Manifest b/app-emulation/ganeti-os-simpleimage/Manifest
new file mode 100644
index 000000000000..01577c3e8385
--- /dev/null
+++ b/app-emulation/ganeti-os-simpleimage/Manifest
@@ -0,0 +1 @@
+DIST ganeti-os-simpleimage-07f67364e66b9f686a5b15d0c516310fcc3c7c9b.tar.gz 10722 BLAKE2B 7b9dfe0ba0f1c53ae61e5304b618e1f31ad08a93352b9781dd502bd27ca4426493eb3b61c4e751fe1787eb19c63ddf377a602a35a815042d5c8437ece991c5ba SHA512 278f9430d28c542b25ce4fd449dc57b97bcd56c0fc8b2c7bfacf08cc090c81d74eca44c0cc57faa28576bdaa3b1a0011d8780e8246acf5993765eb8de741e667
diff --git a/app-emulation/ganeti-os-simpleimage/ganeti-os-simpleimage-0_p20221113.ebuild b/app-emulation/ganeti-os-simpleimage/ganeti-os-simpleimage-0_p20221113.ebuild
new file mode 100644
index 000000000000..ec9d545922ff
--- /dev/null
+++ b/app-emulation/ganeti-os-simpleimage/ganeti-os-simpleimage-0_p20221113.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+COMMIT=07f67364e66b9f686a5b15d0c516310fcc3c7c9b
+MY_PV=$COMMIT
+
+DESCRIPTION="Ganeti OS provider for simple images"
+HOMEPAGE="https://github.com/ganeti/instance-simpleimage"
+SRC_URI="https://github.com/ganeti/instance-simpleimage/archive/${MY_PV}.tar.gz -> ${PN}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+S="${WORKDIR}/instance-simpleimage-${MY_PV}"
+
+src_install() {
+ # Config
+ keepdir /etc/ganeti/instance-simpleimage/default/
+ keepdir /etc/ganeti/instance-simpleimage/default/hooks
+ touch "${D}/etc/ganeti/instance-simpleimage/default/config"
+
+ insinto /usr/share/ganeti/os/simpleimage
+ doins ganeti_api_version parameters.list common.sh
+ exeinto /usr/share/ganeti/os/simpleimage
+ doexe create export import rename verify
+ # This is moved into /etc because sysadmins are expected to modify it, and
+ # add matching dirs for each variant in
+ # /etc/ganeti/instance-simpleimage/$VARIANT/
+ insinto /etc/ganeti/instance-simpleimage/
+ doins variants.list
+ dosym ../../../../../etc/ganeti/instance-simpleimage/variants.list \
+ /usr/share/ganeti/os/simpleimage/variants.list
+
+ # Docs
+ dodoc README.md
+ docinto example-hooks
+ dodoc example-hooks/debian-cloud-image-config
+}
diff --git a/app-emulation/ganeti-os-simpleimage/metadata.xml b/app-emulation/ganeti-os-simpleimage/metadata.xml
new file mode 100644
index 000000000000..10f9cbd5fa6a
--- /dev/null
+++ b/app-emulation/ganeti-os-simpleimage/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ganeti/instance-simpleimage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/genymotion-bin/Manifest b/app-emulation/genymotion-bin/Manifest
index 09e1a69448fa..573dc28b4118 100644
--- a/app-emulation/genymotion-bin/Manifest
+++ b/app-emulation/genymotion-bin/Manifest
@@ -1 +1 @@
-DIST genymotion-3.2.0-linux_x64.bin 48173545 BLAKE2B 3b921dfe01d56989d8f8998f6555fceabbfeacd3e87969dcc226d354e1ad5173e37682127d3158bbb280fa72386fd67adbcc3e64b2c5325c8144f106a8fd4469 SHA512 934047a4ced3dcc97c4be4f9767b885d79451701d974471e55b338ffb6bdb255654933678b6a8ba5a732b95ad0992b049effe2bcb8d05957526093b246d5deb6
+DIST genymotion-3.6.0-linux_x64.bin 103911915 BLAKE2B 2c7174404b29a71174fc04de96285475e1800880f79fb70c455539c2a658a305a4cd8a541c545024c3130458081b5a94e493478a47126905fae5e104afbd3efd SHA512 ff05bb91edf05c38d68e3dec16dd21f6fcc50bf31e03411f46b9a3a71ca3f9139705e54b8650c8ab44295a2ebb49aa262e169faecea1f6bb8dd385785440f245
diff --git a/app-emulation/genymotion-bin/genymotion-bin-3.2.0.ebuild b/app-emulation/genymotion-bin/genymotion-bin-3.2.0.ebuild
deleted file mode 100644
index 1b6fe08cd282..000000000000
--- a/app-emulation/genymotion-bin/genymotion-bin-3.2.0.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 desktop pax-utils
-
-MY_PN="${PN/-bin}"
-MY_P="${MY_PN}-${PV}"
-BIN_ARCHIVE="${MY_P}-linux_x64.bin"
-
-DESCRIPTION="Complete set of tools that provide a virtual environment for Android"
-HOMEPAGE="https://genymotion.com"
-SRC_URI="${BIN_ARCHIVE}"
-
-LICENSE="genymotion"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="app-emulation/virtualbox
- || (
- dev-libs/openssl-compat:1.0.0
- =dev-libs/openssl-1.0*:0
- )
- dev-libs/hiredis:0/0.14
- sys-apps/util-linux
- virtual/opengl
-"
-BDEPEND="dev-util/patchelf"
-
-RESTRICT="bindist fetch"
-S="${WORKDIR}"
-
-QA_PREBUILT="
- opt/${MY_PN}/*.so*
- opt/${MY_PN}/imageformats/*.so
- opt/${MY_PN}/plugins/*.so*
- opt/${MY_PN}/${MY_PN}
- opt/${MY_PN}/genyshell
- opt/${MY_PN}/player
- opt/${MY_PN}/${MY_PN}adbtunneld
- opt/${MY_PN}/gmtool
-"
-
-pkg_nofetch() {
- einfo
- einfo "Please visit"
- einfo
- einfo " https://www.genymotion.com/download/"
- einfo
- einfo "and download "
- einfo
- einfo " ${BIN_ARCHIVE}"
- einfo
- einfo "which must be placed in DISTDIR directory."
- einfo
-}
-
-src_unpack() {
- cp "${DISTDIR}/${BIN_ARCHIVE}" "${WORKDIR}" || die "cp failed"
-}
-
-src_prepare() {
- default
-
- chmod +x ${BIN_ARCHIVE} || die "chmod failed"
- yes | ./${BIN_ARCHIVE} > /dev/null || die "unpack failed"
-
- # removed windows line for bashcompletion
- sed -i "/complete -F _gmtool gmtool.exe/d" "${MY_PN}/completion/bash/gmtool.bash" || die "sed failed"
-
- # patch to support newer hiredis version (0.14)
- for i in genymotion genyshell gmtool player libcom.so.1.0.0 librendering.so.1.0.0 ; do
- patchelf --replace-needed libhiredis.so.0.13 libhiredis.so.0.14 "${MY_PN}/${i}" || die "Unable to patch ${i} for hiredis"
- done
-}
-
-src_install() {
- insinto /opt/"${MY_PN}"
- exeinto /opt/"${MY_PN}"
-
- # Use qt bundled
- doins -r "${MY_PN}"/{geoservices,Qt,QtGraphicalEffects,QtLocation,QtPositioning,QtQuick,QtQuick.2}
- doins -r "${MY_PN}"/{icons,imageformats,platforms,plugins,sqldrivers,translations,xcbglintegrations}
- doins "${MY_PN}"/libQt*
- doins "${MY_PN}"/qt.conf
- doins "${MY_PN}"/libicu*
-
- doexe "${MY_PN}"/{libcom,librendering,libswscale,libavutil}.so*
- # android library
- doexe "${MY_PN}"/{libEGL_translator,libGLES_CM_translator,libGLES_V2_translator,libOpenglRender,libemugl_logger}.so*
-
- find "${ED}/opt/${MY_PN}" -name "*.so*" -type f -exec chmod +x {} \; || die "Change .so permission failed"
-
- doexe "${MY_PN}"/{genymotion,genyshell,player,gmtool}
-
- pax-mark -m "${ED}/opt/${MY_PN}/genymotion"
- pax-mark -m "${ED}/opt/${MY_PN}/gmtool"
-
- dosym ../"${MY_PN}"/genyshell /opt/bin/genyshell
- dosym ../"${MY_PN}"/genymotion /opt/bin/genymotion
- dosym ../"${MY_PN}"/gmtool /opt/bin/gmtool
-
- newbashcomp "${MY_PN}/completion/bash/gmtool.bash" gmtool
-
- insinto /usr/share/zsh/site-functions
- doins "${MY_PN}/completion/zsh/_gmtool"
-
- sed -i -e "s:Icon.*:Icon=/opt/${MY_PN}/icons/icon.png:" \
- -e "s:Exec.*:Exec=/opt/${MY_PN}/genymotion:" \
- "${HOME}"/.local/share/applications/genymobile-genymotion.desktop || die "sed failed"
- domenu "${HOME}"/.local/share/applications/genymobile-genymotion.desktop
-}
-
-pkg_postinst() {
- elog "Genymotion needs adb to work correctly: install with android-sdk-update-manager"
- elog "'Android SDK Platform-tools' and 'Android SDK Tools'"
- elog "Your user should also be in the android group to work correctly"
- elog "Then in Genymotion set the android-sdk-update-manager directory: (Settings->ADB)"
- elog
- elog " /opt/android-sdk-update-manager"
-}
diff --git a/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild b/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild
new file mode 100644
index 000000000000..6de3fe292cc0
--- /dev/null
+++ b/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 desktop pax-utils
+
+MY_PN="${PN/-bin}"
+MY_P="${MY_PN}-${PV}"
+BIN_ARCHIVE="${MY_P}-linux_x64.bin"
+
+DESCRIPTION="Complete set of tools that provide a virtual environment for Android"
+HOMEPAGE="https://genymotion.com"
+SRC_URI="https://dl.genymotion.com/releases/${MY_P}/${BIN_ARCHIVE}"
+
+LICENSE="genymotion"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RDEPEND="app-arch/lz4
+ app-crypt/mit-krb5
+ || (
+ app-emulation/qemu[qemu_softmmu_targets_x86_64]
+ app-emulation/virtualbox
+ )
+ || (
+ dev-libs/openssl-compat:1.1.1
+ =dev-libs/openssl-1.1*:0
+ )
+ dev-libs/glib:2
+ =dev-libs/hiredis-1.0*
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libpulse
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ sys-apps/dbus
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXmu
+ x11-libs/xcb-util
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+"
+BDEPEND="x11-misc/xdg-utils"
+
+RESTRICT="bindist mirror"
+S="${WORKDIR}"
+
+QA_PREBUILT="
+ opt/${MY_PN}/*.so*
+ opt/${MY_PN}/imageformats/*.so
+ opt/${MY_PN}/plugins/*.so*
+ opt/${MY_PN}/${MY_PN}
+ opt/${MY_PN}/genyshell
+ opt/${MY_PN}/player
+ opt/${MY_PN}/${MY_PN}adbtunneld
+ opt/${MY_PN}/gmtool
+ opt/${MY_PN}/tools/*
+"
+
+src_unpack() {
+ cp "${DISTDIR}/${BIN_ARCHIVE}" "${WORKDIR}" || die "cp failed"
+}
+
+src_prepare() {
+ default
+
+ chmod +x ${BIN_ARCHIVE} || die "chmod failed"
+ yes | ./${BIN_ARCHIVE} > /dev/null || die "unpack failed"
+
+ # removed windows line for bashcompletion
+ sed -i "/complete -F _gmtool gmtool.exe/d" "${MY_PN}/completion/bash/gmtool.bash" || die "sed failed"
+
+ # copy .desktop file in S directory
+ sed -i -e "s:Icon.*:Icon=/opt/${MY_PN}/icons/genymotion-logo.png:" \
+ -e "s:Exec.*:Exec=/opt/${MY_PN}/genymotion:" \
+ "${HOME}"/.local/share/applications/genymobile-genymotion.desktop || die "sed failed"
+ cp "${HOME}"/.local/share/applications/genymobile-genymotion.desktop "${S}" || die "copy .desktop file"
+}
+
+src_install() {
+ insinto /opt/"${MY_PN}"
+ exeinto /opt/"${MY_PN}"
+
+ # Use qt bundled
+ doins -r "${MY_PN}"/{audio,geoservices,Qt,QtGraphicalEffects,QtLocation,QtPositioning,QtQuick,QtQuick.2}
+ doins -r "${MY_PN}"/{icons,imageformats,mediaservice,platforms,plugins,sqldrivers,translations,xcbglintegrations}
+ doins "${MY_PN}"/libQt*
+ doins "${MY_PN}"/qt.conf
+ doins "${MY_PN}"/libicu*
+
+ doexe "${MY_PN}"/{libcom,librendering,libshadertranslator,libswscale,libavutil}.so*
+ # android library
+ doexe "${MY_PN}"/{libOpenglRender,libemugl_logger,libemugl_common}.so*
+
+ find "${ED}/opt/${MY_PN}" -name "*.so*" -type f -exec chmod +x {} \; || die "Change .so permission failed"
+
+ doexe "${MY_PN}"/{genymotion,genyshell,player,gmtool}
+
+ # the android-sdk-update-manager have some bugs and lacks maintenance
+ # so installs bundled version
+ exeinto /opt/"${MY_PN}"/tools
+ doexe "${MY_PN}"/tools/{aapt,adb,glewinfo}
+ exeinto /opt/"${MY_PN}"/tools/lib64
+ doexe "${MY_PN}"/tools/lib64/libc++.so
+
+ pax-mark -m "${ED}/opt/${MY_PN}/genymotion"
+ pax-mark -m "${ED}/opt/${MY_PN}/gmtool"
+
+ dosym -r /opt/"${MY_PN}"/genyshell /opt/bin/genyshell
+ dosym -r /opt/"${MY_PN}"/genymotion /opt/bin/genymotion
+ dosym -r /opt/"${MY_PN}"/gmtool /opt/bin/gmtool
+
+ newbashcomp "${MY_PN}/completion/bash/gmtool.bash" gmtool
+
+ insinto /usr/share/zsh/site-functions
+ doins "${MY_PN}/completion/zsh/_gmtool"
+
+ if has_version app-emulation/qemu ; then
+ dodir /opt/"${MY_PN}"/qemu/bin
+ dosym -r /usr/bin/qemu-system-x86_64 /opt/"${MY_PN}"/qemu/bin/qemu-system-x86_64
+ dosym -r /usr/bin/qemu-img /opt/"${MY_PN}"/qemu/bin/qemu-img
+ fi
+
+ domenu genymobile-genymotion.desktop
+}
+
+pkg_postinst() {
+ if has_version app-emulation/qemu && ! has_version app-emulation/virtualbox ; then
+ ewarn "By default Genymotion is configured to work with VirtualBox hypervisor."
+ ewarn "So you should run command:"
+ ewarn ""
+ ewarn " gmtool config --hypervisor qemu"
+ ewarn ""
+ ewarn "to change hypervisor to QEMU."
+ fi
+}
diff --git a/app-emulation/genymotion-bin/metadata.xml b/app-emulation/genymotion-bin/metadata.xml
index a4f3061c46d6..d29f19d016b5 100644
--- a/app-emulation/genymotion-bin/metadata.xml
+++ b/app-emulation/genymotion-bin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>fedeliallalinea@gmail.com</email>
diff --git a/app-emulation/glean/Manifest b/app-emulation/glean/Manifest
index fe77c58672fb..3a8cffe9e55b 100644
--- a/app-emulation/glean/Manifest
+++ b/app-emulation/glean/Manifest
@@ -1,2 +1 @@
-DIST glean-1.17.0.tar.gz 62791 BLAKE2B 6429bd721655499732f84dc8db4bd31bdb128289956ab65fab78ea5461cf7945ced893fd832ac6a3cdcedb331f3885004eaa530be1ee4fcc4168870b5c345dd3 SHA512 55c8ceae941296c038acff3f40cf4d6b783d7c6530ebd6fbd6d87938de11a1be1403741a559802c9135d3fc4d904b1936319dcf7a0179f95ac3f909667f5622c
-DIST glean-1.18.2.tar.gz 67642 BLAKE2B b346fc63b361e7c7bf0b8fc100da4a047004950aff3e17fce96d47ae5a7887828a09f4b107f2af1afcf9d866e5bc0857049ddd2d9c49413e9fe4b61d1de99fd3 SHA512 de80c06952ebbbc24c8cf198f61be788fb32974652c8253787ed5a165e26bb162b48c84836779420bb7c331edeb50a7796f5a2ff578d2e612068c5fbadd343c7
+DIST glean-1.23.0.tar.gz 76426 BLAKE2B bca6d2da0393bb28392d3c9ab7708cf4b053e4736203b9c26bc278a52c6a829abead13ecb63ebb60ade9a4127ebba9dd560b75b765c3a168ea389025b07638a0 SHA512 4eca5ccd18bd7864fdecd35b483e5da6a0854c076d0266f802b70b7838de61790c9237f8928807a45d6845fa8ca9a37e2228653326759204483803b28de191ee
diff --git a/app-emulation/glean/glean-1.17.0.ebuild b/app-emulation/glean/glean-1.17.0.ebuild
deleted file mode 100644
index b949b505aa0f..000000000000
--- a/app-emulation/glean/glean-1.17.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_7 python3_8 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-inherit distutils-r1
-
-DESCRIPTION="Simple program to write static config from config-drive"
-HOMEPAGE="https://github.com/openstack-infra/glean"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND="dev-python/pbr[${PYTHON_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-src_install() {
- distutils-r1_src_install
- newinitd "${FILESDIR}/${PN}.initd" ${PN}
-}
diff --git a/app-emulation/glean/glean-1.18.2.ebuild b/app-emulation/glean/glean-1.23.0-r1.ebuild
index edd0b4838797..d5c813a3e0ad 100644
--- a/app-emulation/glean/glean-1.18.2.ebuild
+++ b/app-emulation/glean/glean-1.23.0-r1.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_7 python3_8 python3_9 )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="Simple program to write static config from config-drive"
HOMEPAGE="https://opendev.org/opendev/glean"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/app-emulation/glean/metadata.xml b/app-emulation/glean/metadata.xml
index 98da0ca88f35..db2fd69cd2fa 100644
--- a/app-emulation/glean/metadata.xml
+++ b/app-emulation/glean/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>alexxy@gentoo.org</email>
diff --git a/app-emulation/go-secbench/Manifest b/app-emulation/go-secbench/Manifest
deleted file mode 100644
index 915d02957600..000000000000
--- a/app-emulation/go-secbench/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST go-secbench-0.1.0.tar.gz 1281488 BLAKE2B 83bb27a2113a5e851db8b61402d967d528c9e3b39d249a23b4d28c21e001276eff73f61c6aba610f0020f22de26b04286a91e5a3785b5a9e019d2701d6081f92 SHA512 4712ef56385993ed1e660c1843a1d7e9cd807a3ca8bf935767e8d2965aef25c5b3a7a88d4ed7c072fe124a6b05900bd444cdbc0cee879e80844fb5f695732f2b
diff --git a/app-emulation/go-secbench/go-secbench-0.1.0-r1.ebuild b/app-emulation/go-secbench/go-secbench-0.1.0-r1.ebuild
deleted file mode 100644
index 9704fffb853f..000000000000
--- a/app-emulation/go-secbench/go-secbench-0.1.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGO_PN="github.com/qnib/go-secbench"
-inherit golang-build golang-vcs-snapshot
-
-DESCRIPTION="run and evaluate the docker security benchmark"
-HOMEPAGE="https://github.com/qnib/go-secbench"
-SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test"
-
-DEPEND="dev-lang/go"
-RDEPEND="app-emulation/docker"
-
-src_compile() {
- GOPATH="${S}" go build -o bin/go-secbench src/${EGO_PN}/cmd/main.go || die
-}
-
-src_install() {
- dobin bin/${PN}
-dodoc "src/${EGO_PN}/README.md"
-}
diff --git a/app-emulation/go-secbench/go-secbench-0.1.0.ebuild b/app-emulation/go-secbench/go-secbench-0.1.0.ebuild
deleted file mode 100644
index fdceccf32659..000000000000
--- a/app-emulation/go-secbench/go-secbench-0.1.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGO_PN="github.com/qnib/go-secbench"
-inherit golang-build golang-vcs-snapshot
-
-DESCRIPTION="run and evaluate the docker security benchmark"
-HOMEPAGE="https://github.com/qnib/go-secbench"
-SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test"
-
-DEPEND="dev-lang/go"
-
-src_compile() {
- GOPATH="${S}" go build -o bin/go-secbench src/${EGO_PN}/cmd/main.go || die
-}
-
-src_install() {
- dobin bin/${PN}
-dodoc "src/${EGO_PN}/README.md"
-}
diff --git a/app-emulation/go-secbench/metadata.xml b/app-emulation/go-secbench/metadata.xml
deleted file mode 100644
index c36c37139fad..000000000000
--- a/app-emulation/go-secbench/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/grub-xen-host/grub-xen-host-1.0.ebuild b/app-emulation/grub-xen-host/grub-xen-host-1.0-r1.ebuild
index 9150a04e8c80..2aaa8eb6a896 100644
--- a/app-emulation/grub-xen-host/grub-xen-host-1.0.ebuild
+++ b/app-emulation/grub-xen-host/grub-xen-host-1.0-r1.ebuild
@@ -1,18 +1,19 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
DESCRIPTION="Grub2 built as a PV grub per the Xen PV Boot Protocol"
-HOMEPAGE="https://blog.xenproject.org/2015/01/07/using-grub-2-as-a-bootloader-for-xen-pv-guests/"
+HOMEPAGE="https://wiki.xenproject.org/wiki/PvGrub2"
SRC_URI=""
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
+IUSE="pvh"
DEPEND="sys-boot/grub:2=[grub_platforms_xen]
+ pvh? ( >=sys-boot/grub-2.04:2=[grub_platforms_xen-pvh] )
app-emulation/xen-tools:="
RDEPEND="${DEPEND}"
@@ -71,9 +72,27 @@ src_compile() {
echo "${args[@]}"
"${args[@]}" || die "failed to grub-mkimage"
+
+ if use pvh; then
+ local args=(
+ "${grub_mkimage}"
+ -O i386-xen_pvh
+ -c grub-bootstrap.cfg
+ -m memdisk.tar
+ -o grub-i386-xen_pvh.bin
+ /usr/lib/grub/i386-xen_pvh/*.mod
+ )
+
+ echo "${args[@]}"
+ "${args[@]}" || die "failed to grub-mkimage"
+ fi
+
}
src_install() {
exeinto /usr/libexec/xen/bin
doexe grub-x86_64-xen.bin
+ if use pvh; then
+ doexe grub-i386-xen_pvh.bin
+ fi
}
diff --git a/app-emulation/grub-xen-host/grub-xen-host-1.0-r2.ebuild b/app-emulation/grub-xen-host/grub-xen-host-1.0-r2.ebuild
new file mode 100644
index 000000000000..502d03bee2b3
--- /dev/null
+++ b/app-emulation/grub-xen-host/grub-xen-host-1.0-r2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Grub2 built as a PV grub per the Xen PV Boot Protocol"
+HOMEPAGE="https://wiki.xenproject.org/wiki/PvGrub2"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="pvh"
+
+DEPEND="
+ sys-boot/grub:2=[grub_platforms_xen]
+ pvh? ( >=sys-boot/grub-2.04:2=[grub_platforms_xen-pvh] )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+RESTRICT="binchecks strip test"
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ cat > "${S}/grub-bootstrap.cfg" <<- EOF || die
+ normal (memdisk)/grub.cfg
+ EOF
+
+ cat > "${S}/grub.cfg" <<- EOF || die
+ if search -s -f /boot/xen/pvboot-x86_64.elf ; then
+ echo "Chainloading (${root})/boot/xen/pvboot-x86_64.elf"
+ multiboot "/boot/xen/pvboot-x86_64.elf"
+ boot
+ fi
+
+ if search -s -f /xen/pvboot-x86_64.elf ; then
+ echo "Chainloading (${root})/xen/pvboot-x86_64.elf"
+ multiboot "/xen/pvboot-x86_64.elf"
+ boot
+ fi
+
+ if search -s -f /boot/grub/grub.cfg ; then
+ echo "Reading (${root})/boot/grub/grub.cfg"
+ configfile /boot/grub/grub.cfg
+ fi
+
+ if search -s -f /grub/grub.cfg ; then
+ echo "Reading (${root})/grub/grub.cfg"
+ configfile /grub/grub.cfg
+ fi
+ EOF
+
+ tar cf memdisk.tar grub.cfg || die "failed to tar"
+
+ local grub_mkimage=grub-mkimage
+ if type grub2-mkimage &> /dev/null; then
+ grub_mkimage=grub2-mkimage
+ fi
+
+ local args=(
+ "${grub_mkimage}"
+ -O x86_64-xen
+ -c grub-bootstrap.cfg
+ -m memdisk.tar
+ -p "${EPREFIX}"/usr/lib/grub/x86_64-xen/*.mod
+ -o grub-x86_64-xen.bin
+ )
+
+ echo "${args[@]}"
+ "${args[@]}" || die "failed to grub-mkimage"
+
+ if use pvh; then
+ local args=(
+ "${grub_mkimage}"
+ -O i386-xen_pvh
+ -c grub-bootstrap.cfg
+ -m memdisk.tar
+ -p "${EPREFIX}"/usr/lib/grub/i386-xen_pvh/*.mod
+ -o grub-i386-xen_pvh.bin
+ )
+
+ echo "${args[@]}"
+ "${args[@]}" || die "failed to grub-mkimage"
+ fi
+
+}
+
+src_install() {
+ exeinto /usr/libexec/xen/bin
+ doexe grub-x86_64-xen.bin
+ if use pvh; then
+ doexe grub-i386-xen_pvh.bin
+ fi
+}
diff --git a/app-emulation/grub-xen-host/metadata.xml b/app-emulation/grub-xen-host/metadata.xml
index 84e79366a42d..485b9cd416b6 100644
--- a/app-emulation/grub-xen-host/metadata.xml
+++ b/app-emulation/grub-xen-host/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>xen@gentoo.org</email>
@@ -9,4 +9,7 @@
a guest installed PV grub (grub legacy or grub 2) or handle a guest
supplied grub 2 config file.
</longdescription>
+ <use>
+ <flag name="pvh">Build an additional grub bin for pvh.</flag>
+ </use>
</pkgmetadata>
diff --git a/app-emulation/guestfs-tools/Manifest b/app-emulation/guestfs-tools/Manifest
new file mode 100644
index 000000000000..f8739c8d818b
--- /dev/null
+++ b/app-emulation/guestfs-tools/Manifest
@@ -0,0 +1 @@
+DIST guestfs-tools-1.48.2.tar.gz 12691067 BLAKE2B 305f281c19975f160c435b995d71ef2e18d09fc95f31e92efe8f79d811fc0a7efab27d14f766d5f6ee477fd43977167a3aabe5cc40498f125f925507fd2574d5 SHA512 e11cd5a38a1681e8b2fd56419d38ca0aaab659cb59d409b3572cadcd04fd4da3078fa33e7f21c99d11854ad08797ae24a8d71c041b1b7769fc36c1391b6eb162
diff --git a/app-emulation/guestfs-tools/guestfs-tools-1.48.2.ebuild b/app-emulation/guestfs-tools/guestfs-tools-1.48.2.ebuild
new file mode 100644
index 000000000000..718c2b33d14b
--- /dev/null
+++ b/app-emulation/guestfs-tools/guestfs-tools-1.48.2.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with app-emulation/libguestfs and app-emulation/libguestfs-appliance (if any new release there)
+
+inherit flag-o-matic linux-info perl-functions strip-linguas toolchain-funcs
+
+MY_PV_1="$(ver_cut 1-2)"
+MY_PV_2="$(ver_cut 2)"
+[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development"
+
+DESCRIPTION="Tools for accessing, inspecting, and modifying virtual machine (VM) disk images"
+HOMEPAGE="https://libguestfs.org/"
+SRC_URI="https://download.libguestfs.org/${PN}/${MY_PV_1}-${SD}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0/${MY_PV_1}"
+if [[ ${SD} == "stable" ]] ; then
+ KEYWORDS="amd64"
+fi
+IUSE="doc +ocaml +perl test"
+RESTRICT="!test? ( test )"
+
+# Failures - doc
+COMMON_DEPEND="
+ !<app-emulation/libguestfs-1.46.0-r1
+ app-alternatives/cpio
+ app-arch/lzma
+ app-arch/unzip[natspec]
+ app-arch/xz-utils
+ app-crypt/gnupg
+ >=app-emulation/libguestfs-${MY_PV_1}:=[ocaml?,perl?]
+ app-emulation/libvirt:=
+ >=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,filecaps]
+ dev-lang/perl:=
+ dev-libs/libpcre2:=
+ dev-libs/libxml2:2
+ dev-libs/jansson:=
+ >=sys-apps/fakechroot-2.8
+ sys-fs/squashfs-tools:*
+ sys-libs/ncurses:=
+ sys-libs/libxcrypt:=
+ virtual/libcrypt:=
+ ocaml? ( >=dev-lang/ocaml-4.03:=[ocamlopt] )
+ perl? (
+ virtual/perl-Data-Dumper
+ virtual/perl-Getopt-Long
+ dev-perl/Module-Build
+ dev-perl/libintl-perl
+ virtual/perl-ExtUtils-MakeMaker
+ >=dev-perl/Sys-Virt-0.2.4
+ dev-perl/String-ShellQuote
+ test? ( virtual/perl-Test-Simple )
+ )
+"
+# Some OCaml is always required
+# bug #729674
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-lang/ocaml-4.03:=[ocamlopt]
+ dev-ml/findlib[ocamlopt]
+ doc? ( app-text/po4a )
+ ocaml? (
+ dev-ml/ounit2[ocamlopt]
+ || (
+ <dev-ml/ocaml-gettext-0.4.2
+ dev-ml/ocaml-gettext-stub[ocamlopt]
+ )
+ )
+"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ app-emulation/libguestfs-appliance
+"
+
+DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )
+
+#PATCHES=(
+# "${FILESDIR}"/${MY_PV_1}/
+#)
+
+pkg_setup() {
+ CONFIG_CHECK="~KVM ~VIRTIO"
+ [[ -n "${CONFIG_CHECK}" ]] && check_extra_config
+}
+
+src_configure() {
+ # bug #794877
+ tc-export AR
+
+ # Needs both bison+flex (bug #915339, see configure too)
+ unset YACC LEX
+
+ if use test ; then
+ # Skip Bash test
+ # (See 13-test-suite.log in linked bug)
+ # bug #794874
+ export SKIP_TEST_COMPLETE_IN_SCRIPT_SH=1
+
+ # This test requires libvirt support in libguestfs and it makes
+ # no difference at runtime. Just gracefully skip it to make life
+ # easier for e.g. arch testing.
+ if ! has_version 'app-emulation/libguestfs[libvirt]' ; then
+ export SKIP_TEST_VIRT_ALIGNMENT_SCAN_GUESTS_SH=1
+ fi
+
+ # Needed for the inspector tests. Provided by libguestfs-appliance.
+ #export LIBGUESTFS_PATH="${BROOT}"/usr/share/guestfs/appliance/
+ # But the inspector tests seem fragile anyway...
+ export SKIP_TEST_VIRT_INSPECTOR_LUKS_SH=1
+ export SKIP_TEST_VIRT_INSPECTOR_SH=1
+ fi
+
+ # Disable feature test for kvm for more reason
+ # i.e: not loaded module in __build__ time,
+ # build server not supported kvm, etc. ...
+ #
+ # In fact, this feature is virtio support and requires
+ # configured kernel.
+ export vmchannel_test=no
+
+ # Give a nudge to help find libxcrypt[-system]
+ # We have a := dep on virtual/libcrypt to ensure this
+ # doesn't become stale.
+ # bug #703118, bug #789354
+ if ! has_version 'sys-libs/libxcrypt[system]' ; then
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ append-ldflags "-Wl,-R${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ fi
+
+ # Test suite at least has a bunch of bashisms
+ SHELL="${BROOT}"/bin/bash CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ $(usex doc '' PO4A=no) \
+ $(use_enable ocaml) \
+ $(use_enable perl)
+}
+
+src_install() {
+ strip-linguas -i po
+
+ emake DESTDIR="${D}" install "LINGUAS=""${LINGUAS}"""
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if use perl ; then
+ perl_delete_localpod
+ fi
+}
+
+pkg_postinst() {
+ if ! use ocaml ; then
+ einfo "OCaml based tools and bindings (virt-resize, virt-sparsify, virt-sysprep, ...) NOT installed"
+ fi
+
+ if ! use perl ; then
+ einfo "Perl based tools NOT built"
+ fi
+}
diff --git a/app-emulation/guestfs-tools/metadata.xml b/app-emulation/guestfs-tools/metadata.xml
new file mode 100644
index 000000000000..115e9d64a669
--- /dev/null
+++ b/app-emulation/guestfs-tools/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/app-emulation/gxemul/gxemul-0.6.2.ebuild b/app-emulation/gxemul/gxemul-0.6.2.ebuild
index 4f73577a5ce6..fbe24c090e49 100644
--- a/app-emulation/gxemul/gxemul-0.6.2.ebuild
+++ b/app-emulation/gxemul/gxemul-0.6.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="A Machine Emulator, Mainly emulates MIPS, but supports other CPU types"
HOMEPAGE="http://gxemul.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/gxemul/GXemul/${PV}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/project/gxemul/GXemul/${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/app-emulation/gxemul/metadata.xml b/app-emulation/gxemul/metadata.xml
index ce46ccfd0e80..bd88d1ef0ae4 100644
--- a/app-emulation/gxemul/metadata.xml
+++ b/app-emulation/gxemul/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>Machine Emulator. Supports emulation across several architectures. Primarily for MIPS support, but other platform support coming soon.</longdescription>
diff --git a/app-emulation/hercules-sdl-crypto/Manifest b/app-emulation/hercules-sdl-crypto/Manifest
new file mode 100644
index 000000000000..88168d5a0844
--- /dev/null
+++ b/app-emulation/hercules-sdl-crypto/Manifest
@@ -0,0 +1 @@
+DIST crypto-a5096e5dd79f46b568806240c0824cd8cb2fcda2.tar.gz 81482 BLAKE2B 4e414c66ee3716c17217ac85b658171907b1018bb8b7306c2b040957cb15723f77c32d5b04c5ff12c346e2ac464d16e805c036b7408755a7f1ca40174c031296 SHA512 d55e73d7dfa90da53c173159e32cb733a44780cd8606d539351371e61910f3a82312b8ab9f858b293c89c8f7cc4fe74da86825db2f9a6e73391d95c3f903d94e
diff --git a/app-emulation/hercules-sdl-crypto/files/cmakefix.patch b/app-emulation/hercules-sdl-crypto/files/cmakefix.patch
new file mode 100644
index 000000000000..dd8f1840a7d9
--- /dev/null
+++ b/app-emulation/hercules-sdl-crypto/files/cmakefix.patch
@@ -0,0 +1,155 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316b76..50176f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ cmake_minimum_required( VERSION 3.2 )
+
+ cmake_policy( SET CMP0048 NEW )
+
++include( GNUInstallDirs )
++
+ #------------------------------------------------------------------------------
+ # Define the project
+ #------------------------------------------------------------------------------
+@@ -131,8 +133,8 @@ set_target_properties( ${FULLNAME} PROPERTIES
+ COMPILE_PDB_NAME ${FULLNAME} )
+
+ install( TARGETS ${FULLNAME}
+- PUBLIC_HEADER DESTINATION include
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/include
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/lib )
+
+
+ #------------------------------------------------------------------------------
+diff --git a/cmake/modules/ParseBinaryDir.cmake b/cmake/modules/ParseBinaryDir.cmake
+index 7983107..2ede77b 100644
+--- a/cmake/modules/ParseBinaryDir.cmake
++++ b/cmake/modules/ParseBinaryDir.cmake
+@@ -7,6 +7,8 @@ macro( ParseBinaryDir )
+ set( CMAKE_DISABLE_IN_SOURCE_BUILD ON )
+ set( CMAKE_DISABLE_SOURCE_CHANGES ON )
+
++ set( FULLNAME ${EXTPKG_NAME} )
++
+ #--------------------------------------------------------------------------
+ # Make sure they are not trying to do an "in source" build by making
+ # sure the cmake "binary" (build) directory is not a subdirectory of
+@@ -48,102 +50,6 @@ Remove the 'CMakeCache.txt' file and the entire 'CMakeFiles' directory and try a
+
+ TEST_BIG_ENDIAN( IS_BIG_ENDIAN )
+
+- #--------------------------------------------------------------------------
+- # Split the binary build directory into its constituent components.
+- # Refer to the "BUILDING" document for more information.
+- #--------------------------------------------------------------------------
+-
+- get_filename_component( BINARY_HLQ "${CMAKE_BINARY_DIR}" DIRECTORY )
+- get_filename_component( BINARY_DIR "${CMAKE_BINARY_DIR}" NAME )
+-
+- trace( BINARY_HLQ )
+- trace( BINARY_DIR )
+-
+- string( FIND ${BINARY_DIR} " " _n )
+- if( NOT ${_n} EQUAL -1 )
+- message( FATAL_ERROR "Build directory name cannot have spaces! ${BINARY_DIR}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # First, split it into two parts: before the dot and after the dot
+- #--------------------------------------------------------------------------
+-
+- string( REGEX MATCH "([^\\.]*)" _xxxxx ${BINARY_DIR} )
+- string( REGEX MATCH "([^.]*\$)" CONFIG ${BINARY_DIR} )
+-
+- trace( _xxxxx )
+- trace( CONFIG )
+-
+- #--------------------------------------------------------------------------
+- # The second part tells us if this is a "Debug" or "Release" build.
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${CONFIG} _n )
+- if( ${_n} LESS 1 )
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Capitalize "Debug" and "Release" for Visual Studio compatibility.
+- #--------------------------------------------------------------------------
+-
+- include( CapitalizeWord )
+-
+- Capitalize_Word( ${CONFIG} CONFIG )
+-
+- if(( NOT CONFIG STREQUAL "Debug" ) AND (NOT CONFIG STREQUAL "Release" ))
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Define the "Debug" or "Release" build type
+- #--------------------------------------------------------------------------
+-
+- if( CONFIG STREQUAL "Debug" )
+- set( CMAKE_BUILD_TYPE "Debug" CACHE PATH "" FORCE )
+- set( DBGCHAR "d" )
+- elseif( CONFIG STREQUAL "Release" )
+- set( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE PATH "" FORCE )
+- set( DBGCHAR "" )
+- endif()
+-
+- trace( CMAKE_BUILD_TYPE )
+-
+- #--------------------------------------------------------------------------
+- # Now split the first part into the base package/product name
+- # and build architecture (32-bit ot 64-bit).
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${_xxxxx} _n )
+- if( ${_n} LESS 3 )
+- message( FATAL_ERROR "Invalid base package name! ${_xxxxx}" )
+- endif()
+-
+- math( EXPR _n "${_n} - 2" ) # (want the last two characters)
+-
+- string( SUBSTRING ${_xxxxx} 0 ${_n} BASENAME )
+- string( SUBSTRING ${_xxxxx} ${_n} -1 BITNESS )
+-
+- if( NOT BITNESS STREQUAL "32" AND
+- NOT BITNESS STREQUAL "64" )
+- message( FATAL_ERROR "Invalid package architecture! ${BITNESS}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Show results
+- #--------------------------------------------------------------------------
+-
+- set( SUFFIX "${BITNESS}${DBGCHAR}" )
+- set( FULLNAME "${BASENAME}${SUFFIX}" )
+-
+- trace( BASENAME )
+- trace( BITNESS )
+- trace( CONFIG )
+- trace( DBGCHAR )
+- trace( SUFFIX )
+- trace( FULLNAME )
+- trace( CMAKE_BINARY_DIR )
+-
+ #--------------------------------------------------------------------------
+ # Define the install directory
+ #--------------------------------------------------------------------------
+diff --git a/extra.txt b/extra.txt
+index dfb293d..6018eb6 100644
+--- a/extra.txt
++++ b/extra.txt
+@@ -2,8 +2,8 @@
+ # Define additional files to be installed
+ #------------------------------------------------------------------------------
+
+-install( FILES "crypto.LICENSE.txt" DESTINATION . )
+-install( FILES "crypto.README.txt" DESTINATION . )
++install( FILES "crypto.LICENSE.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "crypto.README.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+
+ #------------------------------------------------------------------------------
+
diff --git a/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-4.7.0.ebuild b/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-4.7.0.ebuild
new file mode 100644
index 000000000000..b3f5be08e2fa
--- /dev/null
+++ b/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-4.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Use ../hercules-sdl/files/gen_hashes.sh to identify the relevant
+# commit when tagging new versions.
+COMMIT="a5096e5dd79f46b568806240c0824cd8cb2fcda2"
+
+DESCRIPTION="Simple AES/DES encryption and SHA1/SHA2 hashing library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/crypto"
+SRC_URI="https://github.com/SDL-Hercules-390/crypto/archive/${COMMIT}.tar.gz -> crypto-${COMMIT}.tar.gz"
+
+S="${WORKDIR}/crypto-${COMMIT}"
+LICENSE="public-domain MIT BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-9999.ebuild b/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-9999.ebuild
new file mode 100644
index 000000000000..0bfa5e44ea13
--- /dev/null
+++ b/app-emulation/hercules-sdl-crypto/hercules-sdl-crypto-9999.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 cmake
+
+DESCRIPTION="Simple AES/DES encryption and SHA1/SHA2 hashing library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/crypto"
+EGIT_REPO_URI="https://github.com/SDL-Hercules-390/crypto"
+
+LICENSE="public-domain MIT BSD"
+SLOT="0"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-crypto/metadata.xml b/app-emulation/hercules-sdl-crypto/metadata.xml
new file mode 100644
index 000000000000..8e22c018c0ee
--- /dev/null
+++ b/app-emulation/hercules-sdl-crypto/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Simple AES/DES encryption and SHA1/SHA2 hashing library for use by the SDL-Hercules-390 emulator
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/crypto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/hercules-sdl-decnumber/Manifest b/app-emulation/hercules-sdl-decnumber/Manifest
new file mode 100644
index 000000000000..a6446cde0c06
--- /dev/null
+++ b/app-emulation/hercules-sdl-decnumber/Manifest
@@ -0,0 +1 @@
+DIST decNumber-3aa2f4531b5fcbd0478ecbaf72ccc47079c67280.tar.gz 785702 BLAKE2B c7348c33dfdad046f79fc8112800e31b8010a0aa0acbca0e84d21e0f4ba366969a4c453d07ed8a3fdb79735850f17d71e66731a9b2db6d64781309f2c2861f8e SHA512 dad1c2d271f5739ac99850ac90ad45209e8efc80c20d29210f2f5b911b10ffc12a039e1bf6a7b8a171869a63ecad9bc8dfcf95161273385974b03221bd538a74
diff --git a/app-emulation/hercules-sdl-decnumber/files/cmakefix.patch b/app-emulation/hercules-sdl-decnumber/files/cmakefix.patch
new file mode 100644
index 000000000000..42e461d92e24
--- /dev/null
+++ b/app-emulation/hercules-sdl-decnumber/files/cmakefix.patch
@@ -0,0 +1,159 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316b76..50176f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ cmake_minimum_required( VERSION 3.2 )
+
+ cmake_policy( SET CMP0048 NEW )
+
++include( GNUInstallDirs )
++
+ #------------------------------------------------------------------------------
+ # Define the project
+ #------------------------------------------------------------------------------
+@@ -131,8 +133,8 @@ set_target_properties( ${FULLNAME} PROPERTIES
+ COMPILE_PDB_NAME ${FULLNAME} )
+
+ install( TARGETS ${FULLNAME}
+- PUBLIC_HEADER DESTINATION include
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/include
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/lib )
+
+
+ #------------------------------------------------------------------------------
+diff --git a/cmake/modules/ParseBinaryDir.cmake b/cmake/modules/ParseBinaryDir.cmake
+index 7983107..2ede77b 100644
+--- a/cmake/modules/ParseBinaryDir.cmake
++++ b/cmake/modules/ParseBinaryDir.cmake
+@@ -7,6 +7,8 @@ macro( ParseBinaryDir )
+ set( CMAKE_DISABLE_IN_SOURCE_BUILD ON )
+ set( CMAKE_DISABLE_SOURCE_CHANGES ON )
+
++ set( FULLNAME ${EXTPKG_NAME} )
++
+ #--------------------------------------------------------------------------
+ # Make sure they are not trying to do an "in source" build by making
+ # sure the cmake "binary" (build) directory is not a subdirectory of
+@@ -48,102 +50,6 @@ Remove the 'CMakeCache.txt' file and the entire 'CMakeFiles' directory and try a
+
+ TEST_BIG_ENDIAN( IS_BIG_ENDIAN )
+
+- #--------------------------------------------------------------------------
+- # Split the binary build directory into its constituent components.
+- # Refer to the "BUILDING" document for more information.
+- #--------------------------------------------------------------------------
+-
+- get_filename_component( BINARY_HLQ "${CMAKE_BINARY_DIR}" DIRECTORY )
+- get_filename_component( BINARY_DIR "${CMAKE_BINARY_DIR}" NAME )
+-
+- trace( BINARY_HLQ )
+- trace( BINARY_DIR )
+-
+- string( FIND ${BINARY_DIR} " " _n )
+- if( NOT ${_n} EQUAL -1 )
+- message( FATAL_ERROR "Build directory name cannot have spaces! ${BINARY_DIR}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # First, split it into two parts: before the dot and after the dot
+- #--------------------------------------------------------------------------
+-
+- string( REGEX MATCH "([^\\.]*)" _xxxxx ${BINARY_DIR} )
+- string( REGEX MATCH "([^.]*\$)" CONFIG ${BINARY_DIR} )
+-
+- trace( _xxxxx )
+- trace( CONFIG )
+-
+- #--------------------------------------------------------------------------
+- # The second part tells us if this is a "Debug" or "Release" build.
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${CONFIG} _n )
+- if( ${_n} LESS 1 )
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Capitalize "Debug" and "Release" for Visual Studio compatibility.
+- #--------------------------------------------------------------------------
+-
+- include( CapitalizeWord )
+-
+- Capitalize_Word( ${CONFIG} CONFIG )
+-
+- if(( NOT CONFIG STREQUAL "Debug" ) AND (NOT CONFIG STREQUAL "Release" ))
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Define the "Debug" or "Release" build type
+- #--------------------------------------------------------------------------
+-
+- if( CONFIG STREQUAL "Debug" )
+- set( CMAKE_BUILD_TYPE "Debug" CACHE PATH "" FORCE )
+- set( DBGCHAR "d" )
+- elseif( CONFIG STREQUAL "Release" )
+- set( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE PATH "" FORCE )
+- set( DBGCHAR "" )
+- endif()
+-
+- trace( CMAKE_BUILD_TYPE )
+-
+- #--------------------------------------------------------------------------
+- # Now split the first part into the base package/product name
+- # and build architecture (32-bit ot 64-bit).
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${_xxxxx} _n )
+- if( ${_n} LESS 3 )
+- message( FATAL_ERROR "Invalid base package name! ${_xxxxx}" )
+- endif()
+-
+- math( EXPR _n "${_n} - 2" ) # (want the last two characters)
+-
+- string( SUBSTRING ${_xxxxx} 0 ${_n} BASENAME )
+- string( SUBSTRING ${_xxxxx} ${_n} -1 BITNESS )
+-
+- if( NOT BITNESS STREQUAL "32" AND
+- NOT BITNESS STREQUAL "64" )
+- message( FATAL_ERROR "Invalid package architecture! ${BITNESS}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Show results
+- #--------------------------------------------------------------------------
+-
+- set( SUFFIX "${BITNESS}${DBGCHAR}" )
+- set( FULLNAME "${BASENAME}${SUFFIX}" )
+-
+- trace( BASENAME )
+- trace( BITNESS )
+- trace( CONFIG )
+- trace( DBGCHAR )
+- trace( SUFFIX )
+- trace( FULLNAME )
+- trace( CMAKE_BINARY_DIR )
+-
+ #--------------------------------------------------------------------------
+ # Define the install directory
+ #--------------------------------------------------------------------------
+diff --git a/extra.txt b/extra.txt
+index dfb293d..6018eb6 100644
+--- a/extra.txt
++++ b/extra.txt
+@@ -2,10 +2,10 @@
+ # Define additional files to be installed
+ #------------------------------------------------------------------------------
+
+-install( FILES "decnumber.ICU-license.html" DESTINATION . )
+-install( FILES "decnumber.pdf" DESTINATION . )
+-install( FILES "decnumber.readme.txt" DESTINATION . )
+-install( FILES "decnumber.ERRATA" DESTINATION . )
++install( FILES "decnumber.ICU-license.html" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "decnumber.pdf" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "decnumber.readme.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "decnumber.ERRATA" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+
+ #------------------------------------------------------------------------------
+
diff --git a/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-4.7.0.ebuild b/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-4.7.0.ebuild
new file mode 100644
index 000000000000..1b93ffd36baf
--- /dev/null
+++ b/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-4.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Use ../hercules-sdl/files/gen_hashes.sh to identify the relevant
+# commit when tagging new versions.
+COMMIT="3aa2f4531b5fcbd0478ecbaf72ccc47079c67280"
+
+DESCRIPTION="ANSI C General Decimal Arithmetic Library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/decNumber"
+SRC_URI="https://github.com/SDL-Hercules-390/decNumber/archive/${COMMIT}.tar.gz -> decNumber-${COMMIT}.tar.gz"
+
+S="${WORKDIR}/decNumber-${COMMIT}"
+LICENSE="icu"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-9999.ebuild b/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-9999.ebuild
new file mode 100644
index 000000000000..6c8be1db358a
--- /dev/null
+++ b/app-emulation/hercules-sdl-decnumber/hercules-sdl-decnumber-9999.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 cmake
+
+DESCRIPTION="ANSI C General Decimal Arithmetic Library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/decNumber"
+EGIT_REPO_URI="https://github.com/SDL-Hercules-390/decNumber"
+
+LICENSE="icu"
+SLOT="0"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-decnumber/metadata.xml b/app-emulation/hercules-sdl-decnumber/metadata.xml
new file mode 100644
index 000000000000..54d5e56d442d
--- /dev/null
+++ b/app-emulation/hercules-sdl-decnumber/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ ANSI C General Decimal Arithmetic Library for use by the SDL-Hercules-390 emulator
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/decNumber</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/hercules-sdl-softfloat/Manifest b/app-emulation/hercules-sdl-softfloat/Manifest
new file mode 100644
index 000000000000..f2f732c98ab5
--- /dev/null
+++ b/app-emulation/hercules-sdl-softfloat/Manifest
@@ -0,0 +1 @@
+DIST SoftFloat-4b0c326008e174610969c92e69178939ed80653d.tar.gz 237236 BLAKE2B 4d29161ebdb1b659a61a7c83cb2c5eee1b0874455d0e6f634d2fb70a4dd0200c0bd46961edf9e7f41fd84695278653e1073c2b0fe39bf252ca7242bafdcf6adc SHA512 549b144c63fdbbb0815650dfe9fb443a92fb8baeff33baeca1d25fa6226705ef149a1bdb80236c5debeb161bfaecd4cffe9f8d74298a83175c2ddeebb735c48c
diff --git a/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch b/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch
new file mode 100644
index 000000000000..21796e3cda00
--- /dev/null
+++ b/app-emulation/hercules-sdl-softfloat/files/cmakefix.patch
@@ -0,0 +1,159 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316b76..50176f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ cmake_minimum_required( VERSION 3.2 )
+
+ cmake_policy( SET CMP0048 NEW )
+
++include( GNUInstallDirs )
++
+ #------------------------------------------------------------------------------
+ # Define the project
+ #------------------------------------------------------------------------------
+@@ -131,8 +133,8 @@ set_target_properties( ${FULLNAME} PROPERTIES
+ COMPILE_PDB_NAME ${FULLNAME} )
+
+ install( TARGETS ${FULLNAME}
+- PUBLIC_HEADER DESTINATION include
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/include
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/lib )
+
+
+ #------------------------------------------------------------------------------
+diff --git a/cmake/modules/ParseBinaryDir.cmake b/cmake/modules/ParseBinaryDir.cmake
+index 7983107..2ede77b 100644
+--- a/cmake/modules/ParseBinaryDir.cmake
++++ b/cmake/modules/ParseBinaryDir.cmake
+@@ -7,6 +7,8 @@ macro( ParseBinaryDir )
+ set( CMAKE_DISABLE_IN_SOURCE_BUILD ON )
+ set( CMAKE_DISABLE_SOURCE_CHANGES ON )
+
++ set( FULLNAME ${EXTPKG_NAME} )
++
+ #--------------------------------------------------------------------------
+ # Make sure they are not trying to do an "in source" build by making
+ # sure the cmake "binary" (build) directory is not a subdirectory of
+@@ -48,102 +50,6 @@ Remove the 'CMakeCache.txt' file and the entire 'CMakeFiles' directory and try a
+
+ TEST_BIG_ENDIAN( IS_BIG_ENDIAN )
+
+- #--------------------------------------------------------------------------
+- # Split the binary build directory into its constituent components.
+- # Refer to the "BUILDING" document for more information.
+- #--------------------------------------------------------------------------
+-
+- get_filename_component( BINARY_HLQ "${CMAKE_BINARY_DIR}" DIRECTORY )
+- get_filename_component( BINARY_DIR "${CMAKE_BINARY_DIR}" NAME )
+-
+- trace( BINARY_HLQ )
+- trace( BINARY_DIR )
+-
+- string( FIND ${BINARY_DIR} " " _n )
+- if( NOT ${_n} EQUAL -1 )
+- message( FATAL_ERROR "Build directory name cannot have spaces! ${BINARY_DIR}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # First, split it into two parts: before the dot and after the dot
+- #--------------------------------------------------------------------------
+-
+- string( REGEX MATCH "([^\\.]*)" _xxxxx ${BINARY_DIR} )
+- string( REGEX MATCH "([^.]*\$)" CONFIG ${BINARY_DIR} )
+-
+- trace( _xxxxx )
+- trace( CONFIG )
+-
+- #--------------------------------------------------------------------------
+- # The second part tells us if this is a "Debug" or "Release" build.
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${CONFIG} _n )
+- if( ${_n} LESS 1 )
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Capitalize "Debug" and "Release" for Visual Studio compatibility.
+- #--------------------------------------------------------------------------
+-
+- include( CapitalizeWord )
+-
+- Capitalize_Word( ${CONFIG} CONFIG )
+-
+- if(( NOT CONFIG STREQUAL "Debug" ) AND (NOT CONFIG STREQUAL "Release" ))
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Define the "Debug" or "Release" build type
+- #--------------------------------------------------------------------------
+-
+- if( CONFIG STREQUAL "Debug" )
+- set( CMAKE_BUILD_TYPE "Debug" CACHE PATH "" FORCE )
+- set( DBGCHAR "d" )
+- elseif( CONFIG STREQUAL "Release" )
+- set( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE PATH "" FORCE )
+- set( DBGCHAR "" )
+- endif()
+-
+- trace( CMAKE_BUILD_TYPE )
+-
+- #--------------------------------------------------------------------------
+- # Now split the first part into the base package/product name
+- # and build architecture (32-bit ot 64-bit).
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${_xxxxx} _n )
+- if( ${_n} LESS 3 )
+- message( FATAL_ERROR "Invalid base package name! ${_xxxxx}" )
+- endif()
+-
+- math( EXPR _n "${_n} - 2" ) # (want the last two characters)
+-
+- string( SUBSTRING ${_xxxxx} 0 ${_n} BASENAME )
+- string( SUBSTRING ${_xxxxx} ${_n} -1 BITNESS )
+-
+- if( NOT BITNESS STREQUAL "32" AND
+- NOT BITNESS STREQUAL "64" )
+- message( FATAL_ERROR "Invalid package architecture! ${BITNESS}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Show results
+- #--------------------------------------------------------------------------
+-
+- set( SUFFIX "${BITNESS}${DBGCHAR}" )
+- set( FULLNAME "${BASENAME}${SUFFIX}" )
+-
+- trace( BASENAME )
+- trace( BITNESS )
+- trace( CONFIG )
+- trace( DBGCHAR )
+- trace( SUFFIX )
+- trace( FULLNAME )
+- trace( CMAKE_BINARY_DIR )
+-
+ #--------------------------------------------------------------------------
+ # Define the install directory
+ #--------------------------------------------------------------------------
+diff --git a/extra.txt b/extra.txt
+index dfb293d..6018eb6 100644
+--- a/extra.txt
++++ b/extra.txt
+@@ -2,10 +2,10 @@
+ # Define additional files to be installed
+ #------------------------------------------------------------------------------
+
+-install( FILES "softfloat.LICENSE.txt" DESTINATION . )
+-install( FILES "softfloat.README.txt" DESTINATION . )
+-install( FILES "softfloat.README.html" DESTINATION . )
+-install( DIRECTORY "doc/" DESTINATION doc )
++install( FILES "softfloat.LICENSE.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "softfloat.README.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "softfloat.README.html" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( DIRECTORY "doc/" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+
+ #------------------------------------------------------------------------------
+
diff --git a/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild
new file mode 100644
index 000000000000..562f9aca52d4
--- /dev/null
+++ b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-4.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Use ../hercules-sdl/files/gen_hashes.sh to identify the relevant
+# commit when tagging new versions.
+COMMIT="4b0c326008e174610969c92e69178939ed80653d"
+
+DESCRIPTION="Berkeley IEEE Binary Floating-Point Library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/SoftFloat"
+SRC_URI="https://github.com/SDL-Hercules-390/SoftFloat/archive/${COMMIT}.tar.gz -> SoftFloat-${COMMIT}.tar.gz"
+
+S="${WORKDIR}/SoftFloat-${COMMIT}"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild
new file mode 100644
index 000000000000..aa8e20b71b90
--- /dev/null
+++ b/app-emulation/hercules-sdl-softfloat/hercules-sdl-softfloat-9999.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 cmake
+
+DESCRIPTION="Berkeley IEEE Binary Floating-Point Library"
+HOMEPAGE="https://github.com/SDL-Hercules-390/SoftFloat"
+EGIT_REPO_URI="https://github.com/SDL-Hercules-390/SoftFloat"
+
+LICENSE="BSD"
+SLOT="0"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-softfloat/metadata.xml b/app-emulation/hercules-sdl-softfloat/metadata.xml
new file mode 100644
index 000000000000..36219eca3e6d
--- /dev/null
+++ b/app-emulation/hercules-sdl-softfloat/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Berkeley IEEE Binary Floating-Point Library for use by the SDL-Hercules-390 emulator
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/SoftFloat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/hercules-sdl-telnet/Manifest b/app-emulation/hercules-sdl-telnet/Manifest
new file mode 100644
index 000000000000..a5e4cdf3a866
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/Manifest
@@ -0,0 +1 @@
+DIST telnet-729f0b688c1426018112c1e509f207fb5f266efa.tar.gz 67277 BLAKE2B 720b292adbe6c1273221d57f74018c08c529b5766dbe623f04af5b14ec3fa9c56f749395aa0f365da97b90a08549e378afbbd3634e4e11cd0418fa0f80d85a9c SHA512 e44df68cfba85b4f2e235c6b830cf89a10d66c635cfec933843c1695bdac33bf307b2e66c965a8b853723c2fd02419c40f80bcf6098be98f01472d9c3cebf1dd
diff --git a/app-emulation/hercules-sdl-telnet/files/cmakefix.patch b/app-emulation/hercules-sdl-telnet/files/cmakefix.patch
new file mode 100644
index 000000000000..76fd8513213a
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/files/cmakefix.patch
@@ -0,0 +1,155 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a316b76..50176f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,8 @@ cmake_minimum_required( VERSION 3.2 )
+
+ cmake_policy( SET CMP0048 NEW )
+
++include( GNUInstallDirs )
++
+ #------------------------------------------------------------------------------
+ # Define the project
+ #------------------------------------------------------------------------------
+@@ -131,8 +133,8 @@ set_target_properties( ${FULLNAME} PROPERTIES
+ COMPILE_PDB_NAME ${FULLNAME} )
+
+ install( TARGETS ${FULLNAME}
+- PUBLIC_HEADER DESTINATION include
+- ARCHIVE DESTINATION ${LIB_INSTALL_DIR} )
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/include
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/hercules-sdl/lib )
+
+
+ #------------------------------------------------------------------------------
+diff --git a/cmake/modules/ParseBinaryDir.cmake b/cmake/modules/ParseBinaryDir.cmake
+index 7983107..2ede77b 100644
+--- a/cmake/modules/ParseBinaryDir.cmake
++++ b/cmake/modules/ParseBinaryDir.cmake
+@@ -7,6 +7,8 @@ macro( ParseBinaryDir )
+ set( CMAKE_DISABLE_IN_SOURCE_BUILD ON )
+ set( CMAKE_DISABLE_SOURCE_CHANGES ON )
+
++ set( FULLNAME ${EXTPKG_NAME} )
++
+ #--------------------------------------------------------------------------
+ # Make sure they are not trying to do an "in source" build by making
+ # sure the cmake "binary" (build) directory is not a subdirectory of
+@@ -48,102 +50,6 @@ Remove the 'CMakeCache.txt' file and the entire 'CMakeFiles' directory and try a
+
+ TEST_BIG_ENDIAN( IS_BIG_ENDIAN )
+
+- #--------------------------------------------------------------------------
+- # Split the binary build directory into its constituent components.
+- # Refer to the "BUILDING" document for more information.
+- #--------------------------------------------------------------------------
+-
+- get_filename_component( BINARY_HLQ "${CMAKE_BINARY_DIR}" DIRECTORY )
+- get_filename_component( BINARY_DIR "${CMAKE_BINARY_DIR}" NAME )
+-
+- trace( BINARY_HLQ )
+- trace( BINARY_DIR )
+-
+- string( FIND ${BINARY_DIR} " " _n )
+- if( NOT ${_n} EQUAL -1 )
+- message( FATAL_ERROR "Build directory name cannot have spaces! ${BINARY_DIR}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # First, split it into two parts: before the dot and after the dot
+- #--------------------------------------------------------------------------
+-
+- string( REGEX MATCH "([^\\.]*)" _xxxxx ${BINARY_DIR} )
+- string( REGEX MATCH "([^.]*\$)" CONFIG ${BINARY_DIR} )
+-
+- trace( _xxxxx )
+- trace( CONFIG )
+-
+- #--------------------------------------------------------------------------
+- # The second part tells us if this is a "Debug" or "Release" build.
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${CONFIG} _n )
+- if( ${_n} LESS 1 )
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Capitalize "Debug" and "Release" for Visual Studio compatibility.
+- #--------------------------------------------------------------------------
+-
+- include( CapitalizeWord )
+-
+- Capitalize_Word( ${CONFIG} CONFIG )
+-
+- if(( NOT CONFIG STREQUAL "Debug" ) AND (NOT CONFIG STREQUAL "Release" ))
+- message( FATAL_ERROR "Invalid Release/Debug build type! ${CONFIG}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Define the "Debug" or "Release" build type
+- #--------------------------------------------------------------------------
+-
+- if( CONFIG STREQUAL "Debug" )
+- set( CMAKE_BUILD_TYPE "Debug" CACHE PATH "" FORCE )
+- set( DBGCHAR "d" )
+- elseif( CONFIG STREQUAL "Release" )
+- set( CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE PATH "" FORCE )
+- set( DBGCHAR "" )
+- endif()
+-
+- trace( CMAKE_BUILD_TYPE )
+-
+- #--------------------------------------------------------------------------
+- # Now split the first part into the base package/product name
+- # and build architecture (32-bit ot 64-bit).
+- #--------------------------------------------------------------------------
+-
+- string( LENGTH ${_xxxxx} _n )
+- if( ${_n} LESS 3 )
+- message( FATAL_ERROR "Invalid base package name! ${_xxxxx}" )
+- endif()
+-
+- math( EXPR _n "${_n} - 2" ) # (want the last two characters)
+-
+- string( SUBSTRING ${_xxxxx} 0 ${_n} BASENAME )
+- string( SUBSTRING ${_xxxxx} ${_n} -1 BITNESS )
+-
+- if( NOT BITNESS STREQUAL "32" AND
+- NOT BITNESS STREQUAL "64" )
+- message( FATAL_ERROR "Invalid package architecture! ${BITNESS}" )
+- endif()
+-
+- #--------------------------------------------------------------------------
+- # Show results
+- #--------------------------------------------------------------------------
+-
+- set( SUFFIX "${BITNESS}${DBGCHAR}" )
+- set( FULLNAME "${BASENAME}${SUFFIX}" )
+-
+- trace( BASENAME )
+- trace( BITNESS )
+- trace( CONFIG )
+- trace( DBGCHAR )
+- trace( SUFFIX )
+- trace( FULLNAME )
+- trace( CMAKE_BINARY_DIR )
+-
+ #--------------------------------------------------------------------------
+ # Define the install directory
+ #--------------------------------------------------------------------------
+diff --git a/extra.txt b/extra.txt
+index dfb293d..6018eb6 100644
+--- a/extra.txt
++++ b/extra.txt
+@@ -2,8 +2,8 @@
+ # Define additional files to be installed
+ #------------------------------------------------------------------------------
+
+-install( FILES "telnet.LICENSE.txt" DESTINATION . )
+-install( FILES "telnet.README.txt" DESTINATION . )
++install( FILES "telnet.LICENSE.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( FILES "telnet.README.txt" DESTINATION ${CMAKE_INSTALL_DOCDIR} )
+
+ #------------------------------------------------------------------------------
+
diff --git a/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild
new file mode 100644
index 000000000000..edd973959b15
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-4.7.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Use ../hercules-sdl/files/gen_hashes.sh to identify the relevant
+# commit when tagging new versions.
+COMMIT="729f0b688c1426018112c1e509f207fb5f266efa"
+
+DESCRIPTION="Simple RFC-complient TELNET implementation"
+HOMEPAGE="https://github.com/SDL-Hercules-390/telnet"
+SRC_URI="https://github.com/SDL-Hercules-390/telnet/archive/${COMMIT}.tar.gz -> telnet-${COMMIT}.tar.gz"
+
+S="${WORKDIR}/telnet-${COMMIT}"
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild
new file mode 100644
index 000000000000..f819096dd87c
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/hercules-sdl-telnet-9999.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 cmake
+
+DESCRIPTION="Simple RFC-complient TELNET implementation"
+HOMEPAGE="https://github.com/SDL-Hercules-390/telnet"
+EGIT_REPO_URI="https://github.com/SDL-Hercules-390/telnet"
+
+LICENSE="public-domain"
+SLOT="0"
+PATCHES=( "${FILESDIR}/cmakefix.patch" )
diff --git a/app-emulation/hercules-sdl-telnet/metadata.xml b/app-emulation/hercules-sdl-telnet/metadata.xml
new file mode 100644
index 000000000000..7514393f2230
--- /dev/null
+++ b/app-emulation/hercules-sdl-telnet/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Simple RFC-complient TELNET implementation for use by the SDL-Hercules-390 emulator
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/telnet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/hercules-sdl/Manifest b/app-emulation/hercules-sdl/Manifest
new file mode 100644
index 000000000000..ef0e4456cb66
--- /dev/null
+++ b/app-emulation/hercules-sdl/Manifest
@@ -0,0 +1 @@
+DIST hercules-sdl-4.7.tar.gz 25439384 BLAKE2B 78a8d2df947c80e23d0e956a25a4f009dd32b09f2834cc06373f685badf9f1e657bf0f4e4408c7085371c46085718998076f3a6063caf80c9161b1fa7caa91eb SHA512 9d7060c4e2687358b9547b59b47362d642cbf2bf009085fdd41e485170d0f81029ee3d04d12b905a3a266cd26a9087e92c231c3f4600c32a8535a6140656b7b0
diff --git a/app-emulation/hercules-sdl/files/gen_hashes.sh b/app-emulation/hercules-sdl/files/gen_hashes.sh
new file mode 100644
index 000000000000..bb499392a4a5
--- /dev/null
+++ b/app-emulation/hercules-sdl/files/gen_hashes.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+
+[[ -z "${1}" ]] && exit 1
+[[ "${1}" =~ [0-9]+\.[0-9]+\.[0-9]+ ]] || exit 1
+
+CLONEDIR="$(mktemp -d)"
+for f in "hyperion" "crypto" "decNumber" "SoftFloat" "telnet"
+do
+ git -C "${CLONEDIR}" clone --tags "https://github.com/SDL-Hercules-390/${f}"
+done
+
+VERSIONARR=( ${1//./ })
+VERSIONTAG="Release_${VERSIONARR[0]}.${VERSIONARR[1]}"
+[[ "${VERSIONARR[2]}" == "0" ]] || VERSIONTAG=".${VERSIONARR[2]}"
+RELEASEDATE="$(git -C "${CLONEDIR}/hyperion" show -s --format="%ci" "${VERSIONTAG}")"
+
+echo
+for f in "crypto" "decNumber" "SoftFloat" "telnet"
+do
+ echo -n "${f,,}: "
+ git -C "${CLONEDIR}/${f}" rev-list -n 1 --first-parent --before="${RELEASEDATE}" master
+done
+
+rm -rf "${CLONEDIR}"
diff --git a/app-emulation/hercules-sdl/files/hercules-sdl-4.4.1-htmldir.patch b/app-emulation/hercules-sdl/files/hercules-sdl-4.4.1-htmldir.patch
new file mode 100644
index 000000000000..50b30cca91dd
--- /dev/null
+++ b/app-emulation/hercules-sdl/files/hercules-sdl-4.4.1-htmldir.patch
@@ -0,0 +1,29 @@
+diff --git a/html/Makefile.am b/html/Makefile.am
+index b4d21d0..1e5af4c 100644
+--- a/html/Makefile.am
++++ b/html/Makefile.am
+@@ -1,5 +1,5 @@
+
+-dist_pkgdata_DATA = \
++dist_html_DATA = \
+ cckddasd.html \
+ fishgui.html \
+ hercconf.html \
+@@ -62,7 +62,7 @@ include_sources = \
+ include/footer.htmlpart \
+ include/header.htmlpart
+
+-include_pkgdatadir = $(pkgdatadir)/include
++include_pkgdatadir = $(htmldir)/include
+
+ dist_include_pkgdata_DATA = $(include_sources)
+
+@@ -120,7 +120,7 @@ images_sources = \
+ images/waitoffu.gif \
+ images/waitonu.gif
+
+-images_pkgdatadir = $(pkgdatadir)/images
++images_pkgdatadir = $(htmldir)/images
+
+ dist_images_pkgdata_DATA = $(images_sources)
+
diff --git a/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild b/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild
new file mode 100644
index 000000000000..336396af8692
--- /dev/null
+++ b/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools fcaps
+
+DESCRIPTION="The SoftDevLabs (SDL) version of the Hercules 4.x Hyperion Emulator"
+HOMEPAGE="https://sdl-hercules-390.github.io/html/"
+SRC_URI="https://github.com/SDL-Hercules-390/hyperion/archive/refs/tags/Release_${PV/.0/}.tar.gz -> ${P/.0/}.tar.gz"
+
+S="${WORKDIR}/hyperion-Release_${PV/.0/}"
+LICENSE="QPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+# In theory USE=object-rexx and USE=regina-rexx are not mutually-exclusive.
+# In practice they functionally are as the Gentoo packages conflict, and
+# additionally Hercules only supports calling out to one of them at runtime,
+# controlled by the HREXX_PACKAGE environment variable.
+IUSE="bzip2 debug object-rexx regina-rexx test"
+RESTRICT="!test? ( test )"
+FILECAPS=(
+ -M 755 cap_sys_nice\=eip usr/bin/hercules --
+ -M 755 cap_sys_nice\=eip usr/bin/herclin --
+ -M 755 cap_net_admin+ep usr/bin/hercifc
+)
+
+RDEPEND="
+ dev-libs/libltdl
+ net-libs/libnsl:0
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2 )
+ object-rexx? ( dev-lang/oorexx )
+ regina-rexx? ( dev-lang/regina-rexx )"
+DEPEND="${RDEPEND}
+ ~app-emulation/hercules-sdl-crypto-${PV}
+ ~app-emulation/hercules-sdl-decnumber-${PV}
+ ~app-emulation/hercules-sdl-softfloat-${PV}
+ ~app-emulation/hercules-sdl-telnet-${PV}"
+# Neither package support needs to be compiled-in for tests,
+# but the "rexx" command needs to be available
+BDEPEND="${RDEPEND}
+ test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )"
+
+PATCHES=( "${FILESDIR}/${PN}-4.4.1-htmldir.patch" )
+
+src_prepare() {
+ rm -rf crypto decNumber SoftFloat telnet || die
+ sed -i 's#/lib${hc_cv_pkg_lib_subdir}#/lib#g' configure.ac || die
+ sed -i 's#_pkgname}${hc_cv_pkg_lib_suffix}#_pkgname}#g' configure.ac || die
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
+ econf \
+ $(use_enable bzip2 cckd-bzip2) \
+ $(use_enable bzip2 het-bzip2) \
+ $(use_enable object-rexx) \
+ $(use_enable regina-rexx) \
+ $(use_enable debug) \
+ --enable-custom="Gentoo ${PF}.ebuild" \
+ --disable-optimization \
+ --disable-setuid-hercifc \
+ --disable-capabilities \
+ --enable-ipv6 \
+ --enable-enhanced-configincludes \
+ --disable-fthreads \
+ --enable-shared \
+ --enable-automatic-operator \
+ --enable-extpkgs="${SYSROOT}/usr/$(get_libdir)/${PN}"
+}
+
+src_install() {
+ default
+ dodoc RELEASE.NOTES
+
+ insinto /usr/share/hercules
+ doins hercules.cnf
+
+ # No static archives. Have to leave .la files for modules. #720342
+ find "${ED}/usr/$(get_libdir)" -name "*.la" -delete || die
+}
diff --git a/app-emulation/hercules-sdl/metadata.xml b/app-emulation/hercules-sdl/metadata.xml
new file mode 100644
index 000000000000..c7d581937769
--- /dev/null
+++ b/app-emulation/hercules-sdl/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>matoro_gentoo@matoro.tk</email>
+ <name>Matoro Mahri</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ This version of Hercules 4.x Hyperion is a SoftDevLabs maintained version of the Hercules emulator containing fixes made by David B. Trout and others for bugs that may still exist in the original hercules-390 version of Hercules 4.0 Hyperion, as well as enhancements and improvements to the overall functionality above and beyond what is provided by the hercules-390 version of Hercules.
+ </longdescription>
+ <use>
+ <flag name="object-rexx">Enable REXX support via Open Object Rexx (<pkg>dev-lang/oorexx</pkg>)</flag>
+ <flag name="regina-rexx">Enable REXX support via Regina Rexx (<pkg>dev-lang/regina-rexx</pkg>)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">SDL-Hercules-390/hyperion</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/hercules/Manifest b/app-emulation/hercules/Manifest
index a21a461a5411..9d2aef8825b5 100644
--- a/app-emulation/hercules/Manifest
+++ b/app-emulation/hercules/Manifest
@@ -1,3 +1 @@
-DIST hercules-3.10.tar.gz 2608321 BLAKE2B df6dd9c93531ee3d68efbfad5b0152ef984e1804e211861e86ea5f7b271081abbd29664d4e97d0e887af10315549bdd7e890ec741baa7b69336f1f08be63c6cf SHA512 de8b3e2e90fdb745dea9c8ce4dbe506de2aba3bf08b3e937605798e6a8020576a949d6ea3496b7c42bd23d617fc96648d2d8ec05a66e8ed174ce46a3bc31c5d1
-DIST hercules-3.12.tar.gz 2569617 BLAKE2B e6b6dc2406bc198e25ddcbdc5dbf141e52cd15ddd690711fdd4ed69ca5baaddd582c437e28aa7793ac667c03f7617adb3bdf3a00cc7c3a28e3f28984f665eb9a SHA512 81d6e151c1c8534753f2db532a0a7bd36fb3806c1ffbab5d6e4a9af3eecea46b95105c37574910714dcfc0fe9b74a72140d573099c24fd44021159ce697414ef
DIST hercules-3.13.tar.gz 2640742 BLAKE2B 1a84ceab346a591c494fb133d1654ffa73e44f73183564167a74f68eb3e5f3f187cc2f66cef444b951645fa85c111da261b9dd8907594ccb770f5b743f891649 SHA512 76f75ef3f1eb10c0fac0d6fa1ab9809b8d1dfe3deccbcd69366b05ee58f1ecb8ea0f387f7201ab4722b121478676f00e707ad27b6ecf1980fb09e900de63d718
diff --git a/app-emulation/hercules/files/hercules-3.09-aliasing.patch b/app-emulation/hercules/files/hercules-3.09-aliasing.patch
deleted file mode 100644
index 3d03e9b6dc1b..000000000000
--- a/app-emulation/hercules/files/hercules-3.09-aliasing.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7d3255a18ad845953cc8083371e8623e771ad4f5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 27 Aug 2013 12:25:49 -0400
-Subject: [PATCH] sha: fix strict aliasing warnings
-
-sha256.c:492:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-sha256.c:784:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-sha256.c:785:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- crypto/sha256.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/crypto/sha256.c b/crypto/sha256.c
-index 1a6a243..b1e90b4 100644
---- a/crypto/sha256.c
-+++ b/crypto/sha256.c
-@@ -489,7 +489,7 @@ SHA256_Final(u_int8_t digest[], SHA256_CTX *context)
- *context->buffer = 0x80;
- }
- /* Set the bit count: */
-- *(u_int64_t *)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
-+ memcpy (&context->buffer[SHA256_SHORT_BLOCK_LENGTH], &context->bitcount, 8);
-
- /* Final transform: */
- SHA256_Transform(context, context->buffer);
-@@ -781,8 +781,8 @@ SHA512_Last(SHA512_CTX *context)
- *context->buffer = 0x80;
- }
- /* Store the length of input data (in bits): */
-- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
-- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
-+ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH], &context->bitcount[1], 8);
-+ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8], &context->bitcount[0], 8);
-
- /* Final transform: */
- SHA512_Transform(context, context->buffer);
---
-1.8.3.2
-
diff --git a/app-emulation/hercules/files/hercules-3.13-posix-test.patch b/app-emulation/hercules/files/hercules-3.13-posix-test.patch
new file mode 100644
index 000000000000..abee4b0cc5ed
--- /dev/null
+++ b/app-emulation/hercules/files/hercules-3.13-posix-test.patch
@@ -0,0 +1,29 @@
+https://github.com/rbowler/spinhawk/pull/106
+
+From 9a9f7182069b8fe0483383c177882218244bad16 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 18 Nov 2021 02:32:02 -0500
+Subject: [PATCH] avoid bashism in test call
+
+POSIX test only supports =, not ==.
+---
+ autoconf/hercules.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f12d47058562..8dd420af8d13 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -562,7 +562,7 @@ AC_CHECK_DECLS( SIOCADDRT, [hc_cv_have_siocaddrt=yes], [hc_
+ AC_CHECK_DECLS( SIOCDELRT, [hc_cv_have_siocdelrt=yes], [hc_cv_have_siocdelrt=no], [#include <linux/sockios.h>] )
+ AC_CHECK_DECLS( SIOCDIFADDR, [hc_cv_have_siocdifaddr=yes], [hc_cv_have_siocdifaddr=no], [#include <linux/sockios.h>] )
+
+-if test "$hc_cv_have_sys_mtio_h" == "yes"; then
++if test "$hc_cv_have_sys_mtio_h" = "yes"; then
+ AC_CHECK_DECLS( MTEWARN, [hc_cv_have_mtewarn=yes], [hc_cv_have_mtewarn=no], [#include <sys/mtio.h>] )
+ else
+ hc_cv_have_mtewarn=no
+--
+2.33.0
+
diff --git a/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
index 7aec7f602de4..c96831d96ad2 100644
--- a/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
+++ b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
@@ -282,7 +282,7 @@
DYNMOD_LD_FLAGS =
DYNMOD_LD_ADD =
LIB_LD_FLAGS = $(XSTATIC) \
-@@ -295,8 +295,7 @@
+@@ -295,12 +295,11 @@
memrchr.c \
parser.c \
pttrace.c \
@@ -292,6 +292,11 @@
libhercu_la_LDFLAGS = $(LIB_LD_FLAGS)
+- libhercu_la_LIBADD = $(LDADD) libhercs.la
++ libhercu_la_LIBADD = $(LDADD) libhercs.la $(LIB_LD_ADD)
+
+ #
+ # Core Hercules (shared) library
@@ -372,8 +371,7 @@
memrchr.c \
$(dynamic_SRC) \
@@ -345,3 +350,30 @@
LIB_LD_FLAGS = $(XSTATIC) \
-no-undefined \
-avoid-version
+--- a/autoconf/hercules.m4
++++ b/autoconf/hercules.m4
+@@ -270,7 +270,7 @@
+
+ else
+
+- if test $(./libtool --features | fgrep "enable shared libraries" | wc -l) -ne 1; then
++ if test "$enable_shared" != "yes"; then
+
+ # Libtool doesn't support shared libraries,
+ # and thus our wrapper kludge is not needed.
+@@ -280,11 +280,11 @@
+ }
+ DUPGETOPT2
+
+- ./libtool --mode=compile ${CC-cc} conftest1.c -c -o conftest1.lo > /dev/null 2>&1
+- ./libtool --mode=compile ${CC-cc} conftest2.c -c -o conftest2.lo > /dev/null 2>&1
++ libtool --mode=compile ${CC-cc} conftest1.c -c -o conftest1.lo > /dev/null 2>&1
++ libtool --mode=compile ${CC-cc} conftest2.c -c -o conftest2.lo > /dev/null 2>&1
+
+- ./libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest1.lo -o libconftest1.la > /dev/null 2>&1
+- ./libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest2.lo libconftest1.la -o libconftest2.la > /dev/null 2>&1
++ libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest1.lo -o libconftest1.la > /dev/null 2>&1
++ libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest2.lo libconftest1.la -o libconftest2.la > /dev/null 2>&1
+
+ if test $? = 0; then
+
diff --git a/app-emulation/hercules/files/hercules-3.13-user-install.patch b/app-emulation/hercules/files/hercules-3.13-user-install.patch
new file mode 100644
index 000000000000..bcde1181e873
--- /dev/null
+++ b/app-emulation/hercules/files/hercules-3.13-user-install.patch
@@ -0,0 +1,21 @@
+the ebuild will handle these, so no need to do it directly which will fail when
+building as non-root.
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -730,15 +730,6 @@ endif
+ (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cfba2fba$(EXEEXT))
+ rm -f $(DESTDIR)$(bindir)/cckd2ckd$(EXEEXT)
+ (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cckd2ckd$(EXEEXT))
+-if SETUID_HERCIFC
+- chown root $(DESTDIR)$(bindir)/hercifc
+-if HERCIFC_GROUPSET
+- chgrp $(HERCIFC_GROUPNAME) $(DESTDIR)$(bindir)/hercifc
+-endif
+- chmod 0750 $(DESTDIR)$(bindir)/hercifc
+- chmod +s $(DESTDIR)$(bindir)/hercifc
+- rm hercifc
+-endif
+
+ uninstall-local:
+
diff --git a/app-emulation/hercules/hercules-3.12.ebuild b/app-emulation/hercules/hercules-3.12.ebuild
deleted file mode 100644
index ea0d3fecd24e..000000000000
--- a/app-emulation/hercules/hercules-3.12.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
-HOMEPAGE="http://www.hercules-390.eu/"
-SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz"
-
-LICENSE="QPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos"
-IUSE="bzip2 custom-cflags +suid"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- net-libs/libnsl:0=
- sys-libs/zlib"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.09-aliasing.patch
-)
-
-src_prepare() {
- default
-
- # The local modules need local libs, so when doing a parallel install
- # of the modules and libs breaks during relinking. Force the libs to
- # install first, and then the modules that use those libs. #488126
- echo "install-modexecLTLIBRARIES: install-libLTLIBRARIES" >> Makefile.in || die
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \
- econf \
- $(use_enable bzip2 cckd-bzip2) \
- $(use_enable bzip2 het-bzip2) \
- $(use_enable suid setuid-hercifc) \
- --enable-custom="Gentoo ${PF}.ebuild" \
- --disable-optimization
-}
-
-src_install() {
- default
- insinto /usr/share/hercules
- doins hercules.cnf
- dodoc README.* RELEASE.NOTES
- docinto html
- dodoc -r html
-}
diff --git a/app-emulation/hercules/hercules-3.10.ebuild b/app-emulation/hercules/hercules-3.13-r1.ebuild
index 2759a92bd42b..608739f4b314 100644
--- a/app-emulation/hercules/hercules-3.10.ebuild
+++ b/app-emulation/hercules/hercules-3.13-r1.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="7"
-inherit flag-o-matic
+inherit autotools flag-o-matic
DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
HOMEPAGE="http://www.hercules-390.eu/"
@@ -14,18 +14,27 @@ SLOT="0"
KEYWORDS="~alpha amd64 ppc sparc x86 ~x64-macos"
IUSE="bzip2 custom-cflags +suid"
-RDEPEND="bzip2? ( app-arch/bzip2 )
+RDEPEND="
+ dev-libs/libltdl:=
net-libs/libnsl:0=
- sys-libs/zlib"
+ sys-libs/zlib:=
+ bzip2? ( app-arch/bzip2:= )"
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${PN}-3.09-aliasing.patch
+ "${FILESDIR}"/${PN}-3.13-htmldir.patch
+ "${FILESDIR}"/${PN}-3.13-posix-test.patch
+ "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch
+ "${FILESDIR}"/${PN}-3.13-user-install.patch
)
src_prepare() {
default
+ # delete bundled libltdl, #252716
+ rm ltdl.{c,h} || die
+ eautoreconf
+
# The local modules need local libs, so when doing a parallel install
# of the modules and libs breaks during relinking. Force the libs to
# install first, and then the modules that use those libs. #488126
@@ -34,7 +43,7 @@ src_prepare() {
src_configure() {
use custom-cflags || strip-flags
- ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \
+ local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
econf \
$(use_enable bzip2 cckd-bzip2) \
$(use_enable bzip2 het-bzip2) \
@@ -45,9 +54,13 @@ src_configure() {
src_install() {
default
+ dodoc RELEASE.NOTES
+
+ use suid && fperms 4711 /usr/bin/hercifc
+
insinto /usr/share/hercules
doins hercules.cnf
- dodoc README.* RELEASE.NOTES
- docinto html
- dodoc -r html
+
+ # No static archives. Have to leave .la files for modules. #720342
+ rm "${ED}/usr/$(get_libdir)/"*.la || die
}
diff --git a/app-emulation/hercules/hercules-3.13.ebuild b/app-emulation/hercules/hercules-3.13.ebuild
deleted file mode 100644
index 1131976ea5ea..000000000000
--- a/app-emulation/hercules/hercules-3.13.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
-HOMEPAGE="http://www.hercules-390.eu/"
-SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz"
-
-LICENSE="QPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos"
-IUSE="bzip2 custom-cflags +suid"
-
-RDEPEND="
- dev-libs/libltdl
- net-libs/libnsl:0=
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.13-htmldir.patch
- "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch
-)
-
-src_prepare() {
- default
-
- # delete bundled libltdl, #252716
- rm ltdl.{c,h} || die
- eautoreconf
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
- econf \
- $(use_enable bzip2 cckd-bzip2) \
- $(use_enable bzip2 het-bzip2) \
- $(use_enable suid setuid-hercifc) \
- --enable-custom="Gentoo ${PF}.ebuild" \
- --disable-optimization
-}
-
-src_install() {
- default
- dodoc RELEASE.NOTES
-
- insinto /usr/share/hercules
- doins hercules.cnf
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/app-emulation/hercules/metadata.xml b/app-emulation/hercules/metadata.xml
index cb2f36c44dd8..d03df75ce618 100644
--- a/app-emulation/hercules/metadata.xml
+++ b/app-emulation/hercules/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>s390@gentoo.org</email>
- <name>Gentoo Linux s390 Development</name>
+ <name>s390 architecture team</name>
</maintainer>
<longdescription>
Hercules is an emulator for the IBM System/360, System/370, ESA/390, and
diff --git a/app-emulation/hyperd/metadata.xml b/app-emulation/hyperd/metadata.xml
index 2babf919ffdd..8367f3593c1c 100644
--- a/app-emulation/hyperd/metadata.xml
+++ b/app-emulation/hyperd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/app-emulation/img/Manifest b/app-emulation/img/Manifest
deleted file mode 100644
index 826d1fc1b58f..000000000000
--- a/app-emulation/img/Manifest
+++ /dev/null
@@ -1,514 +0,0 @@
-DIST bazil.org%2Ffuse%2F@v%2Fv0.0.0-20160811212531-371fbbdaa898.mod 22 BLAKE2B c2b56c0b043a2c0225c3b4142f179a2d2e4938dad64b95c8662a6d641e69a455b50ed79c66a3bcc10982792d3b7742ac96a2d74eefa7fec40a7c3146e5c949cd SHA512 7b3ef87f98485bb9ec325680f57d43a9bd76e90bdcfb1e798458f28f7d3addf91dbb6a07b654749468860981413ad2267df2d5f3535c85579e9f79d9328d355c
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST github.com%2F!akihiro!suda%2Fcontainerd-fuse-overlayfs%2F@v%2Fv0.0.0-20200220082720-bb896865146c.mod 1056 BLAKE2B c85fe160fcc992da8aced9b0b8430782069b6d97a614645b2b005fd2a798c296bf6689321768d7d8796ce502232071f715f4b33fc2fe51c6252fa67be1e78a93 SHA512 885c07825c23ecf41cc3b757a44996da9ccc3868059a5123ee77ff9d6387d4b1fe860706569d08d1fe7149de440056a200c2d500a90cee8c89fdc9f6ae519c45
-DIST github.com%2F!akihiro!suda%2Fcontainerd-fuse-overlayfs%2F@v%2Fv1.0.0.mod 795 BLAKE2B 89ad929eba129f42030bfdfc1d57971763092640f3d978d365fb929ea8b071549bdf857036978692a1e347581ada83ed837712d810a31a8e75f06e236bef293a SHA512 668f03da10a3ac27bdefe9b28b8d80fcdf9b3eaaf242bc93fe23a16925a8f496de748741c5361cd47e7ddfb4c94e968dec5651ce9df74f3ad3ba85e5c7db544b
-DIST github.com%2F!akihiro!suda%2Fcontainerd-fuse-overlayfs%2F@v%2Fv1.0.0.zip 27458 BLAKE2B 2bda425a75d82b666a7afa64ac1db2155ac40facea587d020e8fcc6fd44ef7312482bc3cdf0e4d265304cc9b1873bbff6a9d1766643ab0fec5c39a9aa92de046 SHA512 08b8a72567896dd12bfdcc809ec76d3418bc564550582b3e493bd9b2fa99a7340ba8b656ed7c3fa7b38ab5c39c5aafb50a87a67c73f22967022f75c5fd9e07c6
-DIST github.com%2F!azure%2Fazure-sdk-for-go%2F@v%2Fv16.2.1+incompatible.mod 41 BLAKE2B de145bd0fb63d51b475e0f5d293b9957a170a7c7c206f1cf2d8eb9abdb67a80051b25116b68c5f450bcc8163bb942d34d9bd4ed0b41f4e06d0d510d9b1aeff55 SHA512 be976846ed78cec5b19618c7364c47e66c3475519bed166ad1e6b666399ea08028fa621869ab4980981fc70256acc9a7dd1c1e52c8d3d44cb0ac75f9907b6d3e
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.mod 36 BLAKE2B 52a2c5272e004524397df00dfa03b4c2d2ebd985a0c974236aad6b847d6b2b4b7c9b69ef48e263f4c67983b845b020d2004fe749b46fee3c0525da0416b20f3e SHA512 350a16c68553738ce8c2f4a6ac8beba66a7dcf2386a42aff938ebaa3bdc526bda8e5c51c493331eda4666cbcf8411ee7ca3aeb0768cc4f557f34585960f9eb84
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.zip 32735 BLAKE2B 5de266d7400ae80c027f209cea91c911e22b0ff4fc6a2e964e8906f1a86cc6905b9c12d2588d5fdc91d0d8e9501a0ddf2f7a376cca9935d21943386c3ef31979 SHA512 72621865ffc0cadd27603e2f4032f1cd9c9d8bdcb920b3ca9fd02dbf88e52876a6f092c5b74eceb136021c514b68dc599f0cbbf18ed1620b827d46462aa55e32
-DIST github.com%2F!azure%2Fgo-autorest%2F@v%2Fv10.8.1+incompatible.mod 36 BLAKE2B 71643bf27cc23617d54777e18c77d9015af83e9e9c1ec846c333d91760e70e57e51e3b9fb0b6ec8bae5140893237ae6f08bfd6a50b452145d6bd635a4abfec12 SHA512 d7c80a07fa3633acb681d54fae5743c6aab0d5f1f9e1edc3f7037a7abcf12c5536c524e856f9ea3d876b2b0fdf2884fa307ed16fd9758aba17a3d28766df1377
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.11.mod 37 BLAKE2B 21cbcf43ce9e4dc3485c260f4b20ae34fa1aa41676ccdc1f4bd28fdbd9402db8c1f77d4c644e5044a0f2cc44e06a6109791f6d6cc4620b32e1d2c36426df65a5 SHA512 752909cad98e7eafe9ff00951c27d955242d3d76c99c3e52427987f1c81720af76ad1da5e4d67e31bc192822b7de299edeb2077b248c0f070b6adfde4e9b8ec2
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.14.mod 177 BLAKE2B 1b5b5169436173ec669c16023c6993e233f5fadbb574533e7e2db2140c2db22cd9b8697135a46fe7d8787b8e5ae8c16019f15e5cd7a8c4ad59a46f6e6db9bb5e SHA512 83b5d04d488db971f78cd1853903e7f5cb1d547d5b5270bcaf35aff4240f0b96c300ce311014775028e1424c6fad714991c27f0c676d8b8eb37aaa62330450ec
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20190919025122-fc70bd9a86b5.mod 177 BLAKE2B f2d2eb41aaa0f3f47a75ab260a461e6df690c34e7e817ec61afc7854ae26bec641cddf4f4481b5b3b27394e303d1fb1c4a9864f4de2d6c01f33e3fa0521b05bc SHA512 584c9a707b6115caac28ff373974faa59d12531962997f9640a4172b020f72c5d527355f035449a767d65ce426fc9705c143a7bd8afb5058c9ece241c9ad5d1f
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20190919025122-fc70bd9a86b5.zip 162259 BLAKE2B 71daa9e2a01282e0f29e7f47081f8e5cebb59a31837b2e70b2b52d1ab371b351f6f00a8a0cdf33efaf0529f6ea5e0230ef9a35209dcd7600ad1204cadefa53a2 SHA512 31cef74693dcc7ff3e5e3542654b4174eb8ce7fd3a8a763df52414c99e01679404f2a5e6a1ab9cdbfed958b588e6584feeb8676ef9e149c4d24ae095dd654b64
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.6.mod 36 BLAKE2B b225c59078b955a08b32e04bef09ef99df1befd791c66b6e8c1e97c820aa16bba520e2d9f31af170cfec4546a53b9f49eb59112e3ad5cb9f4ec1e32c570576cd SHA512 3035f5c6d6b72168b77140776f5a15d9ec7a81bacb1f0433d4595ad240c79d69466c6e2e4b2c025b30af68c88ebebe4fd011b04a8a82789401af4503a9cee29e
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.7.mod 1988 BLAKE2B e89ecdb4644e50e2cd545eb43452729d909745705f5254a59547420baf3da357e77bf5d73b220da6899fe08a4eb034b0d1815702dceda20ada57e277b83b9954 SHA512 67df97dbec1c4a0c0f84551ea80df88a827c9ff4467614ef61544a611e19de6d063af40cf33673621f2e52e198595b61c8d6e5d732fe87f00eb7c5bd653e0399
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.7.zip 552856 BLAKE2B ec7ad9c6e4c49c04f8aaca1c42e198027e5db5abd79ed84f1bc8dcef2e26d3e386e02554285b666eaed6dae5ac9bec5f0e9c01cb703585921f2834cd8f49b65e SHA512 5d4575dc4e98137cfacd463cabbaefe2df0e49b81af900e9c43d2f98fe2aa4a02323e395b390bdf4c05bdb1d470f8fd2f2766123d27360541f249cde5e91c738
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.9.mod 1715 BLAKE2B 2404c8d3fa21fbaaa7f43c4799c320c9c251dfe3f630f7b6d85696c270baa6c4cb017087a4ddc7f7da0b29b94239fc20399616ef1c5f3ce76f05e937779425da SHA512 9d9ed47cb1b8c51ddf79159682aeb99a043532f912514c2ef6574883f5bcb24f1c77c8cdc6238eba436bf3a6ffd095e53956ea1b28eef9fb5dec3646b5549efe
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.9.zip 477269 BLAKE2B c47ecb41bf2d747e9df605dd7021361f2f3db6107a17dc78cb394effbd565cecdf08abcb29a7788161c5f06c4cc99779b2481abd394412ef561eca8ca4723429 SHA512 9ee1a4d8f9ee1e8a1f75904114073c1a0d2d936d39ea453c924e7a602a02881dfbe580742299e069dcb97883528b13b45b89423f940cf910cc0fc1b4b49a9aea
-DIST github.com%2F!nvveen%2F!gotty%2F@v%2Fv0.0.0-20120604004816-cd527374f1e5.mod 31 BLAKE2B a9858e56714c0ef3f20576058bbad347aa76d00379ba71c7944479abe032692c3f0d33303ca82ad6d140ff529b0c6bf23a844c4c0b8b655c4fd23f6df414ff02 SHA512 ee0d1ac5d8bed0498ae9b304c1f3b07566a2e192b6f7cf706b4d801e74e62ad3157b101be9878733b48a06d5aaec3ee916336c7f73bf155d63f606d039f8c6e5
-DIST github.com%2F!shopify%2Flogrus-bugsnag%2F@v%2Fv0.0.0-20171204204709-577dee27f20d.mod 41 BLAKE2B 3f9f665454c79b0807b44cf10f69fb0e5c31364865412f19d8b146fc9a0b12d7e5a6282812c7ac70940470a3ed3f2cd9c2e6bca7eb51e43a4b14ad5e723d76f3 SHA512 f9f36e700dbfd7c997b79e527ec2a4d91e5ccf2f4bc7ad6a9298a9cbebe05263bcf8776bd2f3dd258f292790928a20cf45184e7af00140b2940af322897a59fc
-DIST github.com%2Fapache%2Fthrift%2F@v%2Fv0.0.0-20161221203622-b2a4d4ae21c7.mod 32 BLAKE2B f5b7273a6c32fd9eb6e4a8956477bac6cdc2a5415eb1dd5dfa5dbafb28f5f8d1cc477196a4c3347025d9c184bb68ab269f4622ae03a01516f5e9c67124a10776 SHA512 190c3c9b3fe9e247246976b3c916c2ff41da6cfc04091de1d050eb78badedb067d9e960c2295a17b167ceeaf27fa62d149b33a8794ff2bddacf93e9731660564
-DIST github.com%2Farmon%2Fconsul-api%2F@v%2Fv0.0.0-20180202201655-eb2c6b5be1b6.mod 35 BLAKE2B e9ca430f98cfcfdc5bc1e50ef421253011f21fe2a9a06b15b4b818f336c64a544ede9a8d1552740e85358fcb16a588345124b06fb2788951c24c9dd92c3b1cda SHA512 a0c76da94f068f583607520b728036f45ea071b727d3aee601eee712bd952b5f6c8cd5df1e1484195b07bb4c3b224771dda1fc7848dcd086a6dc93ada3ff2ce8
-DIST github.com%2Faws%2Faws-sdk-go%2F@v%2Fv1.15.11.mod 145 BLAKE2B f28dde209c4d43940897c3dc758b088b19b38db865cba75b246477b497c1303301de7cfbfbea2a7eb1b124021967e4ead6dcfa8475ad240a7381bc7ec256b565 SHA512 00cbada20d24a2d08b1f06e0da060140820972c9718e707f0cce56ad62f1ab7344a969cefece18bee79f6b92dfc390e496d6a4af7c95eea0b66d27cc0f59f3f8
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20160804104726-4c0e84591b9a.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.zip 15013 BLAKE2B daecbcbb12a60a1423c4f419db44a0d63108fe622cf843593abb16fd75dcea703b3cf56f1c13433959eccbfb2a9bd5640f837f4be3296220366438dd7ed04f86 SHA512 44ccb3d6134742a80ac15830613c169d1b0d43e6ce40c2f2fdea07203bec134e1ba80dc57c6d14a007014ea141dca311b3ebe61b12d2181311665a9ffe83ca39
-DIST github.com%2Fbitly%2Fgo-simplejson%2F@v%2Fv0.5.0.mod 38 BLAKE2B f6ad4f22436471512ed4037c3f4c8dec4e0f7cb9191ddda23a2f5a5135785a6c5af99dd9005218bf196e0f48db755d040c894f6c5f2c1c338580597eca5eecd8 SHA512 05b70033a965ce6a70ea5fe7c635768c2c665942e04b17e47fba03b70cd977a8cbc292faacc3e10bd785523a43c61d42811c20513669592f308830863cfab56d
-DIST github.com%2Fblang%2Fsemver%2F@v%2Fv3.1.0+incompatible.mod 31 BLAKE2B 15785a01a9f07d2cfe324a1ece5c8188395300b11821621fe13427b702cb9f452ebe125566c3c2648d2d83139add9ad6224d00536aaea7b16306eb62f67f8184 SHA512 5f7f52012aa82bdc43bd89d1491fbe00091299554bd85dbfc07f0cc757fcf44f4499df97a4f19c234ce70fbb7af0f4c54c13ffd547ef0a733365ea9c68dd0297
-DIST github.com%2Fbmizerany%2Fassert%2F@v%2Fv0.0.0-20160611221934-b7ed37b82869.mod 35 BLAKE2B 253b8f5c57339e04a68fcd945f25b655ae0d9b6a265fc3e02c9ab2a5cd0e41d68f5866e80aad321eda2e3fe0ae8b311ec0c4eb922d67e0c7f425ebff5d6dba69 SHA512 c19ab1ccc5297aae6bc7e3536b97091f3f877b1b76e5d93b89842e48ae3c9d4cf49a471ecf72ce6e2da001bd51ef3eb126a83bf5a35e50acc30a43db4d37c301
-DIST github.com%2Fbshuster-repo%2Flogrus-logstash-hook%2F@v%2Fv0.4.1.mod 53 BLAKE2B 099610d4ac9528646136a6214a5816a721da42afd273e8e2e7ce40bb4afde2ee7ee3de02e0c04a92808ebedba623d47715e61e8deac2bef77aa9eddce5bc1036 SHA512 fe08dc8aa742ec64dde4481a917d19c5a64d68ab7a373ad0e8a3064978f8c76c5429d9a18a4a52d0b49b035ca9a4b5f96a24fc86df475a1fd725f7cbc0da814b
-DIST github.com%2Fbugsnag%2Fbugsnag-go%2F@v%2Fv0.0.0-20141110184014-b1d153021fcd.mod 37 BLAKE2B 9dbf4e5a299c30b356177f7b76d96328e3f35affc49bbac79607fce63bcc72476a8220f773d3c5ae9a6aa0d5fa567b10e6392c68036aef5218253d409dfbc244 SHA512 ebe7fe07551e5a485d47502d69cf84978be13de26484f7541945be2113698bf11ee375a19718cc01af81074ada64803ce8ab78a5bc08fc389eae78fd9455572e
-DIST github.com%2Fbugsnag%2Fosext%2F@v%2Fv0.0.0-20130617224835-0dd3f918b21b.mod 32 BLAKE2B 879ed9071c4044f638be3ff367074c7b456ebdd04a6b298b81240662e105635e778f6668870ea711daa2be5bf45086511170df20a43f811d41cb5b1ea439169e SHA512 6eac336db439692e7c478978d290ef8ac9128a31d4535744b0b55331dce7cef6284058b5acb164a6b749a60449cdabeb131142dc5ee3d0222d443c4f292f9683
-DIST github.com%2Fbugsnag%2Fpanicwrap%2F@v%2Fv0.0.0-20151223152923-e2c28503fcd0.mod 36 BLAKE2B 8937677f3b8473d8d71c79e9d3e420bae0476de69d366765ba5f9a4c42d14a8cd18a49f4ad2911673c80276bdd47dbf019a62fc0aaadbffa72647cac046c362d SHA512 b23603768dd8994a9b735ae81f119d2ac2e33a1b54e6328044f92ebf03f905210e54692752076413dc45217b0a400870a5da8ebd75856bf6b74272d0a301484e
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fcilium%2Febpf%2F@v%2Fv0.0.0-20200110133405-4032b1d8aae3.mod 135 BLAKE2B 1b785fb4e0af530378f15100e4523543e22b2f5f7f350eb46cb16290c1e2f55b18a9f8894024a472c7e9d45deacb1e7a3828a54368ce1ef83095916e2262c194 SHA512 242e8e3859ac02adf7d059da6d2fd5f774892e8a11b69d8e22bd2de43c534f7d4a472e9b3bde5e5bac106211f41546614cefd078ac23115557e26c3d8457d7d0
-DIST github.com%2Fcilium%2Febpf%2F@v%2Fv0.0.0-20200110133405-4032b1d8aae3.zip 939888 BLAKE2B 1b5c82fae6ab074f2fc2c63a1499cd203cfff217535761750b4b8a85412e4ce55ca30709ddb029288094aaa83012f4850c73fe51702b18f479ee4513c0efbbea SHA512 84d14f976c35a0c05958b791e5afde8f5b15e3ba12ad7bab6faeaa34537691d893b8decd8f61d834c18b8716ea6e101f2af7641233aacdeb42587aa68cb919ec
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fcodahale%2Fhdrhistogram%2F@v%2Fv0.0.0-20160425231609-f8ad88b59a58.mod 40 BLAKE2B 58aa150182b5b43107154bd337eb024049bc2c7e2d26cf4344c97d554e03d4175862ecbd1b65527aecc85b9824c474c3e5a49eacaad18e253cec50785963b18c SHA512 8a0be9bb45924e5d384fa68dc2e990a4705b46e8878558d4db10fb794c8e20b13ec54831e7387cf425613f3f33b5952702deed074bee5818fed3fb9cff7b4259
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20190919134610-bf292b21730f.mod 411 BLAKE2B aaed1a7526861470d053cfa204fe5af2ba4ebca024322c8007d3660acce6fdca03264a12ca0bedcb6fe1f0cc5c78de920f8e8e19a36b12e1604cc3274bb88733 SHA512 32f6adadbc5dc2c9a57c698ba76fa4fd83637e67f58da55c6a22d4faad9f705fef7a472c2b2b2b94b2bba2b839b85856254fac4681dc9770893afa940bc734a5
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20200217135630-d732e370d46d.mod 648 BLAKE2B 2b9b1ecb77e51df4f51ee1acb9392492f048411d8ba23993408a7b916b1eab0b0713f66511c3900406c192c2e970284a1f92fc051c7fbc5a1a5df33ddd5445b3 SHA512 02406903eb3a5ddf5de63f248ebafbc864e38198b0883e40a00d9d27d4eb2f00882c3c55fe4c28079faead4780c9160d02f868327b77d18661226be41cf9c335
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20200217135630-d732e370d46d.zip 125651 BLAKE2B 72ac72185c7dad8eec89dc52efbdedf52d8791147eb56eb26c33c07e0a233322ff070bd37594b6289d80ac5743a7bf32ef929e4465c70807770d0c36cd9762eb SHA512 0666d728911f502d48f4ed2fde6a5b8e1a380584d6e62ecfc8ef0dc122312b923079869f8c6e15b3e140f50a9c16b616a8e4f683373e9d1836037cb5a2739af0
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20180822173158-c12b1e7919c1.mod 37 BLAKE2B 7037e2b6c6f7927a37d8298f91976232fac6e1723d9ffda59b2c01bf81c24acaf124fceeddd8791b6a6bb1e81b03e1bd5ba88ec9613784462a235bdfdea76498 SHA512 3d4ac776b750aac30718ecb1a3efdb383cf39d0838ca60db5ba266152baa1dcbee739a8f384965b5b8d39b9d9b18561ac317eb8c64c61076986db66bc10bc1dc
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20191206165004-02ecf6a7291e.mod 142 BLAKE2B 078f299e69579bbfd85aa291a997ac81e3f04a8317db16e836da1bb4242c8fa52fe809643b227471f5fc95ae2ccddb5d900a2720a91eef9e3fafff0e28979daf SHA512 a3da31b6bf413b1ed55de8dc4693fe4c9019550c77bf5098b67d305b273945cec0114a00cca4aee4d652b4a09ce318642a5bacd1ea7d7df63616734947bee914
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20191219165238-8375c3424e4d.mod 142 BLAKE2B 078f299e69579bbfd85aa291a997ac81e3f04a8317db16e836da1bb4242c8fa52fe809643b227471f5fc95ae2ccddb5d900a2720a91eef9e3fafff0e28979daf SHA512 a3da31b6bf413b1ed55de8dc4693fe4c9019550c77bf5098b67d305b273945cec0114a00cca4aee4d652b4a09ce318642a5bacd1ea7d7df63616734947bee914
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20191219165238-8375c3424e4d.zip 25105 BLAKE2B 0390be1b8bdfa32316cc92db2a99c81a2f19bfacb04ae69cc5052d901bd2068728fabaebc3889e9e465614c9ffaba82ed15886c610fa6fe4a9bf06edf514c0c5 SHA512 4e29b6ba5865d878a3ad24b10d2c35a036b62a7d70a0dcf5459440e1f7aa1c86c8fed0ef9dd3cd7b31bfa47e7ec9b5becc90853cac1e6dc89e25609221863969
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.1-0.20200227195959-4d242818bf55.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.1-0.20200227195959-4d242818bf55.zip 1737252 BLAKE2B 6b491903861c99eb7d2f166380d3331693ec0d982415433bf603928942f74e80c6d9aa13b656e581ba5dcf863c41781e05f9d3ceb4b3215ec1cff2fc52b2415e SHA512 d7de2c56e0181278f57d1f6662d10c221203bbe447d06e7f5653511a26e445820facb0473de3306bc73855bd2512e38ef4554ce44bfe93a9e7157e54744dfce2
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20180921161001-7f53d412b9eb.mod 40 BLAKE2B d99a912436af30ef3f5fd53f6348367016633170289e08c271f0148a47db1f9c5ac5da362fcc3f6fa5a7e7977377299adcffe63e9c3315c45ec173d55248006c SHA512 442fc394b0be5c87d2b9edc858f47d52b1027acf1fade259879bac7c598e51692199cba7d4e175f21f772193f1570e47e82d6c6c6fa160e253eb49b09cbca793
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20181001140422-bd77b46c8352.mod 40 BLAKE2B d99a912436af30ef3f5fd53f6348367016633170289e08c271f0148a47db1f9c5ac5da362fcc3f6fa5a7e7977377299adcffe63e9c3315c45ec173d55248006c SHA512 442fc394b0be5c87d2b9edc858f47d52b1027acf1fade259879bac7c598e51692199cba7d4e175f21f772193f1570e47e82d6c6c6fa160e253eb49b09cbca793
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20190426062206-aaeac12a7ffc.mod 40 BLAKE2B d99a912436af30ef3f5fd53f6348367016633170289e08c271f0148a47db1f9c5ac5da362fcc3f6fa5a7e7977377299adcffe63e9c3315c45ec173d55248006c SHA512 442fc394b0be5c87d2b9edc858f47d52b1027acf1fade259879bac7c598e51692199cba7d4e175f21f772193f1570e47e82d6c6c6fa160e253eb49b09cbca793
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20190426062206-aaeac12a7ffc.zip 133764 BLAKE2B 0472340f7bfaceeec5aed6031677f27e06f737ef59db494fef5d65293f3e5d2ceabd4706a82e503963e4dc70f5778c5dddb2a828e086ab6ab6be1fa6b5f75bab SHA512 f6def995defa9a9a3481a63e1c0f4db9bafc70e500094a78d6d035c6db01854b6957f440598c933df51c69fddf76c5b1406f9dcf1edbfaf8c6a7a97185e68f20
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200107194136-26c1120b8d41.mod 1000 BLAKE2B 595d0a4ca474b1143bfaff75d8bb1089953f1b68da5b593966f85461b5a20ea0a8ebefe6340ae8747b12e9fda5a13dff135e751262f4efbf7142993938a103a8 SHA512 b6ec25dca49d545033cf2e97f7907e4709103e1bd76b341a27511c25df44788246d9788281d2f2636bfc7b4f39ac7fb25fc1de293917bd68ebaec92babea8557
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200107194136-26c1120b8d41.zip 137748 BLAKE2B 6ccbe78dd7b1773d54ffb28aaede1b1a10ced9228c4ba511be4b5c20940f7d8551dea187254c9aea915b4f3095ea415bae6ea7bc3df00f36966e29ef8309560a SHA512 38f840756874baeca822de082893f9a5774b29164f9b798660adbc99122f8c4d42be0e0538bf5d1c4c428ee2f2f2af5592b9eba4e2b5f01a74f4e8b591212592
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200710164510-efbc4488d8fe.mod 1000 BLAKE2B be8fe2174e146003221bd28edca0ceeec630e4bfb3be709e9a00f274c1a7b17d07f7ab07750aec301f443b9a8fbabe612eab719355843da965af2157f4cb0aa9 SHA512 17f1c4c0fb892b6273fe6c90d880b670e6c1fa4e1e036e137fc5ebb9a056d0fb25a968972addfe736c924d1326eb6b5ea4acfaa12119abce1bfa1ec5fdbe2157
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200710164510-efbc4488d8fe.zip 134137 BLAKE2B a19f9ca4afd3b4fe63929512cd95b4b28b0b838d1e42fecfece6bc0c29559e164bd58a863abb71c85ecb17400c0edcad4e85dcaca036350c701b753a020564ff SHA512 437d50ea75f4ec614a2a86cacc7f4559ba6d91a8761c265e31bec65f47b7fe77cdbd23602637a358a1bb8cb90e002b4a926beb5ae126150c5520641e4df32f87
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20190226154929-a9fb20d87448.mod 34 BLAKE2B 24e82d551cc42b7a7c8c830ff4941074686a06dfc753202e49bdf1c7d5f7b960d0ddcf73f618585b6dc925cde9cbf123196fc4b45cba6bff79a16500f49c178e SHA512 9ae770f38dd2c9560c8c3e858890a835ed848d5434a289d889c312d681af748b11471efa47739b08ccc12beb6e9050d2f1104ac6299a50a83344f496af516761
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20191213151349-ff969a566b00.mod 175 BLAKE2B 1573b65ca6fa922fe9d47ba40920cc95f7f7f9135c729fe9d8f9c2723492a136033f6b16680bc5c405377ce7bf14db34d989c563af74bce702db0b5ab761bc13 SHA512 b227a5f0ea52840001d34ebdfb11b0209dad5dc49faa55c20f5d7283c67992f1e63e4325c4cda3a3e5b70cbc7231301ea448a7e272a5f864d78585cf938f0d2b
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20191213151349-ff969a566b00.zip 22168 BLAKE2B 9be413f55a84b6af8f8537fd3ad96c021cad01a27ebab1fb88f29b95c642c4f9aa55b9bc3110eb98d3042193485a8aa076184720158f5f6b07dc5010ac2d3279 SHA512 7b5005a900f3b8dc7ad910c0b864fa086eec1bdc4201b029ba09f63afa8711086086773ad84ed319ec328508c70cfd254cbceb68971a2e670afa94b3a284614f
-DIST github.com%2Fcontainerd%2Fgo-cni%2F@v%2Fv0.0.0-20200107172653-c154a49e2c75.mod 452 BLAKE2B 24a9f367913ec94805e96dc887784ff740c55bbe40d3f47d9ef0972a2dc7372a2a1e5821937fcdde5b64d4dce74c00e5f64d3363e7e0eebc6417df5ba8ab5eea SHA512 0c7314c57760b9674c8d05829b055046cfb297c67a3768440352d16e05039599be9f4a7ec641ae79b9d9c778e9d2af382f940b1cdc210f3480e0315c6edafcd2
-DIST github.com%2Fcontainerd%2Fgo-cni%2F@v%2Fv0.0.0-20200107172653-c154a49e2c75.zip 22868 BLAKE2B 72e4044a0df258ad1e28c1cd2539a56d7a9030ccd8e42252b70020f1013336914116a793a02d79f4b1d8d23281c8c5454fd0ed05e5b63bd689e3179d15fb4085 SHA512 09fdc329c2ad1460ab90676e0c64cab69bbe434d806b13b75bd4174b474ef1903ceb496bb73273bffa7b524b94f571f030b6c84b0594eecaa7edaa7b5a160e98
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20180907222934-5a6d9f37cfa3.mod 37 BLAKE2B b3d06413bdfc072eba71c8b51cb7aaf27ca29ba736959bd0fc9ef2de8fe3dbf3f194cdff7d030aa259c8e78fcc9003dee040be0d1b858a677d9e306c89a3542b SHA512 62de290e5234d6bd82d9a865d1ff592736f075130d1c29e9d9f2544ca3f9514c4a81ce1a726cf8fc8be8404e8ca41a88958dac755174ef2c20ec9b455d0cbc50
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20180907222934-5a6d9f37cfa3.zip 23474 BLAKE2B d931ed25c809a397fd438128783be1f65f3ba4e87f525999eaac668998ab31eb2c25b48780a95d5bbcb8e2ddc3068cebc3cd2e55cdc35c122bf8e937e71b37b8 SHA512 b4d9e261d5c93babfa7a993cc1985065a8476a934c2c580d2ea0101d392a4b44f0eb73051a81458615b571211d774626c9850814dcb2cd1109bd838dc744a631
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20200220073739-7016d3ce2328.mod 255 BLAKE2B 32db1b4c953ea3f3938b2440858dde31e603131b72aacc4acf32af9e44edece17c738b2014c04558fb658e367ac02c6dc2d1f57b89b61907bd38ba56242d9aa5 SHA512 69dde1b31556a7ede162e742be7e546d412bf257449878e92a5f8b3cd8246d77e9ba96c3dc82415f356c5b8a0181517a2b8f41178e5537739644b8e4713eb594
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20200220073739-7016d3ce2328.zip 25790 BLAKE2B 466cf6fbb3a4171703ae4912a288aebab52049de02c9c5a346e567a8a770ed662672094e2d6d87a035a6f0609204f166ba859fe1a916a1a06aad876b99b9c237 SHA512 5d8a0e7f0f1c9aa65065a8a62f2fcb47b57976d7e9585c7c1d1e149a0ed17a0e983915b01199cfb9dec8e233f418386120f441dc4d85099c228e82c76e600700
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20190828154514-0e0f228740de.mod 35 BLAKE2B e2c6e0700e40d563dc690884628fa22b6dd56872a63ada54374c07cd6328aa332b6df2396300090da5c9f7ac730b6b9bd60dbc776557c4614d5ab3ce003579f2 SHA512 93f981daaa62351a480595cfb2feffad6c34770cf89f35399d777096fc524cafa50d0dd3f56231ae41b15e56061ab83f0f6829190730dbfc7f9fcd594af7b054
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20191028202541-4f1b8fe65a5c.mod 368 BLAKE2B 52b871af9fd9f2b71074286d0877d16dbf6e9395f18326cfee8cd1eb7339b4694bfb90ae4c843ae1f71cea664a64d4b090b3b8be7e72f01366424400ec2ff05a SHA512 1655c00f6600d5a2ce87971a893f5e23b4d40f1e49d62fc39916751fc8c5352766321761b1e4c5f321f8e205d5164409c964ec508c9cb7372bd182b850692045
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20200121165050-0be804eadb15.mod 439 BLAKE2B 7c315352ceb1b2572b46be523f2ae18dcda51ab13d268c7f54d597a4eb0a71d97cd3d615fc8c45584a7c8070b232b1c5b7003cef36a7ff31d1034335951dbbe2 SHA512 aceeefb2d381828781a1bb99048bf5135c18e1443339298974a1f457eecf86116dc70442d2c192725fba64157c230782ebe3b918f0026d89adff9195bf3bd78b
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20200121165050-0be804eadb15.zip 46590 BLAKE2B 26d6a98035687a7fe99b69654413ea2e375f8ce7fd045aa582031b4e2d62ec78ba9ef621f9388ae4b7e9afb1622e6532e5fc913b86b6e137abd2f4e8d375bcfc SHA512 6ccef21df8cf7c667980a746b6bd9692cde856607bc04c10d1984bd1fbe8a0c4377f5a5fdea345f615027513a69c9e797dec696fd60ac26b7a607a01d6398076
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv1.0.1.mod 439 BLAKE2B 7c315352ceb1b2572b46be523f2ae18dcda51ab13d268c7f54d597a4eb0a71d97cd3d615fc8c45584a7c8070b232b1c5b7003cef36a7ff31d1034335951dbbe2 SHA512 aceeefb2d381828781a1bb99048bf5135c18e1443339298974a1f457eecf86116dc70442d2c192725fba64157c230782ebe3b918f0026d89adff9195bf3bd78b
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv1.0.1.zip 45186 BLAKE2B 4c1278247295d40234a02de926a07b97155bf80c4b88a08976cf3cb5ccb3d81665711c8db307663c6b46104d0c0c417147ead605c36ce21ad47caca93448c5f2 SHA512 f7537d05e867f8dfcf77e2f028c494d2ce9da88b845425196392cdc5b3f0f4519ed5829507369c0db5557d063de3e524ca0be710f181effa295479c3b744fea7
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20180627222232-a93fcdb778cd.mod 37 BLAKE2B 109f32f2dc537cfeff1699937e93eed980f34a37faa111ad3831be6dbbb1df965c56ef266deba48aa1390fd94bdedfda9ba3a51f4f6d9519ae24db6b99dfe1d4 SHA512 6485196f4703578401e82673647b49d58fe60d7f90c311294096504d3e11477c75fa50684f00c7b378b2566e6e8683cf18d99f2ac78043b077318a643fb11720
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20180627222232-a93fcdb778cd.zip 9069 BLAKE2B 65b34ace1b0655929a00f648d5574406440dd840e4ab182b188d754e131dcadb6eadb07971840e867aca65a2efa8ce01c89c20ba76d35654a58e7adbbd3b867b SHA512 cc7e018805824fcff055bf5fac93253b6194a12a421f1e1795de114edf863d865d6eb416ea92ce3ab66fb627b5470a6e721911c059733a27c6eea487f89d3f15
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20190911142611-5eb25027c9fd.mod 122 BLAKE2B 775bbfe519746bae037f93939baef72c091af97099c61ce8ac2e4ddc93a52ce06a4d4fccc52ae28f533da9c7aa147d9f302269d57448a003a695cc765d32cbc0 SHA512 a92ddbef593ef363aee93b81d810ff76b2df0a4155714d95dbae9d000edfcb4383953625becc3f24cbea19a77431cebc0767e40c746b6abf613ca5346f024370
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20200205145503-b45ef1f1f737.mod 122 BLAKE2B 3fadecc6cf793ac4efbc51546c1ab8f882b9f350b9c32fcfbb93da9707cdb9d9cad9115e0a2334b4022e1cc5b715d8ad6a1b59e286ffe65b26d20f49036e8a21 SHA512 d2a8eaa285710c7734b1c046775e9715d20bffb7850f1df888d9b98cd4bd6062dcdcb18d43843ecd95adf7b125a105453f1bdea3fb75f09a350d229663e0cc23
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20200205145503-b45ef1f1f737.zip 12306 BLAKE2B c7f6cd709592e42a9ea2d1f422ae6148f5c21b1914d235ee171f24ef655338cf79a7a3e230484d32ca45972b51bd9e21656fb26009f0bbdeb8617bf21ac3fd23 SHA512 b7ddae1fe80b1f5edff332511ed9b493505388928bcbe1d869163d0eef1d45eb41d03bb4c0cf69ac0041e4b8a4c5e531c3147431fc44458010b9edabc5c8d66d
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv1.0.1.mod 122 BLAKE2B 3fadecc6cf793ac4efbc51546c1ab8f882b9f350b9c32fcfbb93da9707cdb9d9cad9115e0a2334b4022e1cc5b715d8ad6a1b59e286ffe65b26d20f49036e8a21 SHA512 d2a8eaa285710c7734b1c046775e9715d20bffb7850f1df888d9b98cd4bd6062dcdcb18d43843ecd95adf7b125a105453f1bdea3fb75f09a350d229663e0cc23
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv1.0.1.zip 12534 BLAKE2B 3ad833c79b731b055b9ee48cf567c70d119d2f286c1c16726e167890a5a1fac593c37e4d6f61d9bcbdabaea85a52a7856eb7973c8b47a2c3e7349178bb76588d SHA512 90e97e49a783cac6b06cd0260bcf1ca1358063119593d1caed6785105c669e03ac944bb2d63db6f82acb6d21eefc2b89ec89a81d7bc67c710e3b7458bd85fcd9
-DIST github.com%2Fcontainernetworking%2Fcni%2F@v%2Fv0.7.1.mod 42 BLAKE2B 85f366b44e027fa05e71cf323e294e3c4771719c65dd467d2fdab5564501cce11bdd37696a3026b76ae93fab5f9fe92e0f11c6083c6f756f74a19cf0412f94cb SHA512 8249600ef0c0b1993da84d89e9ac18ce72daf21430e0d491f09e863baa6d59d6968b52066c2ef3c4d448570150a511641513da44219f4cc4f64184b883d87703
-DIST github.com%2Fcontainernetworking%2Fcni%2F@v%2Fv0.7.1.zip 147142 BLAKE2B a28d972c54b69ead2b6fe83552ad4358b5d86985ba0a3141a68ccf13efeb2656950e664a9ee3333550278d2571ec1d92a31a6f906e9a0cb04978de6586681adc SHA512 7773628b7aa2a7b2e838e6c8a8acc1e6f90701c46c7ce5d153cbef11e80bd8d82eb09fb4a6a6fbf54beaf63ca9ad88d92bc7be1b0c1ae741b9039810c4780766
-DIST github.com%2Fcoreos%2Fclair%2F@v%2Fv0.0.0-20180919182544-44ae4bc9590a.mod 31 BLAKE2B c1ff63881636ab7da1c4089b6ffc0212911348416787ee0570ee3fc4795930e7fea0122728e12b3d6a0d6b64c98b8b52c3bfceacd8b1bb8c77ecf8235d12fec6 SHA512 26c17d64fa51ed7b526eded3dd8673bd95c9e4e861e6b6bdb0a7159d17e569e939e45c4d4bf59092c8365981799b1b8d8f81edf3faa0e4bbbaeb6b9b1ff5e216
-DIST github.com%2Fcoreos%2Fetcd%2F@v%2Fv3.3.10+incompatible.mod 30 BLAKE2B d511bd14351d68fcde2b3be3f008373eb12d2c61133c80aa3a1938e53ffa061c0aa51065f07b208a073b448c25309c3b2d67c0ed19ad3697309a679fcb844414 SHA512 a986c2cac4728288aaf90667b54ffe9cbb9e1a55697347f9541e6aa0dbfc5b8d245c2ac15e8a9558d41862d98325f3f2f4055b02bcf1e9045b78bb3577b3f45f
-DIST github.com%2Fcoreos%2Fgo-etcd%2F@v%2Fv2.0.0+incompatible.mod 33 BLAKE2B 1ce5b6fdaf9b07e47e53896873b9ee4e96fa51c66a7a5afb3f48f34bf1b28addc5a5faa14832c24232a048b5d2b5ec0fd9af57997f0360105479550670b7272e SHA512 4fddb273aae34ba148c277266e98d174e04f5e888a1f59d44a86f7ec80168fbee85f245cea2e2fca44b29cf83f7a417e43b885438d7e3231c89604bb9f0a30c6
-DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.2.0.mod 35 BLAKE2B 931ceb7bcae15a876b79910a59b0f4ec67ae8f0ac5fbd401e80233107e7683d9cc4a947548c4d08b26f2d47ad6bfe4916f99ffd2a98abe26e8161af87eb49c64 SHA512 58d88566898778823c24b5f4ff7ac50384075312e3eb332aa01233ada3ff385cd8a0e3b8727a77ecf068f13b52a304fbdb5f47a27957333dbd5a8fb1448956c2
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.zip 109838 BLAKE2B 82e02c44f4fa60aa7257b79e385af47e23508e260415f0f768e4f7aac6a5962c713488458a50f1bc98308446ee3f45de973d5240811dc5a113e5b9577f33bab3 SHA512 7acd6ca00d067e6a81fbb12697ae9d46fa9880834934065549bb23671153012a8596d4c7875705578ca58a259ff81b1165e45aa65c93406d2c324c61954ea4df
-DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.0.0.mod 91 BLAKE2B fad30507d91fca15291c8f13100206c9d9eae4f73ca4034e37de10d1494b42b03535540ce704582cd7a4be4ffa2685f778ac9cd3aa647d6c48d8e6fe33a345cb SHA512 54e3700ced7222d086eac5a73a5973147473e9d063a7a8dd719bff2dbe3d61d9e4cd7427f30c926a2289ef53948f158bc09e189d9714f0437d446f7c30d0cc6e
-DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.0.0.zip 114418 BLAKE2B 43e288a393932b03a27d91cd456cbef42c2611751d40e8a8e6c14d2b80f65990711a5be7d75e1f62b1eaef3d9eb8c9bcf3f51eb14a2436ca1dcb15b3b3a2ef16 SHA512 9df60d53633425f32d5bf594dd579ce61bee549c2672da2f7da39437031a8b0d27b7d3448adc6f9b20b230f48c355242ce8b01b0c5be25612165c53c73e10735
-DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.1.0.mod 91 BLAKE2B fad30507d91fca15291c8f13100206c9d9eae4f73ca4034e37de10d1494b42b03535540ce704582cd7a4be4ffa2685f778ac9cd3aa647d6c48d8e6fe33a345cb SHA512 54e3700ced7222d086eac5a73a5973147473e9d063a7a8dd719bff2dbe3d61d9e4cd7427f30c926a2289ef53948f158bc09e189d9714f0437d446f7c30d0cc6e
-DIST github.com%2Fcoreos%2Fgo-systemd%2Fv22%2F@v%2Fv22.1.0.zip 116823 BLAKE2B b33381de26ca23c0d218ecd16b22bcf13362635348a4c9887ab2c4ec803e0dc2996833eeab85b327b838a234198dcd555dc148a02b8b1282a1dab61e44e56c80 SHA512 4aeae5f35d7de56c2e693fae7eaf6f418745b9d9b8a7652bda4acd6c2979cc2cd175c4809386b7e762d9c243e1504baf82aa4e4dadd7bc6050d2227a61510b7d
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2F@v%2Fv1.0.10.mod 94 BLAKE2B 94e391c9c787f7b0b9d238f1fc61ac5e90d4d6658f7d60a4c143bbeae999ea0ca23d28f2ca204523e44b61807afa23e8690af850d14203e5755717b0a1f5981d SHA512 b54a3715ce2745ef68bf269b09d458d3712d8ec7a876eff53f5c171d23d992a5391552651c56f7adf5b90a356bcefab552a7ef8dd3a0d562fd396434970963ab
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2F@v%2Fv1.0.10.zip 8850 BLAKE2B 9053d9c01c92faa257ed0623eb06b27e7d9d93ff9c155ce862183bdb9da6483d57873290eb5bc7bf8f906d7b18dd29d856a7cfabec69b84a2f5400f6e43c616c SHA512 9d35a6f2ccc2b51fb2561891311d5ab33737ba76c61f190fa6b4276eadee8b09d008b2c925fb8dd5bf9202bf3e1ec944c0b5026b080d2adf050fbe8e88a74def
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0-20190314233015-f79a8a8ca69d.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0.zip 11426 BLAKE2B 645000d6293b81d736462fbd50a8f96483b39d07e5bb56e5a6d2fbef55a760499237f963e4b45eabe34b955280997f8218c656eb6db0a1a35093d2ab8f17cc63 SHA512 140a934e4d50fc1e5bb36bc3bfebc05863b32a50fbb6e203abb3aee1f9e9cd1c2af6ee5e0757f9d6199522c30e06377a3c94842d877513e5c9339ef7d1dcbc9c
-DIST github.com%2Fcyphar%2Ffilepath-securejoin%2F@v%2Fv0.2.2.mod 45 BLAKE2B fd78b551df24aaa503a1e3a673291776e988c7975ac3bad69beadbec7ac5c85675da6e6da9deb4463535e1b0ef0a3e640df6e7ce771de71f033f0e7a3f67a1c1 SHA512 9d9af0844e5c76f84c3804b788cd643e461b02b8a00fa5a41a6238dd72dbada1bb03aa3e7e420f0c68d9926b9cbd2d159456f26ceb64f1c51162da939742d0fd
-DIST github.com%2Fcyphar%2Ffilepath-securejoin%2F@v%2Fv0.2.2.zip 8869 BLAKE2B 9c466fbe14685f949b792015995e38f276bc66f3f6ce8df45cdce9b1fc362733b3f0b08de7ed393c4fd89f24a48e4bfe90dcc8302af8e636707b07da769b4e8d SHA512 e8c8cbc63aa82d0544634f3aae9a4c94816aa5797bbc1946aff148b19651bea6c3c544add0ddc644d20eec3df99a4056bf11f7f9dd83943c53e7c443cc393eba
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdenverdino%2Faliyungo%2F@v%2Fv0.0.0-20190125010748-a747050bb1ba.mod 38 BLAKE2B ca172597deee09bc6129ff6d8a27b70cd49f5891f9db37e73f1178996255cd0548405d7fdfcffed3745777a332d3e979195e4da827f45e00305725f119332cc1 SHA512 086ced52944283fce02fb1b53de3748e32fed8a90dbab1d69e9ade5ff40c47e3fa1277cb3ce7bcdce2dc36d903eb52d3d3e723801fa8f6265736badba1ae935a
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv0.0.0-20170104182250-a601269ab70c.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
-DIST github.com%2Fdnaeon%2Fgo-vcr%2F@v%2Fv1.0.1.mod 32 BLAKE2B c96afb14f9809bf9dae22bd2260c31921b0435d4459b4386ee016514b84580aaec258fb1f8347fa6447524376de742135ff87b170f40cbaadaa41c41b553ae25 SHA512 320a96424fcf2296f59f8ba247cc9dfa43c35e2e500fc1dd990a69316d4ccb68437e4c4f98e849173161490cad216c15eee039134b3028afa7dcf82d9b8e6423
-DIST github.com%2Fdocker%2Fcli%2F@v%2Fv0.0.0-20180920165730-54c19e67f69c.mod 29 BLAKE2B e7c2f5d22f88da5836f4de5c23e6e1a0e1eeb43e7d6b49b79e25a2b5d04b892ad9dfe7bb174c93cb60faf8e78683af6b296606371ceaf7eafba76a85a6b1c73d SHA512 7681fbfbd36f2ab19e01f6e38f899cf538fa34e4abb34bd38660459d9060367f49680c85f75da08f8d3e7981e9ebf1f911db26e31e1ab44f451640e435cfd877
-DIST github.com%2Fdocker%2Fcli%2F@v%2Fv0.0.0-20200227165822-2298e6a3fe24.mod 29 BLAKE2B e7c2f5d22f88da5836f4de5c23e6e1a0e1eeb43e7d6b49b79e25a2b5d04b892ad9dfe7bb174c93cb60faf8e78683af6b296606371ceaf7eafba76a85a6b1c73d SHA512 7681fbfbd36f2ab19e01f6e38f899cf538fa34e4abb34bd38660459d9060367f49680c85f75da08f8d3e7981e9ebf1f911db26e31e1ab44f451640e435cfd877
-DIST github.com%2Fdocker%2Fcli%2F@v%2Fv0.0.0-20200227165822-2298e6a3fe24.zip 2088281 BLAKE2B 996e4c4f13cd406497b6a759b3c957fe6d5428eb405d1620b47f62c6c8b8e577279192aac481782e21d3d2892fb89c4e709fb44bbada7c2bd13e6d0e91e487f8 SHA512 f2318e9b6ad793d00b44733bcf24740cba324013faeb1f7b7b814ea4313c18694684dcb46f5b3ec9153c07840a9b976ae99b9dd0fcdca542572404ba86a08cef
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv0.0.0-20180920194744-16128bbac47f.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv0.0.0-20200223014041-6b972e50feee.mod 3136 BLAKE2B 877cf2bfcda79b66447d450755604fbf045e8a5de1d8384b3383b8a5d391c5d581abad094a3e576a9084bd7b71c42ed9716e160342a28a109072d0a3baeba839 SHA512 da1a31e4125660400cfabd496bec36739b75009ce1ff05146f8db82b88605a03435fb38a77ca158ea0e943f340172e205f96c1c1ebb66ba88b53932590887766
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1-0.20190205005809-0d3efadf0154+incompatible.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1-0.20190205005809-0d3efadf0154+incompatible.zip 681938 BLAKE2B 62693a6170e7f843812aed03d05965ef0a7f1d212029239924385746efbef5d4df3c649e14ae60977805063e521c0b5c68a42f32e3b8ae131b438da4d062269e SHA512 7280b01be97dba11cd18c2cf044dcd0edbe9ef09538966cc3d92d27400bc615f8106a858377e8f9c80453e8db0449829d4437fb371aed5bccda370f12479a621
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv1.4.2-0.20200227233006-38f52c9fec82.mod 32 BLAKE2B 60d7bedad25f2503b81b09e753b7f5aac1ce61c5b128e08dbb42f73cb5f3748d376aafcd475cda1f50f97a88790992ec920d2309e8b3faf914640ebdf4b21404 SHA512 ac7ef0a0baf8fd96efb31c685f838842cecc51e9332cafefab138f16438fe00962e91b31e53d93214ff9d18558634d4b9bed4a0a9567e06646da2d2bd3e9c439
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv1.4.2-0.20200227233006-38f52c9fec82.zip 4125681 BLAKE2B 44badb00f73ea1c2072e29b0044f1f420653fe3c2d290bbca10d3dbd9bbe4da8c9f4858fb0690d4008cf8f59c456bc472801204aee75d292131774524dc4ce51 SHA512 266c4ab01191bb285c6bd42146da788068cb30693ed3b1d1db5e2b2e10317cc430acb4d01b13ca37ae104dd8a2fb6e9d685b782b14fdb573a1507b6ec40a4ed3
-DIST github.com%2Fdocker%2Fdocker-ce%2F@v%2Fv0.0.0-20180924210327-f53bd8bb8e43.mod 35 BLAKE2B 4e186ae86f87c9e911be31ef3dff3b6819b114579bcee827e50c6d76d8f5fc5a0d3e72d2ae2da90082fdcddac1fc4f9080ef00d66ac91d16ff08ec2931ca8834 SHA512 5e88908d21649ce058590b5817bfa1be594e3562b163c0ca386fdf7ccfe9a1e038e746808c6e2f51630829bba89dac2dd81ffd6204cc4170feb21043e8c9872a
-DIST github.com%2Fdocker%2Fdocker-ce%2F@v%2Fv0.0.0-20180924210327-f53bd8bb8e43.zip 5702875 BLAKE2B 0ca3e4420cf6d5d6acad99ab7d70787cdd6d8ed093b10e26d1838b9921b9cc0669ec4dfcaa29e393ce4de4c2a74cbbcb070a230e9110cac0f448ef9050f94919 SHA512 fa83b8040cfdef81d70890f6b643c87bf762a2a659a033fb3f9a49cbdcb10fbd2ca59c9e30b0818b5407f5f3c2d8197295ac729f67ac0e3c08f260b87f6df1af
-DIST github.com%2Fdocker%2Fdocker-credential-helpers%2F@v%2Fv0.6.0.mod 51 BLAKE2B 324ddf12d16d5c0261f3700594d6a352ad79601237806dfa84179ff6524b7f8f2f7eb13326ab6ad1f7c22f4a358372de89f4f257d5ff6a702e865bbb56c45274 SHA512 a2ad0b6ddee7601a260905c3d146540292ff3bd69b62166b6b4ae1d25f4f0c8872fe144ad4f3024d0d9723f0f1c8c9ae7bf4e2c6ea5f30a14161bee94c3c06b1
-DIST github.com%2Fdocker%2Fdocker-credential-helpers%2F@v%2Fv0.6.1.mod 51 BLAKE2B 324ddf12d16d5c0261f3700594d6a352ad79601237806dfa84179ff6524b7f8f2f7eb13326ab6ad1f7c22f4a358372de89f4f257d5ff6a702e865bbb56c45274 SHA512 a2ad0b6ddee7601a260905c3d146540292ff3bd69b62166b6b4ae1d25f4f0c8872fe144ad4f3024d0d9723f0f1c8c9ae7bf4e2c6ea5f30a14161bee94c3c06b1
-DIST github.com%2Fdocker%2Fdocker-credential-helpers%2F@v%2Fv0.6.1.zip 39516 BLAKE2B 7b6e0419d160b8623f6388bb2ca166b73bd6aac72d097e13d7aa9e6304cda5c1913fde426a09371acc5b2c84aae80c5dac58c388ee3c38f60cf1dede192931cc SHA512 e9c006f89f71e732c4a29d2b1e9903b5d466aa379dbb76103f857b2c61c351c007e8cebf6641270e567819752c35c82b70c8f596549f6b1fbfe70706839860ef
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.0.0-20180821093606-97c2040d34df.mod 40 BLAKE2B 13f8b46e2e71edb04180a1734d63e1e84dc75661ca635d150fd2bb8b1213df768520fc1c5cffa7a9cb224cb11788efc5242dd85138915fc21dfc9ff95b1d2737 SHA512 721f6b5cc358f8ee7093f7c80e4153ebc474f2052bdb3a91bf2a4ae9d2dbd2e2e50635a5bb8f9b62bd8ee7a0b7420ca9f18c60abcfd5287a953ea63d21aec53d
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.3.0.mod 40 BLAKE2B 13f8b46e2e71edb04180a1734d63e1e84dc75661ca635d150fd2bb8b1213df768520fc1c5cffa7a9cb224cb11788efc5242dd85138915fc21dfc9ff95b1d2737 SHA512 721f6b5cc358f8ee7093f7c80e4153ebc474f2052bdb3a91bf2a4ae9d2dbd2e2e50635a5bb8f9b62bd8ee7a0b7420ca9f18c60abcfd5287a953ea63d21aec53d
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.4.0.mod 40 BLAKE2B 13f8b46e2e71edb04180a1734d63e1e84dc75661ca635d150fd2bb8b1213df768520fc1c5cffa7a9cb224cb11788efc5242dd85138915fc21dfc9ff95b1d2737 SHA512 721f6b5cc358f8ee7093f7c80e4153ebc474f2052bdb3a91bf2a4ae9d2dbd2e2e50635a5bb8f9b62bd8ee7a0b7420ca9f18c60abcfd5287a953ea63d21aec53d
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.4.0.zip 43214 BLAKE2B f64253be261a17ca9e2c6540d70b159c89b5f578921a7f6287e39be2a99fdec8b67191ff06315e5539585ffe812235ddd90c4a9754d8d63e512fec1991297709 SHA512 a61373f6a66f0ffecd3ffa78a99e6d9560419ab325f12101ae90f2623fdcb2e10adcf274459191263e1a80dd866fb98388434f9875c52e42dfd646d3d25264d3
-DIST github.com%2Fdocker%2Fgo-events%2F@v%2Fv0.0.0-20190806004212-e31b211e4f1c.mod 35 BLAKE2B cb3636f6ba689ab17bbd240c10dd1f1f150988421212af1498f68fcce3250f61f1dedf1aec95c5437ca7ce92c26ebd115d1b3a16da55d07cfa423871e6f6f73c SHA512 ff56a30d40408c088c121984ad3ecfbc1214da641baf359fc36b8a3ae50ebfac8b98add4b9e4a47f8e03f586800fdd9c268582e581bf99e95009abdcb4e83af3
-DIST github.com%2Fdocker%2Fgo-events%2F@v%2Fv0.0.0-20190806004212-e31b211e4f1c.zip 22827 BLAKE2B 33b13d02d0031c2a898aca18f16292ef603fcdb6aab746a77cb782fd0bb786668434fd5dc99287176b6d57679d0ea565bc55b2954ea8b26fe8914160da4dc10b SHA512 c7770bd3cfd352b844a988b8a0921ec4bac94dfbbf7223a55639ed8501e0fbd06b0b55d2458727459db41c8f0ca93a9c9abd7956f37b39bce2be30acd0f09fa0
-DIST github.com%2Fdocker%2Fgo-metrics%2F@v%2Fv0.0.0-20180209012529-399ea8c73916.mod 36 BLAKE2B f42e08ea331c88b2b916ba61587904489222acd832f03a2c7d887d555555a634bfaeaf752d030c7476bfcb1c2d3ee627035d30ea79391656489046a09b61b1b7 SHA512 8a8ece742e952ae7af8fda10838b5c394ba66b2b3fb26b59d8751beeaaffe799210812857cd37eaa311f50f937aa5d271e9e75e54e81fe4a8cc688c1f2a33977
-DIST github.com%2Fdocker%2Fgo-metrics%2F@v%2Fv0.0.0-20180209012529-399ea8c73916.zip 21328 BLAKE2B 67a791718cce6f164f869dd248ffcd91fa5e272eb587f5540d1826682649a56b9860675a7904543f4cacd5081ccb177a4b4d56aef455b1d701bc9fa28a61c7dd SHA512 94af6e21995f7371a106873fe8ce811f2d786471c1ae870a0adcfe1457c7f09f0813fada72b1ce6fb6d523a1593a3ab5c3210d6abe7b08010288920538472293
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.3.1.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.3.3.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.3.3.zip 13789 BLAKE2B 1961aff6de16c83f1a771b94965a6e5fc95a951033d93b576cb1567b008473b5fde0a12078179738a921ec88752621281a36137ee6719d4a1110ce072f450bb0 SHA512 66587313fba838dcea2a00bc81222924d1dbf77bfe47b7ed0443a071c249f14204b8e0765146f060009c8d840dc802ff701d6905a4c05b816ded9adbb0a0e981
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.zip 14089 BLAKE2B a825c998f5a7e6432a9d23f49fdf9d8559b8664ce6508468540530efe9585a98400bd38681a24b5a8b2d10b13c4ad91216f6c71153e8c597e3d2e8c8472622e9 SHA512 294682c312e079f96ac920c3f4e3dde7211e36622a378f54f32483e032f4df6f54a1f7314df7c73e2b7391bc559003ffe2bdb97380e4507aba7620ea4123d872
-DIST github.com%2Fdocker%2Flibnetwork%2F@v%2Fv0.8.0-dev.2.0.20200226230617-d8334ccdb9be.mod 36 BLAKE2B 4b8cf468872414728e3cb5f49eff6ba10147cd8f2803b0cc415506dd82ce017facd77e78a9875d83f5c759de443a82545d5f447ac8351b4d74ca77892cb94f45 SHA512 abfe66b3242eed64b0a243bac35f2dc06faefb3b5c1dc27b60b150990a2e0c6527e359b0d4e1b48d05e6bcb5f1ef8f6f67e011691b57d4eb8b8a0208f6c8135a
-DIST github.com%2Fdocker%2Flibnetwork%2F@v%2Fv0.8.0-dev.2.0.20200226230617-d8334ccdb9be.zip 958154 BLAKE2B dedc48c0f805ae9246c777dec325f01d8b75c06240229143d2727d27463c8144568311b6b7b4201d8286da2c60ca87ae597d203e06eff7ce0256ccbbf678b5d1 SHA512 226087b2866d0f04f8a1f063c640032a5eb1b5d657dc017ed617fa338b7d7f9fd3163f52634ddc5a2b3ae7f02e1dd6d788ac75d919af4605f4005c65d26be410
-DIST github.com%2Fdocker%2Flibtrust%2F@v%2Fv0.0.0-20150114040149-fa567046d9b1.mod 34 BLAKE2B a4bf0454b86b8bee83b8b7c1af18459c17c527c3c30546cab6d4f3e950cfb7336d70d7154c2b799307acd9df81bdd341722555ee7f91a53a8604046039f3f337 SHA512 d5fb8a4b7587a35d372e8f0710899a7df4791ac0f0a7fb96b8fe2330a6d676ecba8903aa9c86d810b0575e61b98543bcf1ebc24e5961f1947e934d6acb121736
-DIST github.com%2Fdocker%2Flibtrust%2F@v%2Fv0.0.0-20160708172513-aabc10ec26b7.mod 34 BLAKE2B a4bf0454b86b8bee83b8b7c1af18459c17c527c3c30546cab6d4f3e950cfb7336d70d7154c2b799307acd9df81bdd341722555ee7f91a53a8604046039f3f337 SHA512 d5fb8a4b7587a35d372e8f0710899a7df4791ac0f0a7fb96b8fe2330a6d676ecba8903aa9c86d810b0575e61b98543bcf1ebc24e5961f1947e934d6acb121736
-DIST github.com%2Fdocker%2Flibtrust%2F@v%2Fv0.0.0-20160708172513-aabc10ec26b7.zip 55046 BLAKE2B 3b79219296ef31cbf7404bf3c6290e20cc0d8b55650d7ae8f98cdce894839a0f7c105af18a8018b17366e8fcd0aa182eeb4ded9197c290824f583676026786a1 SHA512 fbe6d7b023d070a93eabd1e5c2675d5116a9bfadf9bae3ccb209e50b4537d68044d48dd88b4e6af03e0332d33554f6e50a847d979aa769d50e9090559abb872f
-DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv0.0.0-20171111073723-bb3d318650d4.mod 37 BLAKE2B f097ba062c5ae93b06edbf7827cc21a40d6bf6d2130c44fc8002344e860b3471742cf930e505a74a6a2af3a77a6dcc7d01b103d01f6f208c96dd9ca713c96344 SHA512 be96d9da23cc31932c1001e2ed367e55d06ccf2af41cc106e83b92fb866b61110d06ff224797c942b9ab6104bdcba4542f2214b9fb2d88df63e69be8158c6e2b
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Ffernet%2Ffernet-go%2F@v%2Fv0.0.0-20180830025343-9eac43b88a5e.mod 35 BLAKE2B d74f0deb84e43864fb4a447289a83fbe23aaa185ee273a460d8726ebc29026e9899ec5cf35d3356b7c8bfc2908b97687cb5f8aa4ec9af973477f3d3d9a0581bd SHA512 18bdd654afae1e515f559edcf9c3782bf67ea3600781aef4f96de613cc765db6c54556fe97013b3107a121415e3afe98c9a3fc1abccddc3b49611985a09df018
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.mod 36 BLAKE2B 2b77fbdbb6c6c20767c120b390fbd2992bf79dcae0a35c27121a6e755233da3ecb7d74e74c38c0a2463976b546ed8bbfb8a8d8cb140526dd9a0c4f524cc131a4 SHA512 5749d33fb085d63b7c12f43df824c96f168323cf6d88cfea3e2536eeb7b56689dab9dddb8cde1ec8bc9c2848e7148b8a37abf8523a99c55ce10f896245c5f341
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.zip 41278 BLAKE2B e0b440a81efbe3c7c16ad276b4509652fd58bc94cd162b9ab13bb37c1e6edcd561e3fbb999e55619d58c8e3279b785b8eb67fa4e200b38fe6fcb60f0918e6e8a SHA512 9b1075ccd3d1f53773db97687e06fb777741d6c3b228bcc329be580562fb3c34006768eb3f989f92367ca116c597140045b3c345fe36065f5015d1d4652633c3
-DIST github.com%2Fgaryburd%2Fredigo%2F@v%2Fv0.0.0-20150301180006-535138d7bcd7.mod 34 BLAKE2B aacafc6177e1e87c8f4a17f295900d749608f722755d31a1939d1b601e4719984c0d1299fc4de9fe74c1109852009daf4641cb5c81629788a639eeb9314867c5 SHA512 c4b5fc4230e8e9c7631f577ee15414f7a72bfe27af524fd6bfad8c38a81426411dce35a191d840a9c69eeedfeacacd3f2a108c5eec35a3e30b0a7b262b15340a
-DIST github.com%2Fgenuinetools%2Fpkg%2F@v%2Fv0.0.0-20180910213200-1c141f661797.mod 35 BLAKE2B 7fc896729a5db9315caa3d40597c165bcec0ed81595c4834774cd90c005628f1d1c93b6d190f7f861d65b2908604b409330c66d36fc6fcf46bffc09900ca197a SHA512 1eae884e9dbafd573a380ccb8019472aa1dcbccd289ad727f2141c6225f3299226fbf23f688eaf6b4bf90a66ca07b3302bcb2c56d7a6bd5d06d5c6b400a3de74
-DIST github.com%2Fgenuinetools%2Freg%2F@v%2Fv0.16.0.mod 2928 BLAKE2B 6fe02174af4dafd42952fcfe2154097537ec8987f08f033d5a74269af29be30c69b7eef69cc99b6818d8ee6bb5f12a52a472a21ca935bf47c9f85ed45096137c SHA512 03748c7577b422271927f5ce5a2db942af24d0555071afdf6078487615f9b1f7c60822acec9b480d0b3e7c2514490d5013c134034faedf9f29b8fe133d348dfe
-DIST github.com%2Fgenuinetools%2Freg%2F@v%2Fv0.16.0.zip 372886 BLAKE2B 6cb8bfe239cb9485e9413d4b5f06d5c6b5adb23eaf0e89024d015922d2614c5e7535f6f9d6e60b7dc5411f1822bc2e73ed4a2ccb050d1aa91aed9bacb8182b70 SHA512 d5581f1d3c54e2e5f96f868977af964a954b0a307ac64bbd5b37ae2b6732c80d7ef72d3b05767598d1d3cb25335308ec8e453842491c57694f591235878e702f
-DIST github.com%2Fgo-ini%2Fini%2F@v%2Fv1.25.4.mod 29 BLAKE2B ec6988d536e1cfabecc7e1ee6070c6429c88de9bd970b3ecb35bf8e42ac3d2dfa08beefbd3741ef7a039020e6d41332039c6bc0e13d5e79bca84cf669e4f552f SHA512 67077f6e3f3c2571d6df326aa1d6351c3f7950337a23c548ff69e73df265db516eee559ee4afff17868068f2754c7ef272e46bc3dd5ac324ed002b749116794f
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20190422162347-ade71ed3457e.mod 39 BLAKE2B 9884f8a07f2a84a159eb17ef62e9b17398b84bdea38fc37591af050dcebc2f56b83f851046c3333e604a7f954b7628c16b267c0c94807f7a41d5d2b797db0918 SHA512 c32a84bb302c9db3f31f714484131ee3ea96fa98b224b9cbf2c5fdd15100a24094e94b55175cf1fb0b6326128c2db8950677d8f6d281b49645b0c7b51b759093
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20190422162347-ade71ed3457e.zip 91123 BLAKE2B 16eab5a0f642cdf2af9b9ffe96a6e83ad03f0a6d7898841defe1ee5855de12a28939c27c7cfa5c1a676c8293238e6282256ed22c10a32ea47bf3d41f7b2fd507 SHA512 74be69e28d337ea6c5a8ad4f2a563f0480d04efcd1e07d75cc73c008a79e5dc9bc4f8eb068a7eae263729a81f686f5614af211ba78dcdb786eaf65e4199e5363
-DIST github.com%2Fgodbus%2Fdbus%2Fv5%2F@v%2Fv5.0.3.mod 42 BLAKE2B 79541bfacd3378a6c6dbe9591309a80390444f2dc2419fb0137c723c6a2ec1e0588c00704ce3c19dc93297b19db89f79bfa09daa2632f6674e35e76819473cb0 SHA512 b9aad4f1c1d4f2c43b293b0c9ca8a600a37ca407ba8b22b0f826c8355828cb7860a96a85df84f720fe8aa2840974807ea7ea7b790790c6dafed794e761f1f26b
-DIST github.com%2Fgodbus%2Fdbus%2Fv5%2F@v%2Fv5.0.3.zip 91628 BLAKE2B 740176e3d836aea1d048b055add89c2da65bacf5ff93315a62d33a82bce287dbf041376711f0464eba8e71396f12e411d867e719d340c65d790948a17bab9779 SHA512 14f8d0a81caf385c26ef681e16e4045bfa0f5f08d90d68de22f17d6f462c592442a78d24391f7ea3b6e44e8a035b065d00d72dc34a72c50fdba85cecd118b63e
-DIST github.com%2Fgofrs%2Fflock%2F@v%2Fv0.7.0.mod 30 BLAKE2B fda15fb36702083cc063889e1e180403d555d81b02cf93e32d96826df51a2fd251c338ad21fa147a06c7107831f7a30cad1131935cb61a2ca58c65592400c174 SHA512 baa937326b26fe8c673b8e230200289591c55f2305258135a421996d9c97a9a12965bc5aefbfd7cb25db266c9c7777dee8d414044129e2cfcd1591a640d782cb
-DIST github.com%2Fgofrs%2Fflock%2F@v%2Fv0.7.0.zip 11203 BLAKE2B 3cdb4967b121474511dc3f7e8463fa7b3cc0adbea294bb1e17fbecdb4d7b3aebc9c19f61618044f62ad60c6ce765e90760a7429fcd817fc5983a8f43db3b7a76 SHA512 d943de66074bca8eb0901dda9b7b71a2b7aa70c9004e2be5836ab94f43977fd6f02bfdbc0540a23d76ad67fb46d696201badf220e1ea4f377537136839ee7938
-DIST github.com%2Fgogo%2Fgoogleapis%2F@v%2Fv1.3.2.mod 84 BLAKE2B a4c32df89469a4b93e0d85b867852d870bca997fd2d31163529c9a9f43e67765099caa6dd708e2edc4500b5496c4d36445d8f5c13ec9b08345d6f155dd68fdf7 SHA512 435ffb431d95016e1b15d4bebf142423ab3ac863a17a8ceb4a1595892e1a786a77b37ae0d3c63cd55904e92a783fd908ff5d79f9eeb5e1ebe98dc7e2c0b9a078
-DIST github.com%2Fgogo%2Fgoogleapis%2F@v%2Fv1.3.2.zip 171611 BLAKE2B 78ab7e9e5b381ff74c6fa1e25dacb3da3e8e21b86d59372144aafa5a49bcb3f2926abb373d102723c6e690d3056836a735d004f28fab7cb1aa6855d4bc3907ab SHA512 a7b2bbc09f09b2a66bccea6ad20fd04078ba9004ef07a273ee85fce81f2271e036eb9db7730d37225deec64ad2a4f09f68269bf187e9273231f78d47e1dc5ccf
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.mod 88 BLAKE2B 0699027ef7284edb7deb6a2640db52a5b93076e3250d42710bf02a1cd7d5f591f1d335ffb1e7e753dda5fe177837fad87a25bf69b03466bb545708fb2952fd7d SHA512 b91b25b4fe769a403fd7a1f82d7720bdb0526a349ffe7cfdfff09a2ba5e0015d5a3446cd8e0e5fe46479b7d2296a8616de38a8183c0185f84fcfc75d202db106
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.0.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.zip 2698974 BLAKE2B 5fcb1c66d3fa55efca631fe5def383ec089fab784cad7d6a031ea390463a0c552f5fc4698f7648d271f40fb0ae3eee525f149347bb409c951d15d86b7f560e16 SHA512 c7e2170eda176da203ca64e402c11489c1fd183afd3359742e373927ff228d62e445f5dfc001a471303e1708862998c125ad4c2db86919596297b11cae4aee9e
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda
-DIST github.com%2Fgolang%2Flint%2F@v%2Fv0.0.0-20180702182130-06c8688daad7.mod 30 BLAKE2B 342057d82bd6cfc545f94289ce6dda498b35f949a3e5f9ad978910e5fcde556edd6e7a3847d136c5ef40115d99d9718e0c2bd2f420ed4ba72a4cbfda31db4c6e SHA512 fdf76199e91b2db4f75d0f8ce5844df0c4d0ea77319bec31ea1cc12f67121ebdee9f236eac8f6410313e84e3d4d625b92105802b8f1bf25de49c870aa6574d49
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.zip 482403 BLAKE2B 47db66e9c8187c20b27b9aeb8584f0f2289084103ccda25406eb30059147c3bcb867c76d145c4cab7eae801ed4cf76a63efe23f091e05c9206fcadc3358a02f6 SHA512 d102d00618f077f7d677eea9f0d4aff600e4b95caaca6ae6021355e64ed0a8fe418fd731370baa968f6fd338e377b5d3a2077b0b8a1ee399f992b8a7717cf77f
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.3.mod 43 BLAKE2B 1985b508a7ca5fbf7283bfe42510dd54e1e409894b4bf404c918943c8bbc38a3682d00322514c8fef7d6528059fc547534bd956fb262f91fc63dfd6e97fe0bcd SHA512 17d97ea39719fd59908591504c8df288f5914243fcc43a2cd8cba6c2c50fd6f5315b17afa008f92ecdbda732d5447f848d31bbbfe59ef9bec78aaa3f25f51833
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.3.zip 458249 BLAKE2B 54ddd18b48745d6ad5a14e52a3eb57e28dc5d3ae87696a46dc48c867c7474af1b496d941005248f3af82ba4d2b964516e0325039e0d70de3758eb39e7c17abeb SHA512 bbde51e57a81708409dcc88617f1f5a4f7756c64912c4d0610899c6210201eb50782435adbf84cf622a47dd9a479c31113854d7976a434b3d882d218478b0e4f
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.5.mod 42 BLAKE2B 5e9f93d89d4f9aa6ac98c9fcf3f44177e95f08fa3d86789f56b6c52afa19c663fb36ec477a04611be15f51e8862ba90641fef9bac7c09b1baa7321b71b5c31e6 SHA512 603005008f167e32ed8984657a85676cc140d57adf0177895f6f4282a301c7f1fa2d826abddc0c59c725c810cf2356c820ac7fd64c6ccb2be132bead79603090
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.5.zip 458317 BLAKE2B df49024ad50c301d81d451351fec1ce0e3706c602de5068deeda6a0614412e49c0d230b47cd630cdc90a6a5bd4761e66f4f38554fd4b60b8896aec768cb98e19 SHA512 bc1c7eeac13afd27ba62c1343b697480a61812ab15231efae740c716f0a6abe2b53c8a40787601624af9017cd36463cc7cb5e895f4fed0de6e52a3c248bd0a9e
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.zip 74164 BLAKE2B 6a3c04c2986b35dcc32f14553534758c3270c294a5e2595487f884e32e76cac2ebbc34cf7e42232eb7d85e71fee7660b513de4e365981e625515b086c341d15c SHA512 7be2dd2b362f56ad7fb7be35b62a841ca051d4fe31ffe1ca784e393b0cfe44674a050cf1129a15094872bc16c8ed9bc62afe0e7017bcaf1a4eb9b2e39423f790
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.zip 99651 BLAKE2B 14632f8da685fecc046b2cc9e61eecca02e7bd4720ebb1d3cd01a299e59d47cc604abc57d5518e18dea69785e3d5d539d87da211279e238a78dd23e3d7f8c7bd SHA512 4b47aa3677a464af17f3e320f41f59e775b45f04cabf2cf749e00ba1aa97e27ee78a07daad347bac4b5c41e2c430634fba57c6edbcd7ad405b5a084142871362
-DIST github.com%2Fgoogle%2Fshlex%2F@v%2Fv0.0.0-20150127133951-6f45313302b9.mod 31 BLAKE2B 8b444a2f4fcd8323bb5c69f5b6a534d6d2b46b8f76a5cef4fea77c9ea8f67846a69daca9405d70182bb28804458214ff53cdff13a362211216f287e00a9baa5d SHA512 bf92a95139e1c279091b2adbc91ad5f0ab9d93852a2852a8701c753cb2a54a866b7d442f166c3b11e550cd04165d703f4cedec0479270b7406133b06cc99ca16
-DIST github.com%2Fgoogle%2Fshlex%2F@v%2Fv0.0.0-20150127133951-6f45313302b9.zip 8716 BLAKE2B 371550dc6d8c6113510b7ad13670c07e03a145856fa41df40106d4c301984306c15a107c55b6025eb3f765688e071eae22daa9733f27a3970068d05278e5b77a SHA512 9bebe6f57548beace50333cc841162ec9a377dea9aac5d6be81f3129985a1878fbf892a78f8ba635a506e67f1fb8c9c842772c8b11c220b0f25ff24240dbdbed
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.1.mod 30 BLAKE2B 704029826c505198458e86463528ce2c1b209376f376b92d4f05a0f4094d161b45470d04ed3c1b5635397aca3126c25911299711139d794cca3e9b2bb373ee17 SHA512 695f3424e0cc247a069fbd6b94820554e003030eb0e208ba7be38f660c5fc29f74a057e60031ec77918b5b320913d6deabdf19a0f0666b0f5bc5e2724e1fddba
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.1.zip 21279 BLAKE2B d8013c686f7cd497091f4c7d782b283eb95faa7617d68ec7f8cf937c5925d677d8552c662291e41cf2c137fce163d45fb62dfcde88088225c13e0980fcde3d7e SHA512 f28071ffb6515262fb73276725181a806740688fea8de8d9484e1204fcfe6e5fd437e38a3299acec6bb545deb31373d910a09d92937308176b2043ccc9f5397f
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
-DIST github.com%2Fgorilla%2Fcontext%2F@v%2Fv1.1.1.mod 34 BLAKE2B 378e68460634c64da8779bea61bcf813ce4c5797c3ea541362d1409bff606626917c1bc4cbd030d98077819c5a8abf2ded047c047c2fc6b58977093e67e7b6ab SHA512 1db09f5968fde5c7877937c2ba476afb8a07832943f66c24cda7669ccde744ecc5ebd6e9efee9427b24e10fafba5f7acba7416f9c4e438c2ae2ab22c4483127b
-DIST github.com%2Fgorilla%2Fcontext%2F@v%2Fv1.1.1.zip 6042 BLAKE2B e2f7528550bb8f14d3f1546786616d85248b896e5859c0cba4ed17cab5af3f37765064621fa41fe0ecd46646b547ac54a48fc42070be9271f6dc333eb7d174d0 SHA512 b062352a9628f1bd9408dcca0e1062fd2c20c7bb7e2ab03518f866236e914706412cfefdc21e7b836ab9f569ba0d93733bc1a3f3f0ef1ded5086075826b0c708
-DIST github.com%2Fgorilla%2Fhandlers%2F@v%2Fv0.0.0-20150720190736-60c7bfde3e33.mod 35 BLAKE2B 549faba95b001f14aa66c628d300b6b0e496c92cbd87ed5814b4dbddd422df6d5d7a38af10ea061e512df4129189d221bca001f2b23ce7bbd13fa0b7152bbf4b SHA512 b4c8a43e739f69430d5004c01d083be6f65a70301adc0cbe824955a3b7b50dd2b6033fe8db18419390cb577f89533e9b0399a169f1b10ea39fb2f0c0e3cc47a9
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.6.2.mod 30 BLAKE2B e02807a9c1526691f789f8b176ad7757507d87fc5fe0d52b8997d72e9d528682a6fd10aea2426d11649c3caa7b6e4ae3c552e86fa30f3f710e6354caace3a88b SHA512 2facee17b28c8b9111ec642ffa0975e7f80601b4ffcc4d1756468e963236fc303cf69d3b5129287b746dc08a66fb719706bef277171b709a3013e6b4ce7e43c9
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.6.2.zip 49324 BLAKE2B f38fcc4e7ebfe5ae0c0ca5eec73bc1f160e9e1467582b4ba8fadd019e8172d5c92814ce0a041e3f33d63129d80cd8210ef6ad14648b73ba483c7e4a9e47f464c SHA512 ba82f8bac4bbca155cdcb7ca59a4e9754cefbd65e45f84a7cd1cedde5e415c59e7a2a4f7ead37a615e3622cb8fd792070cb8f6fce4b9387067074ce89fb9b3a2
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.2.mod 30 BLAKE2B e02807a9c1526691f789f8b176ad7757507d87fc5fe0d52b8997d72e9d528682a6fd10aea2426d11649c3caa7b6e4ae3c552e86fa30f3f710e6354caace3a88b SHA512 2facee17b28c8b9111ec642ffa0975e7f80601b4ffcc4d1756468e963236fc303cf69d3b5129287b746dc08a66fb719706bef277171b709a3013e6b4ce7e43c9
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.2.zip 52079 BLAKE2B c04668f509f8b3bb85f90304bbd60ab871c2dedb9ae91a363e692951d6be27fbca226016aac4dd7eb345face0f8d318fdeb99a68b7f0db6c41759a09aca905b7 SHA512 187e2308e2a487929d71144596f7e0dea1d4e85369eb2ec94e79bfcdd895b3355d0a9ff75f68d0e915f9c45e4140549d1a470f48dbf588a43c472b635c744b28
-DIST github.com%2Fgotestyourself%2Fgotestyourself%2F@v%2Fv2.2.0+incompatible.mod 48 BLAKE2B 1928fe4e63005bf9d678f5d275400bd3519d679207918c44b0d93e829e1171dd1dded06cb8d82109e1f0b06b5b8a3f5124f1596e736ed83c15b6831de57a271c SHA512 dc9bf8e49c8937007be31d97dac8bc58e0ff9e983b8f287c50944ba074281c1e2d20e643cb26fb207a936a1703680a2884ef10d07bb0b9fa0c545d5414dcdb91
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.5.0.mod 46 BLAKE2B a909a61754bdc458c27211bf62b57f4ead8065bcb84511f4fc8c6fa77f56d78ca714e7e311035c1544d92f596de2fca56bcc767f9aa360d8d2cc36b7301fde21 SHA512 b1c1ceafb509b0b3c2b1c5fa0a28281880084a63a071a32f6ea4a04dcd2b2c455c9824414da7f767b1e039a079b6a40c0505a2e71991b9e737c1ba01947ea434
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-opentracing%2F@v%2Fv0.0.0-20180507213350-8e809c8a8645.mod 50 BLAKE2B 76c2ed48a610007fab08579e78ae1e2b1d038743f93b5ba36e9fc72814dcd1fa19c1afd655b6ba807448eb59010e680950cbd251cab89e9be4b0807a72b98c59 SHA512 5a6cc1e876170eb0017797932588f9a5fed08b3e49ecca379bd496d22b3b376f5007b4b82376709203a86b110738597e2863ccaa76ddbf56124541e5dfa0e1ab
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-opentracing%2F@v%2Fv0.0.0-20180507213350-8e809c8a8645.zip 88686 BLAKE2B 416bfa10eac7748a5439d6844b402a02f5f648f139942fec8c540c242447b9ee6945f512482b452448a3af6911b81ce724ebf872849175886133a405433e5ec2 SHA512 1ee1035105d982315dd77301deb2bc9175786711327624ae089339551333f1276794400c98b0df1f160f622baefe446376d6c774ccf0c203ae27a605034281c8
-DIST github.com%2Fhashicorp%2Ferrwrap%2F@v%2Fv0.0.0-20141028054710-7554cd9344ce.mod 36 BLAKE2B e3101c1f32c24b5d5bd3de55b4f15645e7f0b338cdcfa00d30cc4c063bf4e9e31e68972979e8282d04920ffcb54f112c8c8f6e0e109824e56881a6a699cdf622 SHA512 2b68ca06311d8602f04eb738a68a24951a9187aa70018d938e549cf7b555bf54dadbda5825501436c52f6103bcd220ed170c99e4cf777187e2b997c87f05fb0d
-DIST github.com%2Fhashicorp%2Fgo-multierror%2F@v%2Fv0.0.0-20161216184304-ed905158d874.mod 42 BLAKE2B adaf8e14cd6696bc97bedcada70988d2508d8bf28e94a8b528067359665aac351ec7b7f38ca1a89ceb0c18c3c7935e30af4df20102563c9372b34b0cf54d41bb SHA512 da70feb8b6a17512c3761ce6f13653ea47bfcb4af69b471a3bfde9b79901d0f24ede05c10d35f3e051df54e1e636a848be5d00194ef5e9b85bf7915d6b27dd0e
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.zip 19548 BLAKE2B fe48c3db37bc280cf5f36e522f4b13f7daa45768cad11c1148634ce7af618c1c20f568f98ea7193b0be7021fe8a4d209a4a7f1c94be3c05924a36022a57c46b1 SHA512 6927a910a368e1f2b0792989858d25c5a55891082cc38f5907c539a35919916e02872619cbf45ed583c6f6f8e85936a3fa790a161b071dddc922383e983d37ee
-DIST github.com%2Fhashicorp%2Fhcl%2F@v%2Fv1.0.0.mod 75 BLAKE2B a44a3c2185418f331e2648bdef36882414dbf8416884b8fd385b7e926c9b837d317322a433e7312e14c27eb095cbed26a74eec9822f0f063a2d14e753031f632 SHA512 045ed40015294ebd8f7a6df06b418415da8f091d09fb4d34fd70718bbf5ce9f49dca7399dc5649336de3fc83bbbd93e740ad6f62d41ea540fae3b17f349cd66b
-DIST github.com%2Fhashicorp%2Fuuid%2F@v%2Fv0.0.0-20160311170451-ebb0a03e909c.mod 33 BLAKE2B 2e38d5740d126ffd44a5cd3d08d36b199f703cfa71ae7a056358772263293b29336db7ba1ffff071ba064727f2ebe1c4be4138d8216fed1ba851e170a51e92fc SHA512 bc2e62927b25e1f3526c5cac02a02ea16f5950cf53c261b39dbdbcd59351ad9c61af40330a22ba7928628890254b7f956cc998a9799991421fbe84ce9ca47661
-DIST github.com%2Fhashicorp%2Fuuid%2F@v%2Fv0.0.0-20160311170451-ebb0a03e909c.zip 7144 BLAKE2B 13e521267bd5444cb3a0e65af43f1a97444e4dfb3012e03b0f1b244bb70592124a8e565675fe05b42dffd1d25ab865e6b46dd0e9037e0fd4b352f7d52b79b8fe SHA512 9aa4091d80a66770ea7d4e85747e847fe3d0e53d01584c006a49672810b89288fcbe52e70fdd6e1fd54a432451eb06b294c4ec3a876059bab80d221031fb53c1
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.mod 31 BLAKE2B 7202132cff9b47a4484c61586949dbf7e13622067675cdd09dace3ce2e5b3a37b6fc5275b3bd6dbb0ec6ca0335bb7c9a036cc043b2d8ff1f38bc90ce13041aec SHA512 54a5bbc02b82693a977a4f690314b16d94cf071decddee3a4af2a90398e626ff188bc34ab3517278e7aac4e657f3f3070a020c85274be3750371dfdeee139b23
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.zip 24894 BLAKE2B ab55c48bafc78202f2a0a494c6b00657dd81c078c0a23f797a59049e8ac59bc399f784ff81beb710aabd1d035e7ee3db5a4c90653d6e57dc3b3f0bcbd098fd39 SHA512 b77e39712e985744e277604bbbcd48f32d28ea69eac7a6b6cc0a3f8706e2970ccd5410761784b64eae73a07786cf81c665934c145369317b8b961b503582643a
-DIST github.com%2Fimdario%2Fmergo%2F@v%2Fv0.3.7.mod 32 BLAKE2B b90f36a2d75d98a23cf27a0bfde69a7c7ab91f3f58924624aae1fd1e924e10ec3dfb228bdff3d97ce3266360bafc06817d8d5fdde0b6ebe0f058866c84c85b91 SHA512 1128f41755f4d87f43322971323896d589e3790019beaf160f9cca1e41414dec968cde425be6d8b3912bef9ac09be186adf6417a6bdeb92ee5115cfff1405733
-DIST github.com%2Fimdario%2Fmergo%2F@v%2Fv0.3.7.zip 26261 BLAKE2B 65c5f6b4f0e2af1076e279c5d3f61f7d6b8654b8a7537aa291693a784886dc68da0c40b480d881c41bc46ffb28364b90d22d88b17cd82ac8380d5ecd9777414c SHA512 448dfe08b2a5f7f2f1e9868274be4dcf7d2f2ae495994d16c74924f8059742204547ef2abfb73428afac3938e5f477a9db51b29bc76fbda32e01b67419af46af
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
-DIST github.com%2Fishidawataru%2Fsctp%2F@v%2Fv0.0.0-20191218070446-00ab2ac2db07.mod 45 BLAKE2B c120fbd8dc8fabd192e93cd22f7361a058c95c5b69cb18bec7d186837a6a3aa6dab60fa03a46f018283cd98bf97a1fc2494c357961958c97389227df13f284f7 SHA512 8febfa2a5531be6d97dd97d6c6d5bbd5f7f8e28632766162d5a3c45d084b03608914cafe2d740cabbdc8f900e0b412ec988e4c0268a40a846064f384bd1cc3e5
-DIST github.com%2Fishidawataru%2Fsctp%2F@v%2Fv0.0.0-20191218070446-00ab2ac2db07.zip 23779 BLAKE2B 73aff9103f3014ce0211cb5f23e5b7a4766e30c13dad6f0004fe81b423d44e509087f0198a8f44b0428e888ecf4022b2cb1a4ec34f01a632bb6a18dc82ec880f SHA512 cfc44c73264d55878b2017f957edf246dfa321bc25ec77f04a248f628b7d65073ca9989c2ae1d2fd7ef02e50d936d7bc2b266a0ed2c936020f67fa6c587dd530
-DIST github.com%2Fjmespath%2Fgo-jmespath%2F@v%2Fv0.0.0-20160202185014-0b12d6b521d8.mod 39 BLAKE2B 6129177aeb4cc82860b5e233715d4330fc61c4b6783af687d936a5d783b32f7192f268ee0954d8a37fc1a6c22c147e86a1fc1c9ee8f48cc979931b0500fc92b9 SHA512 19819e43a514d9d7b1c8703c06c3729456a39a963a1cd3cdce7f6318a3ef67f8663c5a66b6bc402cf422d823b1b63540a6c79f371cb81ecd1f13de646598566a
-DIST github.com%2Fjmespath%2Fgo-jmespath%2F@v%2Fv0.0.0-20160803190731-bd40a432e4c7.mod 39 BLAKE2B 6129177aeb4cc82860b5e233715d4330fc61c4b6783af687d936a5d783b32f7192f268ee0954d8a37fc1a6c22c147e86a1fc1c9ee8f48cc979931b0500fc92b9 SHA512 19819e43a514d9d7b1c8703c06c3729456a39a963a1cd3cdce7f6318a3ef67f8663c5a66b6bc402cf422d823b1b63540a6c79f371cb81ecd1f13de646598566a
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.1.0.mod 143 BLAKE2B 128f8934f81d0e497e1258ec65129fe5d8831b66058669a5aef3fdb2fbe5f6d8ab30bfe97a1de7befadd34aafd55d6d15bb787e8948fb7718761392817203874 SHA512 c5e546822036a7114a29454e28290f8e1082392a47a101fb1d370e0969fc2c83186b4487473f903dd638abb8a763ce3180dc87993906895a2df33db7d8bc4790
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.2.0.mod 98 BLAKE2B b9d3c55999054ed927f666a43066ccc6758a6c5f550651f43ad5d85b5403c882ee76ac2b2553803d71789da33c60ea41857ed545003072ab6c666dbb77118e00 SHA512 3529b37d770af511a716a612b7fd7fb6a4805d13166e3a6f9378950443f6eceb2f3d95db5a46027437ce55b36e571c75bba72a03769d21ecdc97888019d80a68
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.zip 3567 BLAKE2B 80b7bf217df9367160180d44c1fab6a9f10154bb9a6455538860158a08c5bf8c794fff973b899b1376e4e65764a9aa0d6b8b162a6d9ebe1adb1368b9a2a42786 SHA512 27910ae03fc9fbf573ac31454635c43bfd771d2a91325eca544f7be0e24b43c2798ed8e74b4c31e8c20c1a9cd266b835017aea3a3e24c2ecb43a14a6143af8e1
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.2.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.2.zip 3968 BLAKE2B 223cfe3604cb674a11d4558b8f5a35e2eb41cf11d536e2e2cbdccd6a3c6bed8abf66f450774b39e7247493ea8a382906617c5f297fda02a272b18eef8dcbcf47 SHA512 16c4bf83b78541d2d684113926813ce4cc91f3f13f34dc2cf8d643661dc9f21a988b8382d2c058e138fc87c1ca197e8f694b07595959e917c82bd6ca9101a5ec
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.3.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.3.zip 3966 BLAKE2B b638ca22c4f9df8cce5b84837e4f72b009c1ead300c08807b8268d26f04d6cc5476d9af56f676d8f4ac046c78c333614670e0853bee13de3439b5d89b96bfbb0 SHA512 ff98f8c05d8e23fca69ee5ed780e728f9d1779ab55cecd16bff890a91d14af81ae7a0304f34b3e04fbcbbb61e3c97c044dd9c190bd8359f3b19bdd31f8a37329
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f
-DIST github.com%2Fmagiconair%2Fproperties%2F@v%2Fv1.8.0.mod 40 BLAKE2B b8e71ef21c42894c31d75cce0e7423b21e716de0539a8a7ff462e0d5c05c77795238598630208055ad808af2db8c56a997e7e114ef391c07d380b996ce533544 SHA512 8a724e5cfce28512549e7b06ec42c9e02625adfb3398fd45af07f8c512782002a262e8567669929626814758f9d12041c318bd4258f88d110a851630537bd5d1
-DIST github.com%2Fmarstr%2Fguid%2F@v%2Fv1.1.0.mod 30 BLAKE2B 672d0e9f9aaf18bd8da762725652827a96008d49cf50ac4c7a9776d884b15dd92a7738f49ce870b53c9136976487ea8b64a31f9b689615e16327b76a22ae605a SHA512 65984a32ddd3eea6fe699c2e636cc2368a11059756fd1f711ecb20930ac5a9bdabae5735e9d4ef829bc4312219bde9f2907dfc7864dc53c2a580fca3f8b7b39c
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0
-DIST github.com%2Fmitchellh%2Fgo-homedir%2F@v%2Fv1.1.0.mod 39 BLAKE2B e28ca0cdd6db21c4b97e47151a6c11487314f26d5a259f9d7f5581f3d92648a57d931e1d6b004597f76cf10916fbe14728c99192e24b6da674de2cdc9cc4e78e SHA512 a2b7ed5a25e6dcab620357d5c216546bdb554edbc6fd927a0703e788d7e7a10a743471d10f5c7cc56ad829ab35c7272c61d210e55947363447832e924844e9ee
-DIST github.com%2Fmitchellh%2Fgo-wordwrap%2F@v%2Fv1.0.0.mod 40 BLAKE2B 089a3d8f85648feb04c692c4e108e1e843217ef67fb3d5c00ffec847c06eeae55a9432c206753cb220595441da76b635f33a9812ca92f04959b4e7dd08644abb SHA512 e8e4f318e3cc6d203ccc62c0b47af2aebee3fb99680cd6bd24af023442154ffa9c3d4bcf9064af5220f01d3cee71e7c600e465e3651ae0d7d15e2abee1caed27
-DIST github.com%2Fmitchellh%2Fhashstructure%2F@v%2Fv0.0.0-20170609045927-2bca23e0e452.mod 42 BLAKE2B 8ffe9f17b9bfd55d7f3b44a0571132809a2d18960cad73780b88d31a723fb380b82c2c3952030a0bb4802929b625583e8aec8875c36a2720c0135ed8b59fe4d1 SHA512 414c86e4d26a8cd2f215353f04ca7ba0eaa17af36e3d3708164cb3698b8d198355bc7bf57897fb9d96cfa822ed50681a18157540a752998060c1549348791755
-DIST github.com%2Fmitchellh%2Fhashstructure%2F@v%2Fv1.0.0.mod 42 BLAKE2B 8ffe9f17b9bfd55d7f3b44a0571132809a2d18960cad73780b88d31a723fb380b82c2c3952030a0bb4802929b625583e8aec8875c36a2720c0135ed8b59fe4d1 SHA512 414c86e4d26a8cd2f215353f04ca7ba0eaa17af36e3d3708164cb3698b8d198355bc7bf57897fb9d96cfa822ed50681a18157540a752998060c1549348791755
-DIST github.com%2Fmitchellh%2Fhashstructure%2F@v%2Fv1.0.0.zip 8207 BLAKE2B e83d1907a09b00eac0ff79803983863e643961fefe9ff69fe0c8ca7ea590d0878d416109df385eddaa7eaea4cbb86fa60ad0df16a09254fc16d06cadfab82219 SHA512 c4d665252984e51420039cea5d2fb7e435b31cf8df3fc915bf01eb19b739514ccfd632c6e4b4f93df575b0e1fb02ed7ea822a5e02790442bae4e421b7cff44b4
-DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv1.1.2.mod 41 BLAKE2B 291f73049327af60c94a2b2113b8e370f90d2a3fc7074c58ac523ce2a613ebada88ce048a73cf882c68ff552dd6df0be42f796f4ed11a549c0b7ca6c67f61c38 SHA512 7816e3703475601df65f20ad4e5d1f6bbedc4a7c87c594518358c1a9c24421aa5ccb6e8389ad983a514a823674c6f0f771f1f367b10d99691dbd8db7105ec44e
-DIST github.com%2Fmitchellh%2Fosext%2F@v%2Fv0.0.0-20151018003038-5e2d6d41470f.mod 34 BLAKE2B 420449db437a4343e47d666ed912d5c57298ec80d13265f293c3a2294624cdbbce9fa319e47ee530da73bdc06d48d80b4a590a03fa1d741f089ab302cadf071d SHA512 ded99f470ac6900d2627d6cefffc4adcd64946cc036657a805f90145aa83fe05478df9eb994059cd8d9613c75f3009221ab0405bcf7e14b00d5d950e09f3e354
-DIST github.com%2Fmoby%2Fbuildkit%2F@v%2Fv0.7.2.mod 4332 BLAKE2B e2d0b37c4c5872e6a38435362ca268437eba47cdf9509fb087fc513701b764a2c7cca39a546f995fa367f3c1f2dec5ea416c404992b2ba0d8b49d56713c1766a SHA512 529f95678a56afa1e274af89a992a04c7a6adb4bd7c3a15350273a15c260b8a34be1b7d6852981b6d0b2aae8dcaf4f826a2545427ab2ff53439ea7b516f2afc1
-DIST github.com%2Fmoby%2Fbuildkit%2F@v%2Fv0.7.2.zip 796470 BLAKE2B 622c735e410594e5a09ae70420689ee6bd73be79b33c37028022822b331ec85b5d826ea69d25dbb434d6c63914acf97e5b7f9d4220f336b2c3e0f4f02abc80df SHA512 9882e3573611c8eae8835efa92ba36998d1b2a5c8dae002b0e1e1bf4d9872fd24ef0b63afa174f9f290307032a1bbf393d0cda5df71bd10d1bfb80ce069afe60
-DIST github.com%2Fmorikuni%2Faec%2F@v%2Fv0.0.0-20170113033406-39771216ff4c.mod 31 BLAKE2B 5b5d97cb4685ef921770276b81b0bab6f0acc362b49544e23c228fa4e26c3ff712b58e61815616fafc19233d3cfac47b05e9d55d926b2559137ad4e7d734e113 SHA512 f868673a9af26c1735e257c840e1f9f5de035ebdf3814f8568af504af6f3d94284e050f49e96670a5643804760db2ee8e50d396f6d6c1d17c94258695ef41748
-DIST github.com%2Fmorikuni%2Faec%2F@v%2Fv0.0.0-20170113033406-39771216ff4c.zip 57428 BLAKE2B fbf4df5732ec592055be959bdcdc61cdbc34d7eebf9943be51f373c07ec454cd4b69ffbaa29e05207765e9bb5e7f2f96ade50676e2f855d9140808abdb37a8c0 SHA512 b1ae387299086dc7cea9482ef991a5f36cc68f4598f0fdf179ab4d3f774632cd1130a45397eea2dacc0c7fc92f9491d0827e6e666c1f64c6dee0150d58f943cf
-DIST github.com%2Fncw%2Fswift%2F@v%2Fv1.0.47.mod 28 BLAKE2B 57fb6c274af3e1f296bbb2c4b81cf52ecd31af71afac9be2f77ca58c67831ecac4eb2f4f8819c510f3e2982d9a5ffdfbb5f384db878b37b531e59e06e0093a31 SHA512 2f4794d0c8dfff16f1fa252eb5e3396e2cc5479c96b5e4af9ec01931387790e51273d4a308fb2813a699a54a3cbf6b3adb5e92d831d3032120cb5f19698bfd19
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.1.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.3.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.3.zip 244154 BLAKE2B c770944d112fe8352d48de60bf0ef0c656008eefbe1ccd0e498e3f129d948a77bb625b6f2b7f9b26998774bf1a5490d1106774caf2171e7c7d2bc3a8e2338ae9 SHA512 fba02794ec34d0cf1083c48373889c62be424b5b0b63a614d64bd03718bba0cd928fa5d6124bc71ac014c8cc8a644861e0630bbffdf56295e56c670fda919e3a
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.6.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.7.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.4.2.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.4.3.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.0.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.1.mod 556 BLAKE2B 8e36edf565660234a9c939b93e99acfd61c30620cf45619158d5a87c102492333387de1bda35aa226695f913358a4385d1b8b768527d8a63d056ab8f13cdae61 SHA512 3c48b6f2cd9bc71efc218b11ae432776164936d4474df73510a785819c417fc894ca71f5783da77f323754ece56b681f8f1e9dacd5bf309f189997ba0b317dfb
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.1.zip 157699 BLAKE2B 15dfd7933294898066316bcf6a0943e1dfa8b6099ec8d7f05425561f622c4d81989a239d46543c37d9cba761eb08ab6a1bc6ef1fc8c8f48fc0059edfe6720ece SHA512 286608571a79faf71bc8cbc29a77ad4478cd2a1d6ece91bdaf4a7c056141a154a04c2c8a93612c3d6536a6064b9ac9198527888a3fc0cb7756ec41548e7dbd31
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv0.0.0-20170106003457-a6d0ee40d420.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv0.0.0-20180430190053-c9281466c8b2.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.zip 27125 BLAKE2B ace23a65113f48afafaf52d19231b51238dba82a08a85dc615a0037b037530f3fa3bba1af1ad885eed9ca453aeaa0e2585d2f1b94cecdccccf2e32d36a86f11b SHA512 95dd5f43096dcde7c21338e393977b2d8ff3389b9c9b24ffc11df2cffc73b26f3f16a6406b10281add7d6d952ce2276639ba94929491be7792a2cb8f40746bee
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0.mod 52 BLAKE2B 451e6b2dce76ac1525c48f536a0f9fc9ae773978ca7b9356bd75473e075877d0127217cbb5695f1fe406295c02a7a9d5424f2f7d4520505d0119834c11645785 SHA512 708918e1cabb5710f63858f35ef5bb197666b2ab8220ee48b47575b77805e44b083dc7577ad3bcf9414fd801653c21be9582086ca73fbd9c5589380a7450a400
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0.zip 34573 BLAKE2B 156844533eaaa6410ac116ec0bddc68ac155aebafc017c51e6fdbfe0425a02dc878e8515795e9300b6ddeef776aafabb60ad0c420a1acb9b0fbcfa1fc0f84905 SHA512 be04251b483e39b4cf503ee442344d3ac1eabcc7c41acb56c25d65ee35eea414f798f159fc168ecf5594b15b9d5349c96cb9741a6c5202cab4bfeb104353a9a1
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.0.mod 44 BLAKE2B e60ef6b775d320cbbd7d0d655e4a0d855f79c0f563ff3aaf0cf0a13485005c800680cb95535d57342c6f23a69da021089f7cb4d3caa3021852e1462126137887 SHA512 e7d3276e531b754a441e94acc632d7322837cc2320ced66e3e91e3512164ff84428a4665493bb3a7cf7e1057e82097bc54d0b811738b1e967b9c248b907d777b
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.mod 44 BLAKE2B e60ef6b775d320cbbd7d0d655e4a0d855f79c0f563ff3aaf0cf0a13485005c800680cb95535d57342c6f23a69da021089f7cb4d3caa3021852e1462126137887 SHA512 e7d3276e531b754a441e94acc632d7322837cc2320ced66e3e91e3512164ff84428a4665493bb3a7cf7e1057e82097bc54d0b811738b1e967b9c248b907d777b
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.zip 170576 BLAKE2B 52c16c643c1e621cb967bfcfa1e1209b564dd81bbf1b0427cd5c02b85160c444fcbe2ad9563bd491f040df2c4c6b9cc35f6ec83f671fc00e3cd5f40c8ca3af25 SHA512 04aa87f93002428f1ab79190ea584b23363126390dbdd6c05064646e7c5c3710da712b730f8da194bd83c7b95f260eb1773fd8c1c9daa9f41891a765e6a21742
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.0.0-20190115041553-12f6a991201f.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.1.1.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc6.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc9.0.20200102164712-2b52db75279c.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc9.0.20200221051241-688cf6d43cc4.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv1.0.0-rc9.0.20200221051241-688cf6d43cc4.zip 615485 BLAKE2B 0709f67223d075151badacbe96dcbefff8a8927b99ab2f24155962c0180af7ce5b13b46f1bc661886e7dd1c5aa83067a9f998c6d279cb5a26e40301697f9b80a SHA512 e7699312c564063e063b568732848563c7aed63b561a6df9255582e3dd46202a43d8da307d2f4066c99e89304f53c60b0e89bd64a7bde2c97971504f60d6b007
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv0.1.2-0.20190507144316-5b71a03e2700.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.1.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv1.0.1.zip 79636 BLAKE2B 54d182e4edd486a8d2ab61cac262b8227d392430730850cc670a3dfc038c25325a60056565e383a94d21c5016c28d86255185fb6cd7e75edd0f99e8e87d8085f SHA512 1674aba312894bdaa50e2d5b91a65ac557daa696289f395adcc1f458dd1298c305453e38b85c7ff6c125ecb7ba57904f4e23bc613b0ab09171018223e1f7db36
-DIST github.com%2Fopencontainers%2Fruntime-tools%2F@v%2Fv0.0.0-20181011054405-1d69bd0f9c39.mod 47 BLAKE2B 0eda9805fe0e1acdcc1e7b2693e72e39ea416cf57a108b1847491e1f15f8a7965c8aaa77baad1ae6148f39d36b1fc5fcf159b54111bee0d20bf2fe8edfdf85e2 SHA512 4e53e67b276ea3fe8a3977bbe72758bb2f844e22cdc3e23994176821cea51b10f5e802ca3db848a8b3d00a146c133a89271ee76158c478683b393682806400de
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.2.mod 146 BLAKE2B 5f1b9af6a04921a636cbef00a5dce3fcd8dc2836d8922a16b4abb1b06f898b9fbafaafc732e5c43dd774f0bc4416e186f936afd3734aa08be41908ff88971aee SHA512 737cceb5d3f0b5a231216e0b264ef250e550073302e4b3ff6fab616a90a4652a4ca7051eae98dbeaf1cd6d13ab703bdd6cb12e17ed7d2c44c0bde3a0f0a435ba
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.3.2.zip 27107 BLAKE2B 0fe74b88e85a3e508134750d89d8276f5819c8c73cfb06f69f685c7dc16e690032c13a8fc3367e5c27eb9f390c8fb46fdcc442fc9cd81c56b8ad67e7a857a14e SHA512 ff9765aef5320032664d33d84de687854dc304a1c311c1712a98105d8d3d4f35c286533cb91b279439141254d5772689700a0b34d10bb5313d2288484536b60b
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv0.0.0-20171003133519-1361b9cd60be.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.2.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54
-DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.2.zip 34113 BLAKE2B 29aea1a410735b812d7a0df30523e7632929f836ba18cf7329e0c1bae5b918ea898c8b10e59b9407b6862d28236c8877492a16e48fce256c0a5dc2ed6e798cab SHA512 5f35c076ac542650bc8d43fa4937f8f3e2de363d61909928d165a7673718f5fae0b0ca4d5276b31e044aff3f725982f4b56eed908312959dab24b344aeb5b88f
-DIST github.com%2Fopentracing-contrib%2Fgo-stdlib%2F@v%2Fv0.0.0-20171029140428-b1a47cfbdd75.mod 48 BLAKE2B c08c41c4980afcb2ed505a0061f4139c9af4242068d0527ee2f5f82125a1fa3db4c9c78a0995de0aac8fd7f86bbe134843d80a5659cdea287fd33bcadf85c208 SHA512 69c3f270258679fdd5517bdd5c08411bfc6157c63c52970fca5a223bbb192559ef67981fb38d1b3ca8498358cc98a640606a145c8acb98f224b45d48627f281e
-DIST github.com%2Fopentracing-contrib%2Fgo-stdlib%2F@v%2Fv0.0.0-20180702182724-07a764486eb1.mod 48 BLAKE2B c08c41c4980afcb2ed505a0061f4139c9af4242068d0527ee2f5f82125a1fa3db4c9c78a0995de0aac8fd7f86bbe134843d80a5659cdea287fd33bcadf85c208 SHA512 69c3f270258679fdd5517bdd5c08411bfc6157c63c52970fca5a223bbb192559ef67981fb38d1b3ca8498358cc98a640606a145c8acb98f224b45d48627f281e
-DIST github.com%2Fopentracing-contrib%2Fgo-stdlib%2F@v%2Fv0.0.0-20180702182724-07a764486eb1.zip 8880 BLAKE2B c6df8c2d863b755bb58d562100caac661c62f68e40d50b154979da87d86b8d6988dc8fb2969161ef68eebd22ac5d8d6123700fa303cca52b8141203d86d5992c SHA512 90722a50f1f57633959503b5b780766a78512aa1801bc501f251b5cc25bfe6824fc329f63678c8a98e04fd9e558711d35c2053a19c6a9cd89c8d290864dee648
-DIST github.com%2Fpelletier%2Fgo-toml%2F@v%2Fv1.2.0.mod 36 BLAKE2B a388b7d0db7c8b9a589164ac639887f1e54d3f5d59ed9bfdbb427b88d381d95455cec1f3474d6dadf847925b7b0e9944a3713656f4870db4fadaa1774595c3f1 SHA512 b74e16c113ace53ce6b7a4df1fc73f21a5acdcf3d2343a4c4f1ad7a2cd8d2282ef7ede98de8c1c46f7d35feae28c9f49ba4a2dff1071357cb4e88e93f25b521d
-DIST github.com%2Fpeterhellberg%2Flink%2F@v%2Fv1.0.0.mod 37 BLAKE2B 019204f78ffb09224fe4150e0e91d86fa5ec8367d9176b36bb304b2f42eacb41ff9cf1bc6e8433f1f6af522c57fd0762a029821aa4c5e5d5402c9e80fa7df26b SHA512 cf8dd9328f63f91ba5c1318d7418c07a64c03421068e9f528a3799dd691e9f1f8f819ce2c879f0fa9e09a99da42e3c638b4639aac9f105776b1eb15049f20fd0
-DIST github.com%2Fpeterhellberg%2Flink%2F@v%2Fv1.0.0.zip 5225 BLAKE2B 1e62a520b198663235bd6d62add09e8457148bac835d4f048887f94cdb66726cc2193b1514bd8c451fbeeffab051446c523791d90ce1250599d280f2d4124607 SHA512 46c0f0709e767468561d319d12f845606c2f200ef9e615064cc8228a39686d036ca8972fe2f91ed65752d4859e07f4af690fb438fc140da87405420ebffd76a2
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1-0.20171018195549-f15c970de5b7.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.zip 14339 BLAKE2B 9332d9cac7dd3aa2f4d756f0d92c911cd0fb8e00232db3bb013a0ef12addae0aea2388ce3adf79407a81e13cfe9cd4b45aeb2bc9f8b84b4e3c5dfa63b59d46a1 SHA512 f97471d54c5e73b3f59326847cdd4dbbb142a9ae790df83493f11a851d716fb407e01a857152812caf731b8f3e0f37ae151ee83300feaa73152173f6cb5b8515
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.zip 17866 BLAKE2B bb8d50b9e736f5f1e129482bd50f720b7dbe80935fcb6cfbec6d5a5f5ba5d5434476d66a362f12bedc304e89c9886d4868d310710aa100c357900a742d4ee341 SHA512 82b0ed1ceadd44a2871b56e733a118003b1bae9e38fe95251e0aa06a0a4c9b4940c485336fa11335974e0df536dcd0491ec1b2e545ecdddc7f9ce59771f86321
-DIST github.com%2Fpkg%2Fprofile%2F@v%2Fv1.2.1.mod 30 BLAKE2B f5ef9d146a30ae9c67d2f7e86eef366821045d1f7b6442681377ec8d4528e315b661373ce82bedce6dcc74bb3dd9b7b2e5d59c6d5fe6aae8302a09656bd61b04 SHA512 a8742602593700ae7d9d1bb18e567d5784239e9b158b2c9ffc0c16e1212013bb9fe49c4bdfd58fd2e61e1752b5bd0390fd6910d66e5ea8917450a3e41609d54e
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.0.0-20180209125602-c332b6f63c06.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.0.0-20180924113449-f69c853d21c1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.0.0-20180924113449-f69c853d21c1.zip 190897 BLAKE2B fa0e7ac0a0bea7c177075c73f24d737be66824cf269f764181728e39456a1aa3331f87afb58d175f532a43c8b7d43a200edb8768151af141d12eb4eb781954c4 SHA512 9f2807749b564afe1fdb848d01f95f6f693a28d352c618d08b34b3f7cf9ae007eeb6422d4a928c4101b718263a7d7d8e1004537e3a2613a7f631f379769c918f
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20171117100541-99fa1f4be8e5.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.zip 68325 BLAKE2B 9b783cb98fd4f1ceb158d8a72ffdc7d0c232a8a9740de221b4321b2c7e240d98bb5f2bfca74222c6a7796368d48b1d3e315229a9d2c0436d5590bc200be31817 SHA512 25290d540c185fa2010b06596a70b6d06d4ae14fd92b4e5596b48074e4e5ef5ec6b990c8d0bc39cb44f0c2a83a0a1ac4415f86ea4e3fb69970bb2496f148d0c9
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20180110214958-89604d197083.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20180801064454-c7de2306084e.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20180801064454-c7de2306084e.zip 129149 BLAKE2B c28cf5021255ad8f2150db609ee74fe675f9990f14bf95024029330b950489a1ef1756e9c0635f5d0fcaf89863ef08904a3e7ada1f8cad8f42395a9221fd461b SHA512 a6e76b1d9e34fc77e2b39c2828c04cb3979407cefcd413aff5218bf96379dbf3b78c5956f8de3c980311375026018178367d105a0296faf23f92926a794dd7c8
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20180125133057-cb4147076ac7.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20180920065004-418d78d0b9a7.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20180920065004-418d78d0b9a7.zip 96902 BLAKE2B b9861291fa35bee207c72f470e9d43f78ad68b5bb04bc30e3eb9f117686f2d7fc401e20bed34ec51aaedfa53e814f87ee3cf109d941f938596690ee4e01e9005 SHA512 b268e39aa38a803e5afb6a0b8dffc097b83ec653f2c092c4ead344d2fd4abb20cc2096475f7ce88a30a5a81571b13c465200dd965f246313d6060fbbe44af64c
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20190522114515-bc1a522cf7b1.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.5.mod 136 BLAKE2B 49b2b47ca2cb64a1522a3719c1b46dc6f44d3122d3a05ea475dab88e89336aae3f396082f4de0f89400a0e8db85208446582a226238a701fb92c155a2e85fef8 SHA512 fbbbd57eff765585e67074e5c278d7d3077289c3d13c306147d6c3efb98232ff317ad92464ba768fc3d921b4a09cb3f3ff5c5480c89a01ec821bc86e5dca82f1
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.5.zip 188550 BLAKE2B 6163258786861881f6a7b621f8578e8dbe3eccecee396c3564a88686cfe72584e234f593847ee5cb4fed6a6a1009f1f14da8238f967ce5d68ff919410d25d8df SHA512 42a764174dc4a56c6e27b0e83004f042b3fba397039a923310b8bdfc658ec24096395f27bbd69e8275c1d0f0ea45ed68c2015ffdcc74b6186c6d1497f0ea1e6a
-DIST github.com%2Frussross%2Fblackfriday%2F@v%2Fv1.5.2.mod 39 BLAKE2B 6d577028361a97eeb7070517fb59bc801499e5b93cb97da563e41b91ab1443583510a259283bd01777ebd435934f27212c15ed32cb5422d6d711697a7c714579 SHA512 d9e6796c9e0a1b870a32c313e22555a090e85919007d50ed4dcbcd3ccbfb90a3ab98e9f3e2d41bd32196e3d5fd57c62e6d47aa65e79efd3d05b7d73ae9bfda7a
-DIST github.com%2Frussross%2Fblackfriday%2F@v%2Fv1.5.2.zip 105716 BLAKE2B d8a15d43cda9d636577a114fa0cbe0c570146402a5e0bfe94bb4b49f1b5d42dc6f30d9f29682721c28c63d261f9bc6fcdd6094bbedd81ace7bd2ef657ed97405 SHA512 7cc5f41055137124a3d330e3686860b3294c668b514fe19b21edd6f571ee4f3d895dacad4ef6e333aabd3a872f2bb3ba50ffbf19636d7f1bb462d97026713322
-DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.mod 42 BLAKE2B 23dbba19737db7327590adaf3988abb9b5548cb3f959a9746a3b745c51f3c1397f071f2573a413a088f58e32959a2210c2b5354c47c263e90ad2ff1506872a5d SHA512 ac376a387fa39fe35dc4d073d8becd74e79f52e9d36b0a6628740dfe0e7c1f4fb6533fc262212663b105afcaa104082e055fa87d20cb3068359faae6dcba7738
-DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.zip 110026 BLAKE2B 862c858d51e59569c38e1304de08c256752db260cde7f7f44fab41d22695999fe73483d3854166f4e8d3da9b4f8e41b7999d7e44510ab8c2ca6c0120173b77e3 SHA512 992df87104aa66dec048d39496c85819cab19bc890cb2c60326660d011642f49cd926b082d3eb4136b229a6e4893ed023a133e4bf83a4993c534b24e14d77b4d
-DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.0.mod 33 BLAKE2B d6c66082304928ba92ad6144b157ce4f59db0abc5af56538abd5a81fd927ea716df4b5dee47ff883dd99f377d2b3a772296e08244fb7a769a5843a54426be81d SHA512 081e7b82b53c1a86743e3cc4973c1bd15e1b5c48929513bfc41c0e182fd4a047519b8cac9f4e830d7a08eb3443b2feb62c727387a294a30b7c988b698d6e8d45
-DIST github.com%2Fserialx%2Fhashring%2F@v%2Fv0.0.0-20190422032157-8b2912629002.mod 35 BLAKE2B 94a509a8d541a0fe5826e711c6c73d4ecdef000a04e6996f80bb4bf183db05c4a0ca427f3bab329b2acddfd11080a913ea1c805705c3a322b19e2c5379c518ef SHA512 9bfad30911f387eeef0c1e170b9659270730649c0a15ca736747e052df7d2530d74d6625f3f3fef79d37542f3cdc5652d5446b7c2ebb5adfe9eaf21b2efa48e7
-DIST github.com%2Fshurcoo!l%2Fhttpfs%2F@v%2Fv0.0.0-20171119174359-809beceb2371.mod 34 BLAKE2B 5844c0db6ae64aae3cf731d2d71203d29aa723f4ac32760f4b74a4fd21bc55829dd0c5ac9fcb71c368026f9f60ab48a623d976e1de5c7a0085e095b701903d54 SHA512 96df2995b87ec379faba4c16f3e73b60edb5e9831384d171c260539f04c1cb6c66c5ee44ca1d293d9a68c9cb70d40a0dc09694c6a412f5445c353136f1fddf24
-DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.mod 49 BLAKE2B 47bc5235e81d233e28b446ec2403accc442b4cc1ee956a0b7d47b5dac2a525f22bba87d05c3fe09179837860655f27191e073a3f6d7d0dad81c9a750752fe5f8 SHA512 6f6b924c2a3af28ef4342cdf8b83b726f2c409accf19c6ba0a4a47c6ae61857e4b69727fceb9e9e16fb8ce660a7181952714d49b6cafaacb282fa4e8af6e13b3
-DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.zip 3399 BLAKE2B 348c2171bf3404d8b69166fd412707d8a348e1d808618036de2ae01fce77e3880fc782ef301f9b4135a19d81ca9ded5cc0cc4fd73d36b66b121b7f0baa73df51 SHA512 d02d5e4b8a24b1709c053138c4128d4bd6347d4adef95d1e25141935cf560fdcfd5c2b7837d6e690f175f1cd5a21b0279ce97b8b3b66d5e0a5006e4103b25f46
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.0.3.mod 34 BLAKE2B 9ff118e3db6f2a49d8cef81bbb78af4ae29fbcf97955758c08c4a9a610fa66f1f6da80dec5aff3c657bbbdf1fd5330331e58dc46c2b2bb657438ec0879a3c45f SHA512 186b34d707aaf1557ddc8edaf49fbc559024f454bd560ca8451cfa555abc211cccf861aea94018363547e39140d9e507c97f7a3c87bb9f1e5d444bab4c531e36
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.0.4-0.20170822132746-89742aefa4b2.mod 34 BLAKE2B 9ff118e3db6f2a49d8cef81bbb78af4ae29fbcf97955758c08c4a9a610fa66f1f6da80dec5aff3c657bbbdf1fd5330331e58dc46c2b2bb657438ec0879a3c45f SHA512 186b34d707aaf1557ddc8edaf49fbc559024f454bd560ca8451cfa555abc211cccf861aea94018363547e39140d9e507c97f7a3c87bb9f1e5d444bab4c531e36
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.0.6.mod 34 BLAKE2B 9ff118e3db6f2a49d8cef81bbb78af4ae29fbcf97955758c08c4a9a610fa66f1f6da80dec5aff3c657bbbdf1fd5330331e58dc46c2b2bb657438ec0879a3c45f SHA512 186b34d707aaf1557ddc8edaf49fbc559024f454bd560ca8451cfa555abc211cccf861aea94018363547e39140d9e507c97f7a3c87bb9f1e5d444bab4c531e36
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.1.mod 337 BLAKE2B 41471db637c5c0363cd36be6d16a6228671ce9658ef71103ad2122a2cd8cfc13c30b87bf2b34df7ba9d6c1fff1ac821462fbb86b622c274cf26a1e3ecb7fd2e9 SHA512 29a4efc27c658b047fbfc6eb2ae311753b01fe878cc733e2fdfd83f5791b3e30ab50b08addd300dff37e7880f6b57662ac0cb0f4b98df2c5a5a9f7d555bc98a5
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.mod 337 BLAKE2B 94ce7d2e23281061ee0ac0b1be2f8c3439c86e62c56ecf556a81123d57d819b1e0e95ec3b7c6425f13abaaa1683942b7a3d0bb8ad489577284b2a6063c777b37 SHA512 38a79599dbd09661614d54fc92149fe581575b7833e89dd73a3f754fafa4bc549c6c9078753ab8e2a85ce2be3ab81e528e29b6d19e7c329e0cb0f74896d2e418
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.2.zip 58627 BLAKE2B f4276f0095188324c06e4412303ac19e3006b18823985e26ca49b2de54ef58cade626b3d2439f5f2a29c47618420b890951f94e5a4801dbaad4c3294f6555a4e SHA512 3bf6be07dd9a97bde938309857e16dc425587c100e35b2acd1a6f11a9ac196238b0844abbaded43fcc01be0664efa15b64f159f6259322043e3046e7d361dc20
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.6.0.mod 301 BLAKE2B 5322be7914862368eba07f521c046dbd7580edafd47ac633116b8c9f4b61526d0d63df11ba6894223590a1ffcf4bf478c394a335c305010ca9fc18107d4e61b7 SHA512 8fe5a437a5f3f8c1ce0aff067ee261a946d946d7640aa5acf7c34b9c8c4ee65128a6421aa38bbb1feeba1339b356952ad58b4bad98f1c89ac455d94e86684a8c
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.6.0.zip 65802 BLAKE2B e0487985824efba7ee61c5a73df7b591d625dcda32f833ae276191cd82bec8f3db30cc2ba217d80cb56af1436b8954fcd22ed3f861c6c7fcb4a94818357bbde3 SHA512 abd13a98d10b6c996918712443edacf97ba5fcb9ece7615f59458a583130f68920dd313533ff0d8c84c6011fd2c4d221783b1250e3250b569a6ead9d7c02f7a7
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv0.0.0-20190330032615-68dc04aab96a.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
-DIST github.com%2Fspf13%2Fafero%2F@v%2Fv1.1.2.mod 30 BLAKE2B 9bf213acd16f9456f4a010a7c300a1fb7bf1ab248d1ac9eed7883deae7f9a6f6d0c761127b7b2c84e8dc46e7b0da2eecac9b334fd5a94d2995d56858d345edb9 SHA512 3166c898d741be502c0b733653cdca0e8ac4999fa6a5d67460b3962799287c9176b7f0243f0c0da394a4b7737ed1d1a6a2ee4f84a8917cf7076c774ba9a2a648
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.2-0.20171109065643-2da4a54c5cee.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.5.mod 310 BLAKE2B 851f2542f28849f4f5c33155e5d9562aa9aa2645f1fb57e6300e2c6e98c39e0728e01a5e26d4a514435245662fccc55b8eca4eb2633a21057a6c4a5d80d24fd4 SHA512 dfde1474aedc5f36508bed07a01fdfd433967d2a6c0acadc6d985ce862da5e1cbec7ced13d55073512afbc2d925e6ad3e3cdee9511ad17b14ea8a159d8adf8e0
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.5.zip 151788 BLAKE2B 423089b53512bb0c6d09fa259a266d879e2fcc1db85939481475f71df2dd91db5794e4492ebdf61cc6f694501d94cfe8e761f986f857f62e328e596413403304 SHA512 cf0a047c617e014bfcd50dbdf466431efba7d32186027dcd714e0a63a483d4abbbba00716265309f10477f7739406fd3710fa137a4dd6fad4a9d3c4ff84c991e
-DIST github.com%2Fspf13%2Fjwalterweatherman%2F@v%2Fv1.0.0.mod 42 BLAKE2B 1f0af0f4518708edd09c0f02aec6103960b023a6bc178181276c54cd86b653e8bd1ddd60c5d49fa75a85f1fa0d18f670a9c2ead381da7c4f2d5e611b24f51ca9 SHA512 748b5648bf8bec4d1efe13f4dc37608e7378acc2a7d954e9d3b649a4b170a1e2d1c61338f6bee8d9007ad75a5bde87487612b47a692d6f966bca56490dcb834d
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.1-0.20171106142849-4c012f6dcd95.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.zip 74638 BLAKE2B 0e9d2a40aa6e68cae69ae24f76385e840e0b53b2a4afcf89ac5ea61ee144462c113dde938c5de728c8e54e7e46dc099786ce85020bdd60859e1ac04393556246 SHA512 c33aa1ac5cf2a8441bc849a49b65a614de6c9e0c5d37a77f0b6972bdd8f25a651752743b1172e0a83fdbb384aa7e8b0685af5c5dad1bc128310c60e13cc9b56d
-DIST github.com%2Fspf13%2Fviper%2F@v%2Fv1.3.2.mod 986 BLAKE2B 4f2c5d920b08d5802df635316a6ca72ab3346dcd2b0ec76bc9657c265eebc68ef7c8036c1993595bcdb416ea9ef0e7ea338162a7c6854c98db3a16b035c310ca SHA512 2195ba8e28e21deb5d4f78a9319e568ea5e81fb7a257292ec12d0aeaba84d1898e8d0cb51355f87d7093c3c0501cfa1f93f2e520e40edc4995260d7977fe306f
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.0.0-20180129172003-8a3f7159479f.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.zip 37190 BLAKE2B 7c8b79cb736f53337fdd2878cd1d745a6da3d803c3d3f6a0ed53a86f1d4789d2c656c6e7a17f90caed496fac91fdc89fa66b1de7b2caf97409114aa59658efa3 SHA512 b2af82dccd20e9539d72c8629f2d4babd573f711a810fa77e629fec897a614776cc4ff857700c0b6eb32370a13d122504c0a4abdd3d9111eb8ac0938a0e7234f
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv0.0.0-20180303142811-b89eecf5ca5d.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.zip 83537 BLAKE2B 6d6de57cc5e393aaef1cdc7e2140143eb7fa324bb2ea3b9f63bfe1e8652c02d24eb441fc3b435c6b287f165c5540a008a7c21ab4070d8bc77c77e6fb608f7e46 SHA512 c5cd06f825bbfdcf2ae58ea21edbeea03c110de3fc20fcf69db07aae26c9ae67a8ac57a9ffedec9b3b4f1f3b016089935049d75d92a9a03e45ce6345b4c9c611
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20170704070218-db04d3cc01c8.mod 38 BLAKE2B eafcc0e8c3633f2d4c2cb4eeb38eacdb7d029944b76da9ee611b3fd2d3b82d2adfb726405168a34f70251be920da17fdc6c70e8052720a6093c788dd724d24b3 SHA512 1efa76d27434ede74fd37d57c1673c8a60cf06248a73c425b5bd08dd068d6b50166b17a15b52d0c059218479fa3976e80e16cba08f671e9ecf7744cf5daa199c
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20180916011248-d98352740cb2.mod 38 BLAKE2B eafcc0e8c3633f2d4c2cb4eeb38eacdb7d029944b76da9ee611b3fd2d3b82d2adfb726405168a34f70251be920da17fdc6c70e8052720a6093c788dd724d24b3 SHA512 1efa76d27434ede74fd37d57c1673c8a60cf06248a73c425b5bd08dd068d6b50166b17a15b52d0c059218479fa3976e80e16cba08f671e9ecf7744cf5daa199c
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20180916011248-d98352740cb2.zip 14006 BLAKE2B 98de01f568485c6909fd0e98a46e2cb040bc556c175948af267453cff5c750c32e95b27609b513073d374da19a8521e62f7a8cc195e0eb993662e1c443cbbfd5 SHA512 7782b65f0d21a519d280f1655257da7b15e5e433f3eb3ff4bc963c81fab22cc9d18ffaea0786d9a7e9f5f32425353c055ea8fcc1daa1e8a30caac47ef2ef31b1
-DIST github.com%2Ftonistiigi%2Ffsutil%2F@v%2Fv0.0.0-20200326231323-c2c7d7b0e144.mod 1177 BLAKE2B 735b5a8e76cf8d23e6fdf18e2ad796355bd6b41eb67246d29e75b901a2fbfd510f84abb192d4a849686a9e93a24b3ed8785498bcc4f3a22443c628e7fd6faedd SHA512 d87c2e0c39ffd5e4c713037a2cc5d17eb64290b6f50869f9887e236799c5c461acd2589044fd6ed6a88519d3d3417b324e88c9dfaf3eccedcbc6b6409c7c966a
-DIST github.com%2Ftonistiigi%2Ffsutil%2F@v%2Fv0.0.0-20200326231323-c2c7d7b0e144.zip 69211 BLAKE2B 9c68272ec1a7e5fab9f81b8604ce2bd2409a37e7fc85dda58af2c180916e089ec479e4d8f46a3bc3bd19003f59d6e9dcf6d5ab572df501cb46efbb60da3f8d1a SHA512 c546e9086ff873b8731e2f000539dee8743bc6f19532de2d33d0aea37061efca17b6a493671fa31ad6d0292de4808c4ced9b1058d6da1e9eb60bbdf39ede321f
-DIST github.com%2Ftonistiigi%2Fgo-immutable-radix%2F@v%2Fv0.0.0-20170803185627-826af9ccf0fe.mod 48 BLAKE2B 4f13249b4688dd488564c40ad14989f0b70049e96cc3e9e53a27a1c833b54626d41c87ba89edeec7a2850222878b554492fb631a5a8ee1fd0f21e03c49e9c94c SHA512 5ba53b4bab812bea70c600da351240c02b02b87f0e623bbcd846f89cfdd2fc146b84036623f8e2dce5b44f2b4fe6ee74ab9f930ed9d3a3b62e1387d569a53485
-DIST github.com%2Ftonistiigi%2Fgo-immutable-radix%2F@v%2Fv0.0.0-20170803185627-826af9ccf0fe.zip 22933 BLAKE2B 84233f43f3bef4184b309af77ae1a1d4b2028c54f63e879e5477b9c401ad008067f786a49b4d8729c70477ec209406fddaac0ff78360e6f60fa3157223e2828e SHA512 82ff44c752b6bb8596aa77f862616dfd2bb73ab2a610bf5eb27d7f9a8c05f61895ad6053bc72b42ffcd91351eb34c02dfae8b9a1aee7e9174c8a7fb17f9cfd1c
-DIST github.com%2Ftonistiigi%2Funits%2F@v%2Fv0.0.0-20180711220420-6950e57a87ea.mod 35 BLAKE2B d787e84ef1bfb91a2e2db10f06b68923366f840640ab2a95bbf8f02b4e62b2b6b9773dd3d9f3d0cbdcbc1cdb03cbac578b62f4dd3806e2128f2ca9a9e74736bb SHA512 9ffaf1e5238605376c072d98a7a0fa7d27ebfe5d9126391821ef1337ee28753d4f6ee01377d8db71b9928bac009f115faf37c022a67ade34e870235b13bf5f28
-DIST github.com%2Ftonistiigi%2Funits%2F@v%2Fv0.0.0-20180711220420-6950e57a87ea.zip 3967 BLAKE2B f945bee17ec2409a0a9da1edbabd1fb98ff452c246dcce7173052e2ec0e07dff239d8b6fa3f6c42e0e056fe9023b7d48e9216c778ede7844f6afe821569fcdf4 SHA512 8f9f9c1680ef685950e8c0dd3f4c60a9e9c4a275b65997539ff1df851fbb6830010cf3e03b42993922d80539cadd4123d1f81d5cc9f3655d59a09eeeb88bb376
-DIST github.com%2Ftonistiigi%2Fvt100%2F@v%2Fv0.0.0-20190402012908-ad4c4a574305.mod 86 BLAKE2B b1e144f63c002d64ea9e92ae2d05fc454d5eb9e8addc31a06b86d70cd189fbada9189304193dcf5fd2be69bef030a5a75423989f4a8d2b7151930d76542af8ce SHA512 d9ec6e5960bf5e3b001be628d44ee619c066a033847364f9a923ca185b32c77c3b4eab912d5669efc8e0cbc9aa3a4c5ad51812045109c2e9bce712728fdf2f43
-DIST github.com%2Ftonistiigi%2Fvt100%2F@v%2Fv0.0.0-20190402012908-ad4c4a574305.zip 39019 BLAKE2B 6fd3e5d3f25c4bac5dc60e135ed4c99e58ba4b9e79d4f2360cc856d38073fd84d3d2756e3e8fb40da4cbd49ea0e7888322ba8fc1fbc2abd79eb219a86e9e3e54 SHA512 0e2877cca96d23298a8c46f469853ba7f938afec949d493b79b7ead8dbb4aa406dad9c1ece4938cbfb332b11023324992f6581824815866bb4d3be0cece71e67
-DIST github.com%2Fuber%2Fjaeger-client-go%2F@v%2Fv0.0.0-20180103221425-e02c85f9069e.mod 40 BLAKE2B 5b237034cbfb2f1a2fcf7a15937c89241c76b74f8085486a24ac2b8082772af9e05274c3e6d46378492e8a478532c889bef2da72daea94ae413ee2fd54326806 SHA512 7a620df2c7dd83a7d5df69714186d055519d5422683147f6e02a19db4f12293ba0674091c3f361e0c11d9661ab9938b4f69c10892e9cd490403ef2bb748e5e8d
-DIST github.com%2Fuber%2Fjaeger-lib%2F@v%2Fv1.2.1.mod 34 BLAKE2B 86524b6dd4255f923cdf5eff9681366c6eaaae6fe91f082ec77b87aab1ea6c96d890ca356e06abcbf7219590d08a6eed13131d39a253ca03baf9614c1e775506 SHA512 57a8b8c1e0646693137815a820547a8b9dbb35a132b25a735d1fdbe1fb829efab1eeec4907d5de44e248e953f033f3bb8040f6632bc899238b4329be1ce552fb
-DIST github.com%2Fugorji%2Fgo%2Fcodec%2F@v%2Fv0.0.0-20181204163529-d75b2dcb6bc8.mod 35 BLAKE2B 159fcdee33f554db7f7bfc834a6478865e93a6258876dbb3ae755eb474786149f109ad8823484f1d72a8fe4012f24041c994e4d19ce7e684a84f85025803ffc1 SHA512 633ff61cb8fc7260fc5bd11d9bf59e9a758a3db457a9780701686b9b942b6aaabf102c7342f97d2beeeed247507f383253bc396b26581f7726538149ea4203c0
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv0.0.0-20171014202726-7bc6a0acffa5.mod 29 BLAKE2B 4f20ac8fb7beef2b678cff290a28c8125d368504aebfcde33e746d3ca7b9606804bd94c59c50fe328da4c1c592b8768b1aad89bc1d22ddf76cbc88d0f0f76b74 SHA512 5edcf2aac39658fc7e60d5086b066470c6d6213b66a2432bc35c6f67b8cb37a66a67fd97cdd4b8fa1b8b1bddfd544e4aa9838cec06806b89f8e1447e3c61bd2a
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv0.0.0-20171014202726-7bc6a0acffa5.zip 75925 BLAKE2B 3905e6c4d1bfda6516c0b008dc2ecaef0d7266968721307d1cb280b83dfb491811cc215233d1c93e5c45e7ce4b66d2447f850bf78ffc1f9f9a43d88ebef510d7 SHA512 72defeb12c3929fbbe359a54f73932a5c1d287544b13c3dbf8dba8e58395b78d362763d9686593d8ef0e7a7c8be7d0a82367c81b53a7d2116fda102ffd286749
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.2.mod 180 BLAKE2B 5d858ca40ba2af791726707bdab12d76aebc9f9c9ea79e49a6125308b079cb945d6ed06ca2425116f19604651eb56f29b3ec8d79fd9f38ed044e745c9b73ddb6 SHA512 b5431ec3fbdaf9efda016ea275ff597106916f5d5781b2ca82e075e42da98f6c5d34a00410fe65ac3a3e64b3ac0e1ab02e68579effc426ccc5ee19a583c44d2c
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.22.2.zip 106836 BLAKE2B 1dc75781d1462b8b6d646ef09cf402ce7e301a981ae04efdfd205274cb593cbe849341374adcd4239887e4323d937964850ff4caf203242ac216fe0858f7fa60 SHA512 ebe55034b03a75da1e267c7cd06517a6e429d96557bfdd0253ef3967576d57b5866d8137172f15cad0875c009c2bd2efdb6994ee82c2ba83e804e9e8531f4a14
-DIST github.com%2Fvishvananda%2Fnetlink%2F@v%2Fv1.0.0.mod 38 BLAKE2B 3ade12a1ed924c4e12dd9422b763bf2cadf710ef072d593dc40923d48477b792d87aaa3035e020bcab860da3ceeddcadc44afd74d9e11c3902a5d6241c8826b9 SHA512 637521629966c8f1b3d711a2b2b7b1753bed946f26570cd8e5e55ee3da5b106d418e0b80f48cac7a2651b71103c0d09116707d7b9d8cfb2d78d7bac2e908560a
-DIST github.com%2Fvishvananda%2Fnetlink%2F@v%2Fv1.0.0.zip 160183 BLAKE2B fc6ac9b8beb1c1edad738f821182d572e2e655442c32d4dddc27c0213a5d13dffe3c107f6f947a528a4741972d72af879963f1503266628f365a96ab8eb21d83 SHA512 d6b124a270150ab54764406789f23955f5ffc09effaa2b7f4ae0c2d3b69ad916fbf8377f48ee5650bb57a0e9ee2079a481d4fbf146409aeb29c15eaac260f3ef
-DIST github.com%2Fvishvananda%2Fnetns%2F@v%2Fv0.0.0-20180720170159-13995c7128cc.mod 36 BLAKE2B 89b77c2e7582554fd3a63f99bc03f2886e9f554e579ee4e0a99160385d8704b5f983e5680da06accae6bab806d303b726b22f2b4a6c2b03e82bd6bf9a9ddde7e SHA512 8f581beb7e676d082a76b9bf47b7d04c486d5e96e4f69f17fd99efc101e408cd7cd1c8d51a46ab1cbb55f7bb35b08ba8dd875f18e430f30ba9c88c43e44056fb
-DIST github.com%2Fvishvananda%2Fnetns%2F@v%2Fv0.0.0-20180720170159-13995c7128cc.zip 9506 BLAKE2B f2ca36cdbfaed586696e77a17fd3ee88c158d5fba569d57685a09e6bc6eafdc36ce041d58002b19dc7a87ece0fdba73c793fa443ec31a2a33ef0f4030edcb447 SHA512 0baf36e3d814a78b868cfb028e116b734907c1cdb8898d5cb28986861e96f75ea8d61725f55c01974b4b5d74a4494a5f52a34fd38c9d82ebf97691244af8682d
-DIST github.com%2Fxeipuuv%2Fgojsonpointer%2F@v%2Fv0.0.0-20180127040702-4e3ac2762d5f.mod 40 BLAKE2B bd8fe364e43fdad423aa574d01229ce91e9b3211cbe3a0234070805150d960d3c0fc0c6ec229e7ce5b4079906f2595a2b5f50a8da7bbe9bd906a72a6a7a7434b SHA512 cdd8a665fc41a4b04c59e869b021d5a9b793b9a441c320a234bf2a13be67af9aa60378c58991161f73d83c184039a52fc3f11cd121490996737f0508e277e1cc
-DIST github.com%2Fxeipuuv%2Fgojsonreference%2F@v%2Fv0.0.0-20180127040603-bd5ef7bd5415.mod 42 BLAKE2B c2d6fb272d8ae4e541c98023713bcf0b7f47f334d09ad7f9f375ed13eb14d27ee2995745782ecea40d31a561e28702fddeae4b5e32750726c7188118d741cf82 SHA512 14c839017eebd5dcf49dd3495a1ef6421d522389a2943c010d7869d214f757fe7d19d6ac3482fb3d8cbaaeb3977c5c311523aba90e9f7909fb1ba593ba57ae8a
-DIST github.com%2Fxeipuuv%2Fgojsonschema%2F@v%2Fv0.0.0-20180618132009-1d523034197f.mod 39 BLAKE2B 4a9a7321d9c10929abaf038e336248709fcfcde17c0ec9ec8e96407a9e12910b84e7008a7a847f533bd8695b56a8e35313d5771931d2fb1dfddd74ff59b58d5b SHA512 8ee8fb19b40e1366446a91a48a495fa96e4626f594903b7d4a53355069043c5a2958612dd0bf0f8b0a01a4fadf9dd92d0b9dfafbd10ab9c8ee6e3bcaa01853d2
-DIST github.com%2Fxordataexchange%2Fcrypt%2F@v%2Fv0.0.3-0.20170626215501-b2862e3d0a77.mod 40 BLAKE2B 844d63d9c10c55eb74504d88d5e6e85641f2c4bdbbc9b4f6728cd6b1e750d1eb333e91b6eadac635a80abf328c9423fa106b18337e89dc592876cd3f04a803e2 SHA512 daffe8f4148becee3a32c90ad21454cd48255409f3edff8681ea2074623c8aa02cbb4620b7ba52aabe4ac3c24a5f256b56fd71de1da45dcd7e4e8376699a422a
-DIST github.com%2Fyvasiyarov%2Fgo-metrics%2F@v%2Fv0.0.0-20140926110328-57bccd1ccd43.mod 40 BLAKE2B d9bfc152a45edf20400c8f59ff6f7d20ac98441b3bed903d1215a98ad5b59aa9037c3dc413b750a34d4784a14d98b6441b47f8117624acba6bf69202345c43c1 SHA512 2b18d1b7379b2fb032b531119bc11adf0d7ee3b7cb490db5fbb2d7c80f04bfcceedf474012172da27d75f4337902929fa49635a17ac436ccd3df638e182c7932
-DIST github.com%2Fyvasiyarov%2Fgorelic%2F@v%2Fv0.0.0-20141212073537-a9bba5b9ab50.mod 37 BLAKE2B 65bb120d06237325c63f8f722a251585f54d2e7f5c70dc35554fa50147d94298bae6117cee34fc6fa202e96ffb0878534d5eea11775a83ed514d33d4fdfb8775 SHA512 cb07bd4926b20e43b08c9f6c29a74eec6b9119421d56d48d69da58152ce8ead0520197c72109579869f3591fc8f8d05b7bca3d274d383cb65b7a023fd9428ed5
-DIST github.com%2Fyvasiyarov%2Fnewrelic_platform_go%2F@v%2Fv0.0.0-20140908184405-b21fdbd4370f.mod 50 BLAKE2B 1df5b82dac953ff568a0709714e04e4fb31f384e8160fa933b9aaa579f311eabd38c42781612c6d39b7eefb1f995251f74b5ca5364bbd9d240f6896df3257ca4 SHA512 a921e5321a35252f98bbfc819df7177a500b64665f710f2b833f4187062e5c2f050daeeb5230c6cea9dce724823eae24d272924742df53fd3437d9bee9ad89c6
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.3.mod 24 BLAKE2B f23f0532ce6fece605e76cd16e5f9a1fbf40657f26b2aa6a135bf300a232ffe8eaa9161f93d2845312b10ccb6dd5c4cfea40a2256b6481787ce9ddca7555b0fc SHA512 8988baa04517a19f905b323768f98690b19ce302d54da4648bf72baa2766c8ea8362efaf1c8dd2f02a82fb9c76e72f32373fd04cf48ff133804b6b251bd48529
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.3.zip 112407 BLAKE2B af65ce0475f0b55ace7f03a7af6fdfaf8daae8b79e0ec1c9fd1aaa911cfe517c6760e6a5fb7881f87d7fed4da3274d14c78aa1424c85c003dc0fa98b092134ee SHA512 ff7060fd74bf2070006a55a739f6a8b64abc5ff09db2d2bc53fe978852e5b82f96bfc79c1f73b68e704bff423722f7adefba0b906de6d96d7e03c3e5740b7ac1
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.5.mod 94 BLAKE2B 5014c2a8459f1f01661c7cac0a7d2ad7de372b3e2916d56d721fd454e459fc75d5b4f6249a73dc54b46b91df00b1ef5c3d47d099fa28429a6967427ec7bfb36a SHA512 d3cfb7a75e321d2a6fc145b727dea76002189ae2caa8dd3162e5e6903a1acbe5bd55be81d7f112c71b47e61351534ff991be30993632be9c9d7443111600fe39
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.5.zip 115621 BLAKE2B f59bced3cd34292c237fe5a472a66fabca151ffdfd39553bd060bcc706433c248d0712fc4fcc7c44a67ee86fb3517a30cd1846c5c5e70b4549d42c1f12be9495 SHA512 0b6a8a073673708adc8fc0d01c96fb0ec4276db63a17f45ff02b4243235de9634952747aff63382ed767157c6dcbcaebd5399ace63a14e52cc826bd5c9749f82
-DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
-DIST go.opencensus.io%2F@v%2Fv0.22.0.zip 291484 BLAKE2B ca3bfc9c9864a2218ec373d78792ba0a40f4e2522bf3e0acd01b153eee43083cf8b124ae19b5fb0eaf7eef7cd59b2733b6c3ad847761518eeff2b183780c79cf SHA512 4fe718c3dd4c7bc0914b32844ae86ce281721f98b05797fb0a0fb51245129dfe1a74d2d04b419f4e0b7a31409b874e0e9d7939c8426af1efd92fdd5f12a52a98
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20171113213409-9f005a07e0d3.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180910181607-0e37d006457b.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20181203042331-505ab145d0a9.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200128174031-69ecbb4d6d5d.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200221231518-2aa609cf4a9d.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200221231518-2aa609cf4a9d.zip 1870169 BLAKE2B d77b65d467395373431c09d1318cd73d2dded32c6c7bbcaee6e59aaeed4b8ce1c183e32747f8da207762d82aa07c186af4b9c06dca9d4b5cfcaeef3bd07b3e16 SHA512 abd93a766353b4c36ff9527df785cf9789317755de2fd1d951a1847c4a9b43de197f6d7cb41ec6f17fd3b50617cfbf8e1d8c93f59f671be578a0152da0754ff3
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20180702182130-06c8688daad7.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180906233101-161cd47e91fd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180925072008-f04abc6bdfa7.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180925072008-f04abc6bdfa7.zip 1331114 BLAKE2B 68d0ea061ef9403549a09a790194c625b252fb9217470127778f9351ab7ef787fc8b118158ba5ea0f38ac8e90c3cf04a509b04d935368e4d849bd44b92c0aff4 SHA512 82dc4bebe9d26c975e8d6a968b46941b2ea94b9a2a8e30d8d9a9c59b26638dd027941bca67f0991cfe1e573bb57d62c6a043a0f80d98e6df4dee232208fe4dd3
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190619014844-b5b0513f8c1b.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191004110552-13f9640d40b9.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200226121028-0de0cce0169b.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200226121028-0de0cce0169b.zip 1500176 BLAKE2B 19d7d151e8d60007d2f947acca62dac5191c8383b951d0b243b70b36e132eb15749352bccb94aceae00ff114a3273bf79acab4043520c34ba76d7a5e137e0366 SHA512 61a5ddd9691d95dc88f2a147f9a07fcbd69f2c1b573cb8ae895fcbbcd0b4f0a928243cad62efabdfe0143b8aa06e61e29057406ce3b3863c4c22fc01432293f8
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.zip 24878 BLAKE2B b405b445c49834f5b9e5ee82326dcd5f4807963a38d29b851fdd1e914d2695fc5066e17066288e539818ddc52f83c209325d9318d1e4e76f9a2a9a1859f82ff8 SHA512 1f94b8b8c8e4aed577fba2cb65403424cd649c2c437c115d52e08338194f447a4939fb39d73237c2906ea15a4b5089642abdd0bc6ad8a34c8b8e6f097cb43fdc
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.zip 26635 BLAKE2B a464a4ad04b36e50cfe966e6e6dc299c0f8b45d0f4198ba64483bb70ab815d033cec5cde60753b76dd1fbb16fed087b41179100a2002b0a61cd4a08f9de779fc SHA512 ae6f29d5f7790b37d1722d65f31708670bf19f429c60b2f6633756ecd40e47c1fab40fc128e0d70b3b6ed0ba47ce5f970ce5f4e55b8f1fa407d2efee7444b646
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180909124046-d0be0721c37e.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180925112736-b09afc3d579e.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181205085412-a5c9d58dba9a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190422165155-953cdadca894.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190514135907-3a4b5fb9f71f.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190522044717-8097e1b27ff5.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190602015325-4c4f7f33c9ed.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190916202348-b4ddaad3f8a3.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191022100944-742c48ecaeb7.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191115151921-52ab43148777.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191120155948-bd437916bb0e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191210023423-ac6580df4449.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200120151820-655fe14d7479.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200202164722-d101bd2416d5.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200223170610-d5e6a3e2c0ae.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200223170610-d5e6a3e2c0ae.zip 1918660 BLAKE2B 015e9ad74f145cdd7cdeb55d7b2d8949d6e7baedaae36089fa53cb257b4fb49830aeb299ea3a1f782b2f033443a18d009cafcf0211d1709d4d37b4b97d5f3d08 SHA512 24a653028d079c52ba8128d9f43452d2ecabd374c8eba36d44704c3f70cac50761597c7b7bb6524ba50fcde696fbcded57c29f04f35e42c62e23a9790852bb56
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.zip 6349244 BLAKE2B 0aa464ac7b7d17fa7ec0627b64cd2301ed4f2819f837807db7a55725950dacb40be899b5148b07ea31b51530818edcccc6444a9800755e1d369ba8f1bce949b0 SHA512 982d78f580a7eac99a0c51e6f1fd2b2c3b91f56cd5e2b96fe960510049f7daf5915264f73f55f05675eee232a52998f9667fa84a9ccba15ed7819e4c93f583a7
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20180412165947-fbb02b2291d2.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20180412165947-fbb02b2291d2.zip 12802 BLAKE2B bd71752bbf787376638a3eb8369fb3f3ac4efdc057cf3ecc9f02318186011af009c17c0a7a3b9183b1bb6a88aad15128dc64835821c90d9bc2adabf6cb6ddde6 SHA512 2e23c18588f6f5cb58a6edc02b23ba1abfef92ec0d46c272b3f542354f8ffba45b14c3a328372dc46bd8118a255d3f3d9aed303a8a91ababd6ed296cba2aadc6
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20191024005414-555d28b269f0.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20191024005414-555d28b269f0.zip 11971 BLAKE2B 7b29c746b75b42c23fca353b8299a4feaf69556ce1395872470e891835a8dec88a4e4c3b64ba6dcb4b5512aafb9bb44cc38c68915a0f6702f1027cda89d03d81 SHA512 58cb42ebeb88c06e049caf8c609e95243e7bdba51057de7d7301885aa904111dbe85962b5faef216ae45aa73f371b5de6516800a6f5765219cfde3fb06372afe
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180221164845-07fd8470d635.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180828015842-6cd1fcedba52.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181030221726-6c7e314b6563.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190624222133-a101b041ded4.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST google.golang.org%2Fapi%2F@v%2Fv0.0.0-20160322025152-9bf6e6e569ff.mod 29 BLAKE2B 411ad882e1d61d9e7a02f83256abf55c6a9557a980b89d7fd1a8981cd44f81182c17659e2fec1f4a587163a16556076418f166e90118a04041a8c488f9bb69dd SHA512 f2367919f017863362525d492f3c7f9e36aa311a55f96533ad6a2db1dcbdc9628f516ca435a43cd63a09c677c3528c2fe386907fda1da7dcb69ac2f6c95bfdc1
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fcloud%2F@v%2Fv0.0.0-20151119220103-975617b05ea8.mod 31 BLAKE2B 679418ac9c2ad45dc432c1fb2f8ae13482bcce67e3d83f3204380a5fe8b69ecb6f19114b8e10656880a434e012712ad94bfe3767874d88ac64960d86dd5548ed SHA512 1ce907ff4c74870bf960dc786a8a2d824ed8794c433af026bdb4fe29c40c0812187bd409e3dfb99bb91414e0ac5f766d3cfe0badfa6e1ac4a3e54de3f14c40dc
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180924164928-221a8d4f7494.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180924164928-221a8d4f7494.zip 2667524 BLAKE2B 5153b39155dd08a750073f3305564877abfc22f5812e44cfa844f960c0d53342d839f2acc77082438fa4db65dafd33eb9e9520e5c589213c61001e424bc1234a SHA512 bf7ebf2a11d268f06a180686c6126cbb4a4446070e68891c9ffb35d364a082d6019d183b0c3de0b04ae4182a7449c87ed6b4ab40d4e6d11ec916a5f6ce5c8ec6
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190522204451-c2c4e71fbf69.mod 331 BLAKE2B 7a174749635ef1cfd4ef7a5c67d29c51934734bb7d7d0873f56a461f040373213cd4c5deac8fe12b3ee75b7c210e5d26e7b378e31214ea0278ac84eb001f99fd SHA512 1ab2bfe29c78700b879cd08ba8993d452715b4d374d349f48018a7ea8bd5999c236be0d164fe8d340d660e222e229f8ed490b7d8f5c931e754f3617510145905
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200117163144-32f20d992d24.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200227132054-3f1135a288c9.mod 287 BLAKE2B ac895df309c4c2533900f7ff3aaecd59bf883fad6fde8fc7ffef9928fc8f18402fb2198bb3f0b75e876adb7d5d0e37073fc251d149245847ebdd95de1cdf6cd3 SHA512 44dc287d4a33c4225229768c59d1b9e61b51fdc27b1745a8161b17bdef4499cb08ebc565c56caa01673317cbef46cb228ac69b9ada7d4bac870b22eddf5a2977
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200227132054-3f1135a288c9.zip 8475819 BLAKE2B 293f3eb502a932b23b3ac663f9d83bb6118b5f5ee1fa44db0fd7cf0713c6beabbf70aced6cc8d5c42730a495e5e1f03e7b9cb45253c96bb07baceb6c5ca39537 SHA512 629baff3c7008fe504b8a0d1814ba21abf3a1ff27c0de55d3926896c444026c6cb99f55b0e7e30d79e87389488283012025266d243c7c8a57099c7b528d91c0a
-DIST google.golang.org%2Fgrpc%2F@v%2Fv0.0.0-20160317175043-d3ddb4469d5a.mod 30 BLAKE2B 8ec04a655d1d0c3cfde5c051842d84f8a8615d7d56563ad57769905212e0e7cc821933d5adedcb210c724de9699b6b9cd5bcfd3a2c9555516354d3e19ffd3482 SHA512 10c6aa20da47c7923358430b63d5d5264d54f6a6cf70b008ed157807c07073cd0c64bef9db282b39fdb523515e1429125079cc29273ba186f7e4b42712d3d37a
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.15.0.mod 903 BLAKE2B dd9ff44489e2a944c07f3e58c3246534b472b407eb15780bfcf9a30370eea7353a8ec12601a6c3e0e39edad1de6651df1c959f86a528a0cb53ff7d2e8514d1e6 SHA512 1e7c2190023d06747cf81e4d6f25aa284a250912ac304e3d590e1b85f5ca3ad3d9963a0ff7106e5dc55f82f58eea953c72f131f4baa6618b46017a575669742b
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.15.0.zip 711593 BLAKE2B b269fc5aa687739714af8986863354495176a313d604bd1fa364fa4c63db1f0360c3aed0bf0749754dd53c22447b5fca2ac8e85a0adff285290575cbd0a4feb0 SHA512 52ffe9ae20019bcb9629f4d904ae999a609be29146640fdf9373f38f39ebaaeb6ec96493c95522789b07a94942cd229fcbc16e20ee83f52d2b1f62631fe92f0b
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.0.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.1.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.24.0.mod 771 BLAKE2B ec4ea0b34d044e7a4dab50109d3b4e9b0081c538bd568155c4aa7a6370dd0ec31a18f3d1d294ad87af95cd58f2ac885026d07d43d21df1eee2c926dd4d8b2712 SHA512 b6c886622095b3999f108230f6cd3dddb72157180b0ad1a539919289b2e0c8496ebfaab369d65e83d6fd6eeb97b618b49a834c7ad3b98afc996f290d49c936fa
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.1.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.1.zip 1142481 BLAKE2B 2b5b18292c24f142fafdffd7ca4416da8425f317e195b3c59fffa6881eaf42ee90722ec7d06f8dd39fff3b582fd5a08248d967d58204d5c55161900c01164d56 SHA512 0ba3e5799dc97e3cae5765bf607742bc3165ab02dcd774290b2a624518ab503c3110b9ea7bd889b9e898344aa679f0bb13f05fcd94514090f7d408fec81cd1ea
-DIST gopkg.in%2Fairbrake%2Fgobrake.v2%2F@v%2Fv2.0.9.mod 36 BLAKE2B 33002a8288351a233f5e8236743a91df1f630355380a4ae8df10c32abc03470955eac6c15c95655caec990eb17ef2661985570e49293cb146517828090d95635 SHA512 8482c3135335a3a69611529f0d50bd19257b0fe8a8de2d4f2d6441ccde5f1e7a57d487cedc375575c5fe16094e5fc1c7f7f1a6bf04acc8a9d4f92701db279002
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20141024133853-64131543e789.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.zip 41465 BLAKE2B 9a7183d3ac6591399b5208026208047a670c85e8b6014ad29955b168c63bb4953fa972d31025613c2ab12d7207adeebe9578b3c15b65ebb792f1e41df2668297 SHA512 fa7c68a2b5a6bb14f99cda92a3e77aad0e4160f659c54ea73e9813af9ff9449df6b0cab42ee283971e778b6b9da4a6098df805dd284c3b1aedfcd3a0b8504bde
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.mod 28 BLAKE2B ee2514c386f6cb3ff4a9b829d903e57372ce765aeab91fb2f29e95358e3472e0612a00f2982f53790159738e416819e368afa03e44bf8f6b43511347bc6d6995 SHA512 7cf7d1933039974dd4fa16febc52cc118bcd0e35c329d4c563c7f411b8000d9e17be5bca9a60d94f5309cbef97b3d176110704ebfbc3c114572cbadf63a55a34
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.zip 40894 BLAKE2B 5edf237401ae1a48c425ffec6fc67146850d7137c7026260e894656f6c832066321d930151bdd7624489e1f768fc04b47b0fd3dac3b2171bd092dff344de16a7 SHA512 f99afc545324e49ef1de05fd4c8dde0dae37094e2fb1b81de8d8c9b8ba9b28f39f9b5ab715c728e4a0375544a48d49c2dbd719fc178d222e0b914a425d9aeb63
-DIST gopkg.in%2Fgemnasium%2Flogrus-airbrake-hook.v2%2F@v%2Fv2.1.2.mod 50 BLAKE2B c715a977e733670d4047cc0f62fd485ce2af214d87e799cdea97015f64ee66488e1f68f4aec8e8ab139cd70574a0dd5f54b7bcedad09b8890ad098bcb01d7f5f SHA512 2d48fa45b7183412ac358a60c0af0b3c2f77d5c461f6bf4ba5d7a162195d49076870e739ac6c59e95d41dae2002370f52faf183fd6ca7999d60374866fa3ebdc
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.mod 24 BLAKE2B 24a0c476e6590543f1b46175c4f0e036498afd9af616f6e204cac280e61cc10454e0c2a54fe10b9a7a306715ab966a5822ad78626c6cf20c2c78aac02598c922 SHA512 b147b03cabc4666519b94f4d9c7d9fefdea45810e3e35a9b3d303dba491d486fe03c0d5969a6186adbb9c75665e4f3e9811c7bf4ce72c46280b053611c198c41
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.zip 5099 BLAKE2B 56a68e317ccf9e6b0912331e7006742c3bfffd087742293b3d48ca7069c707db57b3722179c76b8c724303c8d58ac9ebf847c4277ed38a59e1510c676ebc941c SHA512 658ebdf931b23afe9d9d5d33d6c910fba7cf37740efe7052ba7627199c1a5fa4f93f093796674e341109430ba1f1b5ea933ea4a32356f63eaf337f05a562004a
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.zip 80160 BLAKE2B 7c19bcfee1136e9afaa54bb36a296e48c276e21517eead613313409f3ff85f4a961c1dca7926d3c4fd51feb0f537a85de905294d2a310276bb8177f27f3776c3 SHA512 a8fa21d2f84f8c6f28250e9ec7d678ae160963eaa0a373f345fe67804925b2647239a6117ad6f253f458f34ec9f62bc21e8f2071fc9dfe76dbd2a7ded1e1a0e0
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.8.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.8.zip 80666 BLAKE2B ff3645b71cedd41b9fef6e5d01f3d89a2db6930f406aded7889530b04689ea34b53fa2a7af352c264681ee40b1d192c86ca2f7dcc33dca825d355694527e4dbf SHA512 19f019e85b8c9a533c3cf2fd492b1813272f00cce06a56ffe43046935e49ccf6e191ce83f1d236f6355bae7126aa722016f05174687ff2faf54f121958266edf
-DIST gotest.tools%2F@v%2Fv2.1.0+incompatible.mod 20 BLAKE2B 25d11078b1caa5a705f3ae32f28d155683dfe0109d96531b1fc20e632acdc2f8429395975e6509f5dc78bc042b5e70e90fa2daa9790c39eb3422cbc189fb21af SHA512 5a73bc54777766425ba833348d2986408baedcaff86acf1648384bbcb31e302b0b0de38e1a92d53083551e35c62f375262497c0d5a37c9fb39824ae68fe8113e
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.mod 20 BLAKE2B 25d11078b1caa5a705f3ae32f28d155683dfe0109d96531b1fc20e632acdc2f8429395975e6509f5dc78bc042b5e70e90fa2daa9790c39eb3422cbc189fb21af SHA512 5a73bc54777766425ba833348d2986408baedcaff86acf1648384bbcb31e302b0b0de38e1a92d53083551e35c62f375262497c0d5a37c9fb39824ae68fe8113e
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.zip 88327 BLAKE2B 8730134244a00fb47b24b347ee4758fac8c11e3f627788c03d6568af129acb5b911b08857ab77a619bf571986ee90dd1c6c6aa12fd8e6e26d395a64bb7513a8b SHA512 66a13fedc358399644b869ac4b39a295c6c15d642e074ec66ff042e1b109f9603bc941ff25aaf7d9bc700f6c2fb1f60bf2a637a471e26ae037d822f0f1e2c518
-DIST gotest.tools%2Fv3%2F@v%2Fv3.0.2.mod 194 BLAKE2B c322e2469b51e719e88bf9d9461c9a888afbdc1e214d9260b08324623e5828ce14b9dafdd42febc839e354f242e5ec53e78c9f61bd70338abc6de06090dd8197 SHA512 795de820e4a8622de316ee1b391a9c92476b3a67eee387278cd79f818c275df687ccacc60afbba20491dd813e442fa5a10d84b8b138f712c5a8705e884cb1d42
-DIST gotest.tools%2Fv3%2F@v%2Fv3.0.2.zip 92950 BLAKE2B 14dac4350033f9f437fbf2472b1a245bd5a66ba7650f1a0dee2c5e005002a6050b325f062f892982f563ee5914ee3d26e4cdd9d20593029ab8a6932733aeaf1f SHA512 d85150c7a380874323c46fc493847ee12515ef50fa928da808dc5f03d91f65691dbd06473485afab5f5b5fa7b815bdab9ce19e62f69bad407b267a34397d5c40
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20180728063816-88497007e858.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST img-0.5.11.tar.gz 4743864 BLAKE2B 6e08ddce536d666539bca9d06fc14c8a01cedb012024ee7f970a7c4ea5a701f28b52a0b247e9f681e72bff1aab354e6f6d02d12bdde4d434aa2dd6ff92de949c SHA512 de80c2c26dd2fb780fb0447f07b5478e1571067ec934fb2adb32dff1aa3853ff872388b9c9c168c139194ab5d38672fb3b4c76c4f77fd8e61ce48bde8cae8c1b
-DIST img-0.5.7.tar.gz 3875988 BLAKE2B dd8f13f6861eadc3a4c3d2d07ac826e53a8f3b83d66974717e9312c579967e0c9b57657c8fe6e86f03bb91fd7a82bc6d8d7d87a70be4dd85da10800d8909a51d SHA512 a42247c2ceac0ccfcc2cfd6a561a058855869f0219994cd8fa2bdd5092be17803057e4cb48a2d5277fdfded74dd06eb7c3c3db590fbde91502aebcaf593ddef7
-DIST k8s.io%2Fkubernetes%2F@v%2Fv1.13.0.mod 25 BLAKE2B 4060536d51fac9854215957b1108a158adb0b3aeb8bfc659eca1140efdcf79cffe378db6f3cb1f4a4b68aa36468b7d5631e993d5a089eb839bd03b6b608496be SHA512 2349b7dbe8409836cc70d97c5b336f518b809f5731baf05ce68d957c9970895a9b7f89caf09763794cf13824ee29410b3a6e431b2da7f64610895c44b86c4d2d
diff --git a/app-emulation/img/img-0.5.11.ebuild b/app-emulation/img/img-0.5.11.ebuild
deleted file mode 100644
index 154fb007ce4b..000000000000
--- a/app-emulation/img/img-0.5.11.ebuild
+++ /dev/null
@@ -1,548 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module
-
-EGO_SUM=(
- "bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod"
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "github.com/AkihiroSuda/containerd-fuse-overlayfs v0.0.0-20200220082720-bb896865146c/go.mod"
- "github.com/AkihiroSuda/containerd-fuse-overlayfs v1.0.0 h1:LhS8BiMh7ULa6zkkF5XI6piLV5XVTR7mSm9j3hTUB/k="
- "github.com/AkihiroSuda/containerd-fuse-overlayfs v1.0.0/go.mod"
- "github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod"
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8="
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod"
- "github.com/Azure/go-autorest v10.8.1+incompatible/go.mod"
- "github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ="
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/Microsoft/go-winio v0.4.11/go.mod"
- "github.com/Microsoft/go-winio v0.4.14/go.mod"
- "github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5 h1:ygIc8M6trr62pF5DucadTWGdEB4mEyvzi0e2nbcmcyA="
- "github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod"
- "github.com/Microsoft/hcsshim v0.8.6/go.mod"
- "github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg="
- "github.com/Microsoft/hcsshim v0.8.7/go.mod"
- "github.com/Microsoft/hcsshim v0.8.9 h1:VrfodqvztU8YSOvygU+DN1BGaSGxmrNfqOv5oOuX2Bk="
- "github.com/Microsoft/hcsshim v0.8.9/go.mod"
- "github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod"
- "github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod"
- "github.com/apache/thrift v0.0.0-20161221203622-b2a4d4ae21c7/go.mod"
- "github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod"
- "github.com/aws/aws-sdk-go v1.15.11/go.mod"
- "github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0="
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/bitly/go-simplejson v0.5.0/go.mod"
- "github.com/blang/semver v3.1.0+incompatible/go.mod"
- "github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod"
- "github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod"
- "github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod"
- "github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod"
- "github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3 h1:i8+1fuPLjSgAYXUyBlHNhFwjcfAsP4ufiuH1+PWkyDU="
- "github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/codahale/hdrhistogram v0.0.0-20160425231609-f8ad88b59a58/go.mod"
- "github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod"
- "github.com/containerd/cgroups v0.0.0-20200217135630-d732e370d46d h1:UKAt78F1OvM4ceTn1VvXuYuatXohsFU1eSI2IBtTw9g="
- "github.com/containerd/cgroups v0.0.0-20200217135630-d732e370d46d/go.mod"
- "github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod"
- "github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod"
- "github.com/containerd/console v0.0.0-20191219165238-8375c3424e4d h1:VuiIRfgJ2M3vYEU0F6E5lg3+V0l9YpbGQr3jpZor5fo="
- "github.com/containerd/console v0.0.0-20191219165238-8375c3424e4d/go.mod"
- "github.com/containerd/containerd v1.3.1-0.20200227195959-4d242818bf55 h1:FGO0nwSBESgoGCakj+w3OQXyrMLsz2omdo9b2UfG/BQ="
- "github.com/containerd/containerd v1.3.1-0.20200227195959-4d242818bf55/go.mod"
- "github.com/containerd/continuity v0.0.0-20180921161001-7f53d412b9eb/go.mod"
- "github.com/containerd/continuity v0.0.0-20181001140422-bd77b46c8352/go.mod"
- "github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8="
- "github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod"
- "github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41 h1:kIFnQBO7rQ0XkMe6xEwbybYHBEaWmh/f++laI6Emt7M="
- "github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41/go.mod"
- "github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe h1:PEmIrUvwG9Yyv+0WKZqjXfSFDeZjs/q15g0m08BYS9k="
- "github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod"
- "github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod"
- "github.com/containerd/fifo v0.0.0-20191213151349-ff969a566b00 h1:lsjC5ENBl+Zgf38+B0ymougXFp0BaubeIVETltYZTQw="
- "github.com/containerd/fifo v0.0.0-20191213151349-ff969a566b00/go.mod"
- "github.com/containerd/go-cni v0.0.0-20200107172653-c154a49e2c75 h1:5Q5C6jDObSVpjeX8CuZ5yac8d/KIYuPzUHbUzdL+NFw="
- "github.com/containerd/go-cni v0.0.0-20200107172653-c154a49e2c75/go.mod"
- "github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3 h1:esQOJREg8nw8aXj6uCN5dfW5cKUBiEJ/+nni1Q/D/sw="
- "github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod"
- "github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328 h1:PRTagVMbJcCezLcHXe8UJvR1oBzp2lG3CEumeFOLOds="
- "github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20200121165050-0be804eadb15 h1:+jgiLE5QylzgADj0Yldb4id1NQNRrDOROj7KDvY9PEc="
- "github.com/containerd/ttrpc v0.0.0-20200121165050-0be804eadb15/go.mod"
- "github.com/containerd/ttrpc v1.0.1 h1:IfVOxKbjyBn9maoye2JN95pgGYOmPkQVqxtOu7rtNIc="
- "github.com/containerd/ttrpc v1.0.1/go.mod"
- "github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd h1:JNn81o/xG+8NEo3bC/vx9pbi/g2WI8mtP2/nXzu297Y="
- "github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod"
- "github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod"
- "github.com/containerd/typeurl v0.0.0-20200205145503-b45ef1f1f737 h1:HovfQDS/K3Mr7eyS0QJLxE1CbVUhjZCl6g3OhFJgP1o="
- "github.com/containerd/typeurl v0.0.0-20200205145503-b45ef1f1f737/go.mod"
- "github.com/containerd/typeurl v1.0.1 h1:PvuK4E3D5S5q6IqsPDCy928FhP0LUIGcmZ/Yhgp5Djw="
- "github.com/containerd/typeurl v1.0.1/go.mod"
- "github.com/containernetworking/cni v0.7.1 h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE="
- "github.com/containernetworking/cni v0.7.1/go.mod"
- "github.com/coreos/clair v0.0.0-20180919182544-44ae4bc9590a/go.mod"
- "github.com/coreos/etcd v3.3.10+incompatible/go.mod"
- "github.com/coreos/go-etcd v2.0.0+incompatible/go.mod"
- "github.com/coreos/go-semver v0.2.0/go.mod"
- "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8="
- "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod"
- "github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQamW5YV28="
- "github.com/coreos/go-systemd/v22 v22.0.0/go.mod"
- "github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg="
- "github.com/coreos/go-systemd/v22 v22.1.0/go.mod"
- "github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk="
- "github.com/cpuguy83/go-md2man v1.0.10/go.mod"
- "github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod"
- "github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM="
- "github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod"
- "github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg="
- "github.com/cyphar/filepath-securejoin v0.2.2/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c="
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod"
- "github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod"
- "github.com/dnaeon/go-vcr v1.0.1/go.mod"
- "github.com/docker/cli v0.0.0-20180920165730-54c19e67f69c/go.mod"
- "github.com/docker/cli v0.0.0-20200227165822-2298e6a3fe24 h1:bjsfAvm8BVtvQFxV7TYznmKa35J8+fmgrRJWvcS3yJo="
- "github.com/docker/cli v0.0.0-20200227165822-2298e6a3fe24/go.mod"
- "github.com/docker/distribution v0.0.0-20180920194744-16128bbac47f/go.mod"
- "github.com/docker/distribution v0.0.0-20200223014041-6b972e50feee/go.mod"
- "github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible h1:dvc1KSkIYTVjZgHf/CTC2diTYC8PzhaA5sFISRfNVrE="
- "github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod"
- "github.com/docker/docker v1.4.2-0.20200227233006-38f52c9fec82 h1:kZwwJwYnVWtU/byBNjD9rEGWVMvwnfiKu9lFJXjrk04="
- "github.com/docker/docker v1.4.2-0.20200227233006-38f52c9fec82/go.mod"
- "github.com/docker/docker-ce v0.0.0-20180924210327-f53bd8bb8e43 h1:gZ4lWixV821UVbYtr+oz1ZPCHkbtE+ivfmHyZRgyl2Y="
- "github.com/docker/docker-ce v0.0.0-20180924210327-f53bd8bb8e43/go.mod"
- "github.com/docker/docker-credential-helpers v0.6.0/go.mod"
- "github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g="
- "github.com/docker/docker-credential-helpers v0.6.1/go.mod"
- "github.com/docker/go-connections v0.0.0-20180821093606-97c2040d34df/go.mod"
- "github.com/docker/go-connections v0.3.0/go.mod"
- "github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ="
- "github.com/docker/go-connections v0.4.0/go.mod"
- "github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8="
- "github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod"
- "github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916 h1:yWHOI+vFjEsAakUTSrtqc/SAHrhSkmn48pqjidZX3QA="
- "github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod"
- "github.com/docker/go-units v0.3.1/go.mod"
- "github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk="
- "github.com/docker/go-units v0.3.3/go.mod"
- "github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw="
- "github.com/docker/go-units v0.4.0/go.mod"
- "github.com/docker/libnetwork v0.8.0-dev.2.0.20200226230617-d8334ccdb9be h1:GJzljYRqZapOwyfeRyExF2/5qfv8f1feNDMiz0hmRPY="
- "github.com/docker/libnetwork v0.8.0-dev.2.0.20200226230617-d8334ccdb9be/go.mod"
- "github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod"
- "github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4="
- "github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod"
- "github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/fernet/fernet-go v0.0.0-20180830025343-9eac43b88a5e/go.mod"
- "github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I="
- "github.com/fsnotify/fsnotify v1.4.7/go.mod"
- "github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod"
- "github.com/genuinetools/pkg v0.0.0-20180910213200-1c141f661797/go.mod"
- "github.com/genuinetools/reg v0.16.0 h1:ZhLZPT+aUGHLfy45Ub5FLWik+3Dij1iwaj8A/GyAZBw="
- "github.com/genuinetools/reg v0.16.0/go.mod"
- "github.com/go-ini/ini v1.25.4/go.mod"
- "github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8="
- "github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod"
- "github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME="
- "github.com/godbus/dbus/v5 v5.0.3/go.mod"
- "github.com/gofrs/flock v0.7.0 h1:pGFUjl501gafK9HBt1VGL1KCOd/YhIooID+xgyJCf3g="
- "github.com/gofrs/flock v0.7.0/go.mod"
- "github.com/gogo/googleapis v1.3.2 h1:kX1es4djPJrsDhY7aZKJy7aZasdcB5oSOEphMjSB53c="
- "github.com/gogo/googleapis v1.3.2/go.mod"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/gogo/protobuf v1.2.1/go.mod"
- "github.com/gogo/protobuf v1.3.0/go.mod"
- "github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls="
- "github.com/gogo/protobuf v1.3.1/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58="
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM="
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I="
- "github.com/golang/protobuf v1.3.3/go.mod"
- "github.com/golang/protobuf v1.3.5 h1:F768QJ1E9tib+q5Sc8MkdJi1RxLTbRcTf8LJV56aRls="
- "github.com/golang/protobuf v1.3.5/go.mod"
- "github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ="
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg="
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/shlex v0.0.0-20150127133951-6f45313302b9 h1:JM174NTeGNJ2m/oLH3UOWOvWQQKd+BoL3hcSCUWFLt0="
- "github.com/google/shlex v0.0.0-20150127133951-6f45313302b9/go.mod"
- "github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY="
- "github.com/google/uuid v1.1.1/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8="
- "github.com/gorilla/context v1.1.1/go.mod"
- "github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod"
- "github.com/gorilla/mux v1.6.2 h1:Pgr17XVTNXAk3q/r4CpKzC5xBM/qW1uVLV+IhRZpIIk="
- "github.com/gorilla/mux v1.6.2/go.mod"
- "github.com/gorilla/mux v1.7.2 h1:zoNxOV7WjqXptQOVngLmcSQgXmgk4NMz1HibBchjl/I="
- "github.com/gorilla/mux v1.7.2/go.mod"
- "github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod"
- "github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod"
- "github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU="
- "github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod"
- "github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod"
- "github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU="
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/hashicorp/hcl v1.0.0/go.mod"
- "github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c h1:nQcv325vxv2fFHJsOt53eSRf1eINt6vOdYUFfXs4rgk="
- "github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod"
- "github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI="
- "github.com/hpcloud/tail v1.0.0/go.mod"
- "github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI="
- "github.com/imdario/mergo v0.3.7/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM="
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07 h1:rw3IAne6CDuVFlZbPOkA7bhxlqawFh7RJJ+CejfMaxE="
- "github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07/go.mod"
- "github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod"
- "github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/kisielk/errcheck v1.1.0/go.mod"
- "github.com/kisielk/errcheck v1.2.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk="
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s="
- "github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8="
- "github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod"
- "github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI="
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE="
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/magiconair/properties v1.8.0/go.mod"
- "github.com/marstr/guid v1.1.0/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU="
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/mitchellh/go-homedir v1.1.0/go.mod"
- "github.com/mitchellh/go-wordwrap v1.0.0/go.mod"
- "github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452/go.mod"
- "github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y="
- "github.com/mitchellh/hashstructure v1.0.0/go.mod"
- "github.com/mitchellh/mapstructure v1.1.2/go.mod"
- "github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod"
- "github.com/moby/buildkit v0.7.2 h1:wp4R0QMXSqwjTJKhhWlJNOCSQ/OVPnsCf3N8rs09+vQ="
- "github.com/moby/buildkit v0.7.2/go.mod"
- "github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE="
- "github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod"
- "github.com/ncw/swift v1.0.47/go.mod"
- "github.com/onsi/ginkgo v1.6.0/go.mod"
- "github.com/onsi/ginkgo v1.7.0/go.mod"
- "github.com/onsi/ginkgo v1.10.1/go.mod"
- "github.com/onsi/ginkgo v1.10.3 h1:OoxbjfXVZyod1fmWYhI7SEyaD8B00ynP3T+D5GiyHOY="
- "github.com/onsi/ginkgo v1.10.3/go.mod"
- "github.com/onsi/gomega v1.4.2/go.mod"
- "github.com/onsi/gomega v1.4.3/go.mod"
- "github.com/onsi/gomega v1.7.0/go.mod"
- "github.com/onsi/gomega v1.7.1 h1:K0jcRCwNQM3vFGh1ppMtDh/+7ApJrjldlX8fA0jDTLQ="
- "github.com/onsi/gomega v1.7.1/go.mod"
- "github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod"
- "github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod"
- "github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ="
- "github.com/opencontainers/go-digest v1.0.0-rc1/go.mod"
- "github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U="
- "github.com/opencontainers/go-digest v1.0.0/go.mod"
- "github.com/opencontainers/image-spec v1.0.0/go.mod"
- "github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI="
- "github.com/opencontainers/image-spec v1.0.1/go.mod"
- "github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod"
- "github.com/opencontainers/runc v0.1.1/go.mod"
- "github.com/opencontainers/runc v1.0.0-rc6/go.mod"
- "github.com/opencontainers/runc v1.0.0-rc9.0.20200102164712-2b52db75279c/go.mod"
- "github.com/opencontainers/runc v1.0.0-rc9.0.20200221051241-688cf6d43cc4 h1:JhRvjyrjq24YPSDS0MQo9KJHQh95naK5fYl9IT+dzPM="
- "github.com/opencontainers/runc v1.0.0-rc9.0.20200221051241-688cf6d43cc4/go.mod"
- "github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod"
- "github.com/opencontainers/runtime-spec v1.0.1 h1:wY4pOY8fBdSIvs9+IDHC55thBuEulhzfSgKeC1yFvzQ="
- "github.com/opencontainers/runtime-spec v1.0.1/go.mod"
- "github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod"
- "github.com/opencontainers/selinux v1.3.2 h1:DR4lL9SYVjgcTZKEZIncvDU06fKSc/eygjmNGOA3E1s="
- "github.com/opencontainers/selinux v1.3.2/go.mod"
- "github.com/opentracing-contrib/go-stdlib v0.0.0-20171029140428-b1a47cfbdd75/go.mod"
- "github.com/opentracing-contrib/go-stdlib v0.0.0-20180702182724-07a764486eb1 h1:gmB1XmLjI0RXG8rJCP0PK6g8rwhX8COSGFTiOgJ4Wx4="
- "github.com/opentracing-contrib/go-stdlib v0.0.0-20180702182724-07a764486eb1/go.mod"
- "github.com/opentracing/opentracing-go v0.0.0-20171003133519-1361b9cd60be/go.mod"
- "github.com/opentracing/opentracing-go v1.0.2 h1:3jA2P6O1F9UOrWVpwrIo17pu01KWvNWg4X946/Y5Zwg="
- "github.com/opentracing/opentracing-go v1.0.2/go.mod"
- "github.com/pelletier/go-toml v1.2.0/go.mod"
- "github.com/peterhellberg/link v1.0.0 h1:mUWkiegowUXEcmlb+ybF75Q/8D2Y0BjZtR8cxoKhaQo="
- "github.com/peterhellberg/link v1.0.0/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod"
- "github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I="
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4="
- "github.com/pkg/errors v0.9.1/go.mod"
- "github.com/pkg/profile v1.2.1/go.mod"
- "github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM="
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod"
- "github.com/prometheus/client_golang v0.0.0-20180924113449-f69c853d21c1 h1:mEzWvBiJdUbhqHRT6kNSGzD6IDcWCWF2uAhrEEE740M="
- "github.com/prometheus/client_golang v0.0.0-20180924113449-f69c853d21c1/go.mod"
- "github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 h1:idejC8f05m9MGOsuEi1ATq9shN03HrxNkD/luQvxCv8="
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM="
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod"
- "github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e h1:n/3MEhJQjQxrOUCzh1Y3Re6aJUUWRp2M9+Oc3eVn/54="
- "github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod"
- "github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod"
- "github.com/prometheus/procfs v0.0.0-20180920065004-418d78d0b9a7 h1:NgR6WN8nQ4SmFC1sSUHY8SriLuWCZ6cCIQtH4vDZN3c="
- "github.com/prometheus/procfs v0.0.0-20180920065004-418d78d0b9a7/go.mod"
- "github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod"
- "github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8="
- "github.com/prometheus/procfs v0.0.5/go.mod"
- "github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo="
- "github.com/russross/blackfriday v1.5.2/go.mod"
- "github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q="
- "github.com/russross/blackfriday/v2 v2.0.1/go.mod"
- "github.com/satori/go.uuid v1.2.0/go.mod"
- "github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002/go.mod"
- "github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod"
- "github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo="
- "github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.0.3/go.mod"
- "github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod"
- "github.com/sirupsen/logrus v1.0.6/go.mod"
- "github.com/sirupsen/logrus v1.4.1/go.mod"
- "github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4="
- "github.com/sirupsen/logrus v1.4.2/go.mod"
- "github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I="
- "github.com/sirupsen/logrus v1.6.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod"
- "github.com/spf13/afero v1.1.2/go.mod"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod"
- "github.com/spf13/cobra v0.0.3/go.mod"
- "github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s="
- "github.com/spf13/cobra v0.0.5/go.mod"
- "github.com/spf13/jwalterweatherman v1.0.0/go.mod"
- "github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod"
- "github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg="
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/spf13/viper v1.3.2/go.mod"
- "github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A="
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q="
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk="
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod"
- "github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2 h1:b6uOv7YOFK0TYG7HtkIgExQo+2RdLuwRft63jn2HWj8="
- "github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod"
- "github.com/tonistiigi/fsutil v0.0.0-20200326231323-c2c7d7b0e144 h1:6RY1EKxCnPQShPM46xFDHta2JSOd+YKCgHyyBHtKuo8="
- "github.com/tonistiigi/fsutil v0.0.0-20200326231323-c2c7d7b0e144/go.mod"
- "github.com/tonistiigi/go-immutable-radix v0.0.0-20170803185627-826af9ccf0fe h1:pd7hrFSqUPxYS9IB+UMG1AB/8EXGXo17ssx0bSQ5L6Y="
- "github.com/tonistiigi/go-immutable-radix v0.0.0-20170803185627-826af9ccf0fe/go.mod"
- "github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0="
- "github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod"
- "github.com/tonistiigi/vt100 v0.0.0-20190402012908-ad4c4a574305 h1:y/1cL5AL2oRcfzz8CAHHhR6kDDfIOT0WEyH5k40sccM="
- "github.com/tonistiigi/vt100 v0.0.0-20190402012908-ad4c4a574305/go.mod"
- "github.com/uber/jaeger-client-go v0.0.0-20180103221425-e02c85f9069e/go.mod"
- "github.com/uber/jaeger-lib v1.2.1/go.mod"
- "github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod"
- "github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5 h1:MCfT24H3f//U5+UCrZp1/riVO3B50BovxtDiNn0XKkk="
- "github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod"
- "github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo="
- "github.com/urfave/cli v1.22.2/go.mod"
- "github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM="
- "github.com/vishvananda/netlink v1.0.0/go.mod"
- "github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc h1:R83G5ikgLMxrBvLh22JhdfI8K6YXEPHx5P03Uu3DRs4="
- "github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod"
- "github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod"
- "github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod"
- "github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod"
- "github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod"
- "github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod"
- "github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod"
- "github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod"
- "go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk="
- "go.etcd.io/bbolt v1.3.3/go.mod"
- "go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0="
- "go.etcd.io/bbolt v1.3.5/go.mod"
- "go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4="
- "go.opencensus.io v0.22.0/go.mod"
- "golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod"
- "golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d/go.mod"
- "golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d h1:1ZiEyfaQIg3Qh0EoqpwAakHVhecoE5wlSg5GjnafJGw="
- "golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
- "golang.org/x/net v0.0.0-20180925072008-f04abc6bdfa7 h1:zKzVgSQ8WOSHzD7I4k8LQjrHUUCNOlBsgc0PcYLVNnY="
- "golang.org/x/net v0.0.0-20180925072008-f04abc6bdfa7/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod"
- "golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod"
- "golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8="
- "golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA="
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY="
- "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod"
- "golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod"
- "golang.org/x/sys v0.0.0-20180925112736-b09afc3d579e/go.mod"
- "golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod"
- "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod"
- "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod"
- "golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod"
- "golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod"
- "golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod"
- "golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod"
- "golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod"
- "golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod"
- "golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod"
- "golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod"
- "golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod"
- "golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod"
- "golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8="
- "golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod"
- "golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg="
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs="
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM="
- "golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod"
- "golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs="
- "golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod"
- "golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
- "golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod"
- "google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20180924164928-221a8d4f7494 h1:WIJ3k0fGJRrCVzZTuGmcBnUzWeSDpWiP+jUOxWkA8bo="
- "google.golang.org/genproto v0.0.0-20180924164928-221a8d4f7494/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod"
- "google.golang.org/genproto v0.0.0-20200227132054-3f1135a288c9 h1:Koy0f8zyrEVfIHetH7wjP5mQLUXiqDpubSg8V1fAxqc="
- "google.golang.org/genproto v0.0.0-20200227132054-3f1135a288c9/go.mod"
- "google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod"
- "google.golang.org/grpc v1.15.0 h1:Az/KuahOM4NAidTEuJCv/RonAA7rYsTPkqXVjr+8OOw="
- "google.golang.org/grpc v1.15.0/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.0/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.23.1/go.mod"
- "google.golang.org/grpc v1.24.0/go.mod"
- "google.golang.org/grpc v1.26.0/go.mod"
- "google.golang.org/grpc v1.27.0/go.mod"
- "google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk="
- "google.golang.org/grpc v1.27.1/go.mod"
- "gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY="
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4="
- "gopkg.in/fsnotify.v1 v1.4.7/go.mod"
- "gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod"
- "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ="
- "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I="
- "gopkg.in/yaml.v2 v2.2.4/go.mod"
- "gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10="
- "gopkg.in/yaml.v2 v2.2.8/go.mod"
- "gotest.tools v2.1.0+incompatible/go.mod"
- "gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo="
- "gotest.tools v2.2.0+incompatible/go.mod"
- "gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E="
- "gotest.tools/v3 v3.0.2/go.mod"
- "honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "k8s.io/kubernetes v1.13.0/go.mod"
-)
-
-go-module_set_globals
-
-DESCRIPTION="Standalone daemon-less unprivileged Dockerfile and OCI container image builder"
-HOMEPAGE="https://github.com/genuinetools/img"
-SRC_URI="https://github.com/genuinetools/img/archive/v${PV}.tar.gz -> ${P}.tar.gz ${EGO_SUM_SRC_URI}"
-
-KEYWORDS="~amd64"
-LICENSE="MIT"
-SLOT="0"
-IUSE="seccomp"
-
-DEPEND="seccomp? ( sys-libs/libseccomp )"
-RDEPEND="${DEPEND}
- app-emulation/runc"
-
-src_compile() {
- GOCACHE="${T}/go-cache" \
- IMG_DISABLE_EMBEDDED_RUNC=1 \
- go build -v -work -x -tags "noembed $(usev seccomp)" \
- -ldflags="-s -w -X version.VERSION=${PV}" || die
-}
-
-src_install() {
- dobin img
- dodoc README.md AUTHORS
-}
diff --git a/app-emulation/img/img-0.5.7-r1.ebuild b/app-emulation/img/img-0.5.7-r1.ebuild
deleted file mode 100644
index 4b2367c13e4e..000000000000
--- a/app-emulation/img/img-0.5.7-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-EGO_PN="github.com/genuinetools/img"
-
-inherit golang-vcs-snapshot
-
-DESCRIPTION="Standalone daemon-less unprivileged Dockerfile and OCI container image builder"
-HOMEPAGE="https://github.com/genuinetools/img"
-SRC_URI="https://github.com/genuinetools/img/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-KEYWORDS="~amd64"
-LICENSE="MIT"
-SLOT="0"
-IUSE="seccomp"
-
-DEPEND="seccomp? ( sys-libs/libseccomp )"
-RDEPEND="${DEPEND}
- app-emulation/runc"
-
-src_compile() {
- GOPATH="${S}:$(get_golibdir_gopath)" \
- GOCACHE="${T}/go-cache" \
- IMG_DISABLE_EMBEDDED_RUNC=1 \
- go build -v -work -x -tags "noembed $(usev seccomp)" \
- -ldflags="-s -w -X ${EGO_PN}/version.VERSION=${PV}" "${EGO_PN}" || die
-}
-
-src_install() {
- dobin img
- dodoc "src/${EGO_PN}"/{README.md,AUTHORS}
-}
diff --git a/app-emulation/img/metadata.xml b/app-emulation/img/metadata.xml
deleted file mode 100644
index 7213eb804f94..000000000000
--- a/app-emulation/img/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">genuinetools/img</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/kompose/Manifest b/app-emulation/kompose/Manifest
deleted file mode 100644
index c9c18f7e48d8..000000000000
--- a/app-emulation/kompose/Manifest
+++ /dev/null
@@ -1,542 +0,0 @@
-DIST bazil.org%2Ffuse%2F@v%2Fv0.0.0-20160811212531-371fbbdaa898.mod 22 BLAKE2B c2b56c0b043a2c0225c3b4142f179a2d2e4938dad64b95c8662a6d641e69a455b50ed79c66a3bcc10982792d3b7742ac96a2d74eefa7fec40a7c3146e5c949cd SHA512 7b3ef87f98485bb9ec325680f57d43a9bd76e90bdcfb1e798458f28f7d3addf91dbb6a07b654749468860981413ad2267df2d5f3535c85579e9f79d9328d355c
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea
-DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c
-DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.0.1.mod 319 BLAKE2B 99d93b5a4dbd4c90f3e8dfb58e64ed41fdbb484f2348297a90c8dabe03b036ef6917c2c9fb7cc4795d0c8d25af10cefebff4c4bc1b2ebcdc876b6db8beae5eb8 SHA512 338a067f7ad15d8549da11ac146b65657923ae4fee3caf2eff888c104c0df0edcdf0d98f5be6a67a764aa39210d5cad811ebd9d604084a67049b753246fbf89a
-DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.mod 433 BLAKE2B b3d58e290d719434bd433ffda9572fb233171493c7b81bfe353d9b7730130d5dec365f4e93a136a25467851b5f26cb21be6be06486696f010ccff1fcea140662 SHA512 8082ab039764aa6abd6615b1cf3a1830f2813dd5b791a27b7f0ebf5fa1ee68fe040a5e12988e6c91ba5d032a0a6666d384d6eceff12165d394a75ba56b744382
-DIST cloud.google.com%2Fgo%2Ffirestore%2F@v%2Fv1.1.0.mod 568 BLAKE2B d3d62f2d5c018c4ea3c829f7485e5a1239e2d810f79306af4d08ac32acda4d33e8e90c66c63540c4c95231f5fa116634758858dbf4af2a953a17b0db2b5c1cc9 SHA512 adb3d294ec1e9476bed820afa92aea5cabf77e7996d83bd1f03dff8447dfb13dd18ab4f091ad6ee209128151dcbfedb4967f99ccf7e10f5286e90b2ad56441d6
-DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.0.1.mod 508 BLAKE2B 9915d1d1a768852b3f262784771c8fe2e7e176e61f7d77841f8d3adac571dc141e36c6455c19090cf00a98a7a5ef0c2c887424142e2ecad339f8105b1c30f91e SHA512 8a393b8614207c22c73a706ccc3e66a8a16d2f305ab95d8f70774f13d0bcb7396b0ac5095daa57ebb991225a1db08c3110f1e85c26dd72f3bbcaf73fea536d9c
-DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.0.0.mod 374 BLAKE2B 4fef9f7da9f23e94efe43be0e279958715949a889c5d51e388f5b66ec9a7cdbf15a717c988883647032998facd71359ad1dcacebcf3334100144abbfa12dac03 SHA512 faf4a02a513ae4c23f931b8917e74a056c528b4267ef3b5b704949283910bfc5d41fdd7264b78d4fc1f6e5b370474a7c9933a2fad36bb5c872006def71f8ed0b
-DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.mod 36 BLAKE2B 52a2c5272e004524397df00dfa03b4c2d2ebd985a0c974236aad6b847d6b2b4b7c9b69ef48e263f4c67983b845b020d2004fe749b46fee3c0525da0416b20f3e SHA512 350a16c68553738ce8c2f4a6ac8beba66a7dcf2386a42aff938ebaa3bdc526bda8e5c51c493331eda4666cbcf8411ee7ca3aeb0768cc4f557f34585960f9eb84
-DIST github.com%2F!azure%2Fgo-ansiterm%2F@v%2Fv0.0.0-20170929234023-d6e3b3328b78.zip 32735 BLAKE2B 5de266d7400ae80c027f209cea91c911e22b0ff4fc6a2e964e8906f1a86cc6905b9c12d2588d5fdc91d0d8e9501a0ddf2f7a376cca9935d21943386c3ef31979 SHA512 72621865ffc0cadd27603e2f4032f1cd9c9d8bdcb920b3ca9fd02dbf88e52876a6f092c5b74eceb136021c514b68dc599f0cbbf18ed1620b827d46462aa55e32
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
-DIST github.com%2F!burnt!sushi%2Fxgb%2F@v%2Fv0.0.0-20160522181843-27f122750802.mod 33 BLAKE2B d234bf9be3dd919cb1f8d33750a24dca68c90fea110fd0ff62f0dba86d2ebbfc66d55fea62745b6383c5607bc91cfd78c9d2cf12df251397e85995c04707caa2 SHA512 dbfa64ac31b25fdbff12110c6f9815abfde65f281e40852e7165499a2cefb6656c74fe0b82f0f018304daa02b83b421e9c15654efabad39787c69c1b2996a79d
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20190919025122-fc70bd9a86b5.mod 177 BLAKE2B f2d2eb41aaa0f3f47a75ab260a461e6df690c34e7e817ec61afc7854ae26bec641cddf4f4481b5b3b27394e303d1fb1c4a9864f4de2d6c01f33e3fa0521b05bc SHA512 584c9a707b6115caac28ff373974faa59d12531962997f9640a4172b020f72c5d527355f035449a767d65ce426fc9705c143a7bd8afb5058c9ece241c9ad5d1f
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20200113171025-3fe6c5262873.mod 177 BLAKE2B f2d2eb41aaa0f3f47a75ab260a461e6df690c34e7e817ec61afc7854ae26bec641cddf4f4481b5b3b27394e303d1fb1c4a9864f4de2d6c01f33e3fa0521b05bc SHA512 584c9a707b6115caac28ff373974faa59d12531962997f9640a4172b020f72c5d527355f035449a767d65ce426fc9705c143a7bd8afb5058c9ece241c9ad5d1f
-DIST github.com%2F!microsoft%2Fgo-winio%2F@v%2Fv0.4.15-0.20200113171025-3fe6c5262873.zip 162307 BLAKE2B 5dcda96a448f05624c19165851978e1e3bfc1c60994514b665e520f2440482b3c2609dad19a96b2e6af8c604ef593935e0abfb0f318e19220f4c09b4d058ff14 SHA512 d6097a5733fdbd5c2adf857121966b6d5e4567ce77a838f28a3c00e559c5d1df2932101dfb5d7b4ac79e75e5fedf821645e2c182bf559c4b3e27a5ab1b28803d
-DIST github.com%2F!microsoft%2Fhcsshim%2F@v%2Fv0.8.7.mod 1988 BLAKE2B e89ecdb4644e50e2cd545eb43452729d909745705f5254a59547420baf3da357e77bf5d73b220da6899fe08a4eb034b0d1815702dceda20ada57e277b83b9954 SHA512 67df97dbec1c4a0c0f84551ea80df88a827c9ff4467614ef61544a611e19de6d063af40cf33673621f2e52e198595b61c8d6e5d732fe87f00eb7c5bd653e0399
-DIST github.com%2F!n!y!times%2Fgziphandler%2F@v%2Fv0.0.0-20170623195520-56545f4a5d46.mod 38 BLAKE2B 3f0ac051b31c84f5e98663c1e6245a4e2bde2be5c0be61ec80764d753bef5479251bbad3cedf6fb998d1a4a4e66a80beeafa6f3291ed45f46d643f7be109004a SHA512 aa1f503fe0c19002da21ae30df5393c15f2b2243ff415493420204d11032a562d5d40047705b1644d031523881dbbf284d3c56ce8106a2a969d2610504426762
-DIST github.com%2F!nvveen%2F!gotty%2F@v%2Fv0.0.0-20120604004816-cd527374f1e5.mod 31 BLAKE2B a9858e56714c0ef3f20576058bbad347aa76d00379ba71c7944479abe032692c3f0d33303ca82ad6d140ff529b0c6bf23a844c4c0b8b655c4fd23f6df414ff02 SHA512 ee0d1ac5d8bed0498ae9b304c1f3b07566a2e192b6f7cf706b4d801e74e62ad3157b101be9878733b48a06d5aaec3ee916336c7f73bf155d63f606d039f8c6e5
-DIST github.com%2F!nvveen%2F!gotty%2F@v%2Fv0.0.0-20120604004816-cd527374f1e5.zip 12531 BLAKE2B 0435dd738f6fe3b88b291f0744bc33659a47191cd6a091ca471f34690078b3d376e8794ac47133d2275d409646a28ee3899965c90037af293628f7b16543a23a SHA512 9f57f79977f08762c6b6cdc5bbe94f00b578046e08832afad7b5d9b860ba4ce23f13252a39b144f9878c5c1433e1fe8c44de465591c19549d686abe7a753f3b2
-DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.mod 34 BLAKE2B 83966cb7de9bb687f99f17c5c89c03718258d2df34e3dda01b96a2fcb1273a0ba0e3253ba5950d5458193d3e54962371317a8fe85020ae338b44e864bd96667f SHA512 9081c69a2480ef726f547047306dc9136211ac7550882e68d458e2c04e5343366cb08f20525a51c804ab9a554dfe8363a1d9660bc0f9e501e1d996f7b6f320e4
-DIST github.com%2F!puerkito!bio%2Fpurell%2F@v%2Fv1.0.0.mod 37 BLAKE2B 9aad8d876b88c7c8976667747135ea2496c21542d029e879d80490e9d979923ac3060f65ddc443044db8eff2f92e2eed6b18682822f6b5706c5605d8de92ecbb SHA512 8382734877c9dc6a9c8a59b12d9735b6f971ea72ddeeb9985ea0cd0573820991a4b936baa1a643d38b694f1df7395d7b0d119f4f52be8d947f00adba96773989
-DIST github.com%2F!puerkito!bio%2Fpurell%2F@v%2Fv1.1.1.mod 37 BLAKE2B 9aad8d876b88c7c8976667747135ea2496c21542d029e879d80490e9d979923ac3060f65ddc443044db8eff2f92e2eed6b18682822f6b5706c5605d8de92ecbb SHA512 8382734877c9dc6a9c8a59b12d9735b6f971ea72ddeeb9985ea0cd0573820991a4b936baa1a643d38b694f1df7395d7b0d119f4f52be8d947f00adba96773989
-DIST github.com%2F!puerkito!bio%2Furlesc%2F@v%2Fv0.0.0-20160726150825-5bd2802263f2.mod 37 BLAKE2B 28c9393f5171487d23b732afcbb1d3d835d13d1a63b7e852fd3205925742fcf5a686c39b0600359e9052770360e9396f6bfe52a0000ecb51e3ed0a23611a2853 SHA512 a2b3211e3520fdef3d5c1991b5ad4b3745f4bb1b49be3afc5b1936c82b2a3058231b6cc17c63c85402cae0b80f037a70051d42738e89a708865e43dabf7b7b8a
-DIST github.com%2F!puerkito!bio%2Furlesc%2F@v%2Fv0.0.0-20170810143723-de5bf2ad4578.mod 37 BLAKE2B 28c9393f5171487d23b732afcbb1d3d835d13d1a63b7e852fd3205925742fcf5a686c39b0600359e9052770360e9396f6bfe52a0000ecb51e3ed0a23611a2853 SHA512 a2b3211e3520fdef3d5c1991b5ad4b3745f4bb1b49be3afc5b1936c82b2a3058231b6cc17c63c85402cae0b80f037a70051d42738e89a708865e43dabf7b7b8a
-DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929
-DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175
-DIST github.com%2Farmon%2Fcircbuf%2F@v%2Fv0.0.0-20150827004946-bbbad097214e.mod 32 BLAKE2B f5b653f20e85bc44cbd3882fdd8f425c0b71733eae4bcdf2623952f1ed2524e8067a169f1cc0025f6570aaa4653969baa7d4626db6cf0dccb0d7378cc36da6b2 SHA512 a201f9c169bba0d962c2595ee8c625a2b7e39873e4bb3eb1ca646340638917dabb2309f1ba4b71d9fca4cf2da2d3684076c67ba362dd07a39538a45240f7f987
-DIST github.com%2Farmon%2Fconsul-api%2F@v%2Fv0.0.0-20180202201655-eb2c6b5be1b6.mod 35 BLAKE2B e9ca430f98cfcfdc5bc1e50ef421253011f21fe2a9a06b15b4b818f336c64a544ede9a8d1552740e85358fcb16a588345124b06fb2788951c24c9dd92c3b1cda SHA512 a0c76da94f068f583607520b728036f45ea071b727d3aee601eee712bd952b5f6c8cd5df1e1484195b07bb4c3b224771dda1fc7848dcd086a6dc93ada3ff2ce8
-DIST github.com%2Farmon%2Fgo-metrics%2F@v%2Fv0.0.0-20180917152333-f0300d1749da.mod 35 BLAKE2B 97d3ccde6ba4ad06a5344183f954cd6dfea580673607a6d54f1c0f3a643aee512bbe5fe7bdbc22629e6ffeb58f70422b9b80577d70fb58db9b03ababc0552ba5 SHA512 fe8dfbec1d09d7da5829af43760a4ddb5495b6a63eeb76fb3758aeb2fcf83d83ea443a15789d7042a0f5e637664babc9c388dbebc63ff7d35fb9545c7c7da991
-DIST github.com%2Farmon%2Fgo-radix%2F@v%2Fv0.0.0-20180808171621-7fddfc383310.mod 33 BLAKE2B f9ad41153ccea8eeb725d791dd7f44f2c5d8c997d85a091c0091ebc2ae38601928fcf13cfc0e326ab459538d16a3147f762c6b1d9b2abccbaebeb35691b0e5dc SHA512 98f0f51365ecedecd1abe944a765160f99ccde69abe92a44d4f0e30f72a664b828cddb085886d8460ea7faabd0cbe7abdbde905ac758be0a3752c9a8f3600b6f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f
-DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b
-DIST github.com%2Fbgentry%2Fspeakeasy%2F@v%2Fv0.1.0.mod 36 BLAKE2B ad3bb22bde28277f26a819b093ab7392da57c027bfb91bbbab4686d225ddc4e239c0905f6eec64cda2fd47746bd625682f663a11007bdbbf64f9cbff7dd1de76 SHA512 f961ced2c3e902be60fb862fff6b1c4457c57bd7586375a18857863be63d9b3ea998b05fc0c9c3a7270387e9907861d6f9d6ce4024643ec84ea6a63e59e915c1
-DIST github.com%2Fbketelsen%2Fcrypt%2F@v%2Fv0.0.3-0.20200106085610-5cbc8cc4026c.mod 568 BLAKE2B a2769032d81e02d8f4945648d36e862a996841d0e138077fd190b47b700fa08cd4e8e8d300925fcae5ebe48ea972afed0dcde81870f3673a3227ba90beb5e341 SHA512 262ec838f5c4b97bc186533c20456e62633038ae74747c7b884788bd06ce01863a59237557877d35f37338ebc018d2c1c8ae963e4a42dd42e0823a5b3ec81bb3
-DIST github.com%2Fblang%2Fsemver%2F@v%2Fv3.1.0+incompatible.mod 31 BLAKE2B 15785a01a9f07d2cfe324a1ece5c8188395300b11821621fe13427b702cb9f452ebe125566c3c2648d2d83139add9ad6224d00536aaea7b16306eb62f67f8184 SHA512 5f7f52012aa82bdc43bd89d1491fbe00091299554bd85dbfc07f0cc757fcf44f4499df97a4f19c234ce70fbb7af0f4c54c13ffd547ef0a733365ea9c68dd0297
-DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4
-DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.mod 146 BLAKE2B 5efa8dad622ae253ffa106eafea277fd947fc0f28e6962e461283ce2267d992b85b1f0eb9074a90009d8ed1d47f9e1f3e03cfc0eb7ad7df104282cfd144cc12a SHA512 32c34a590e6c113a16700ef2faa5124ebb6c8773cd76594312157bd2b70d54cd939ff2c32fac47421b5615e804142cb7b393394d4745d5894f9b68392bc37ad9
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fcontainerd%2Fcgroups%2F@v%2Fv0.0.0-20190919134610-bf292b21730f.mod 411 BLAKE2B aaed1a7526861470d053cfa204fe5af2ba4ebca024322c8007d3660acce6fdca03264a12ca0bedcb6fe1f0cc5c78de920f8e8e19a36b12e1604cc3274bb88733 SHA512 32f6adadbc5dc2c9a57c698ba76fa4fd83637e67f58da55c6a22d4faad9f705fef7a472c2b2b2b94b2bba2b839b85856254fac4681dc9770893afa940bc734a5
-DIST github.com%2Fcontainerd%2Fconsole%2F@v%2Fv0.0.0-20180822173158-c12b1e7919c1.mod 37 BLAKE2B 7037e2b6c6f7927a37d8298f91976232fac6e1723d9ffda59b2c01bf81c24acaf124fceeddd8791b6a6bb1e81b03e1bd5ba88ec9613784462a235bdfdea76498 SHA512 3d4ac776b750aac30718ecb1a3efdb383cf39d0838ca60db5ba266152baa1dcbee739a8f384965b5b8d39b9d9b18561ac317eb8c64c61076986db66bc10bc1dc
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.0-beta.2.0.20190828155532-0293cbd26c69.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontainerd%2F@v%2Fv1.3.0.mod 40 BLAKE2B 5aab68428b3a2f13611b2994bc4ffa44a6d2863ce69d937f0fc36553d9850723ecbbc6ecc373ec7e4fa084edcf6387c828a9ab1c5266bd19ae84c86f529b8070 SHA512 2be7fea972fe99bd4406e4bf4770acc363ee0a5c88d3cdde9e273754c22a7c986509de5078dedc96e79aaaacf93c3ef101b787179b855ab592bb232f0274092c
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20190426062206-aaeac12a7ffc.mod 40 BLAKE2B d99a912436af30ef3f5fd53f6348367016633170289e08c271f0148a47db1f9c5ac5da362fcc3f6fa5a7e7977377299adcffe63e9c3315c45ec173d55248006c SHA512 442fc394b0be5c87d2b9edc858f47d52b1027acf1fade259879bac7c598e51692199cba7d4e175f21f772193f1570e47e82d6c6c6fa160e253eb49b09cbca793
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200228182428-0f16d7a0959c.mod 1000 BLAKE2B 595d0a4ca474b1143bfaff75d8bb1089953f1b68da5b593966f85461b5a20ea0a8ebefe6340ae8747b12e9fda5a13dff135e751262f4efbf7142993938a103a8 SHA512 b6ec25dca49d545033cf2e97f7907e4709103e1bd76b341a27511c25df44788246d9788281d2f2636bfc7b4f39ac7fb25fc1de293917bd68ebaec92babea8557
-DIST github.com%2Fcontainerd%2Fcontinuity%2F@v%2Fv0.0.0-20200228182428-0f16d7a0959c.zip 137664 BLAKE2B f988f95df402c1cf2eccc556ef3c50b09ad49fa16ce909c8639c68ede1bbffbfcf6b38231e97bf0f23ed1edbe52756854a705e00900ba749e812187514107244 SHA512 fbfbdfde5488d65e853c40b45b0045e71ec1a333f108d1ea8e5769994793dadcf41fb0cf380d74b07783ff378f82495155b5527b7d03683a8425dc31d96c2d96
-DIST github.com%2Fcontainerd%2Ffifo%2F@v%2Fv0.0.0-20190226154929-a9fb20d87448.mod 34 BLAKE2B 24e82d551cc42b7a7c8c830ff4941074686a06dfc753202e49bdf1c7d5f7b960d0ddcf73f618585b6dc925cde9cbf123196fc4b45cba6bff79a16500f49c178e SHA512 9ae770f38dd2c9560c8c3e858890a835ed848d5434a289d889c312d681af748b11471efa47739b08ccc12beb6e9050d2f1104ac6299a50a83344f496af516761
-DIST github.com%2Fcontainerd%2Fgo-runc%2F@v%2Fv0.0.0-20180907222934-5a6d9f37cfa3.mod 37 BLAKE2B b3d06413bdfc072eba71c8b51cb7aaf27ca29ba736959bd0fc9ef2de8fe3dbf3f194cdff7d030aa259c8e78fcc9003dee040be0d1b858a677d9e306c89a3542b SHA512 62de290e5234d6bd82d9a865d1ff592736f075130d1c29e9d9f2544ca3f9514c4a81ce1a726cf8fc8be8404e8ca41a88958dac755174ef2c20ec9b455d0cbc50
-DIST github.com%2Fcontainerd%2Fttrpc%2F@v%2Fv0.0.0-20190828154514-0e0f228740de.mod 35 BLAKE2B e2c6e0700e40d563dc690884628fa22b6dd56872a63ada54374c07cd6328aa332b6df2396300090da5c9f7ac730b6b9bd60dbc776557c4614d5ab3ce003579f2 SHA512 93f981daaa62351a480595cfb2feffad6c34770cf89f35399d777096fc524cafa50d0dd3f56231ae41b15e56061ab83f0f6829190730dbfc7f9fcd594af7b054
-DIST github.com%2Fcontainerd%2Ftypeurl%2F@v%2Fv0.0.0-20180627222232-a93fcdb778cd.mod 37 BLAKE2B 109f32f2dc537cfeff1699937e93eed980f34a37faa111ad3831be6dbbb1df965c56ef266deba48aa1390fd94bdedfda9ba3a51f4f6d9519ae24db6b99dfe1d4 SHA512 6485196f4703578401e82673647b49d58fe60d7f90c311294096504d3e11477c75fa50684f00c7b378b2566e6e8683cf18d99f2ac78043b077318a643fb11720
-DIST github.com%2Fcoreos%2Fbbolt%2F@v%2Fv1.3.2.mod 31 BLAKE2B 7bbb809c199d39bac173751c3dc21b23ee8b020f20b4447c33681469b5083c64e74f699fa8d3dd55446b76ed44fc0949337303a776efeed90a764af1d751c8a4 SHA512 12f6b0e7090b257656ee9068083207fdd1b6d9f0b27546cb5b3a5a520e5944f3eccb8f6dd644a17e1089bbf787fd26b3e83eb0f0353071c8c4ef23ca99bc6251
-DIST github.com%2Fcoreos%2Fetcd%2F@v%2Fv3.3.10+incompatible.mod 30 BLAKE2B d511bd14351d68fcde2b3be3f008373eb12d2c61133c80aa3a1938e53ffa061c0aa51065f07b208a073b448c25309c3b2d67c0ed19ad3697309a679fcb844414 SHA512 a986c2cac4728288aaf90667b54ffe9cbb9e1a55697347f9541e6aa0dbfc5b8d245c2ac15e8a9558d41862d98325f3f2f4055b02bcf1e9045b78bb3577b3f45f
-DIST github.com%2Fcoreos%2Fetcd%2F@v%2Fv3.3.13+incompatible.mod 30 BLAKE2B d511bd14351d68fcde2b3be3f008373eb12d2c61133c80aa3a1938e53ffa061c0aa51065f07b208a073b448c25309c3b2d67c0ed19ad3697309a679fcb844414 SHA512 a986c2cac4728288aaf90667b54ffe9cbb9e1a55697347f9541e6aa0dbfc5b8d245c2ac15e8a9558d41862d98325f3f2f4055b02bcf1e9045b78bb3577b3f45f
-DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.2.0.mod 35 BLAKE2B 931ceb7bcae15a876b79910a59b0f4ec67ae8f0ac5fbd401e80233107e7683d9cc4a947548c4d08b26f2d47ad6bfe4916f99ffd2a98abe26e8161af87eb49c64 SHA512 58d88566898778823c24b5f4ff7ac50384075312e3eb332aa01233ada3ff385cd8a0e3b8727a77ecf068f13b52a304fbdb5f47a27957333dbd5a8fb1448956c2
-DIST github.com%2Fcoreos%2Fgo-semver%2F@v%2Fv0.3.0.mod 35 BLAKE2B 931ceb7bcae15a876b79910a59b0f4ec67ae8f0ac5fbd401e80233107e7683d9cc4a947548c4d08b26f2d47ad6bfe4916f99ffd2a98abe26e8161af87eb49c64 SHA512 58d88566898778823c24b5f4ff7ac50384075312e3eb332aa01233ada3ff385cd8a0e3b8727a77ecf068f13b52a304fbdb5f47a27957333dbd5a8fb1448956c2
-DIST github.com%2Fcoreos%2Fgo-systemd%2F@v%2Fv0.0.0-20190321100706-95778dfbb74e.mod 36 BLAKE2B bec7662666b7a5313f4b7ed0789ca75f07dcebed3b4498cced2b75b3622bc4c8c7d624066338fc6d77adea4b778c89f0a1218fad524c6804ef350deae2f24d68 SHA512 00ccb440abed145db781cbc7bc12695057b7dfa034c8ebd7ab1aaf5ea509fafc0be7147328dd9654e3fc2623bbbf91fd3992a86ff29e78bfa3e868d994b47e7d
-DIST github.com%2Fcoreos%2Fpkg%2F@v%2Fv0.0.0-20180928190104-399ea9e2e55f.mod 29 BLAKE2B db9b03b0adf02e3b379eb06d67988a60f2e2034d1217e56b40ebafc1262cb4803500b73a3e697a5a73418615c84310bd7f7aeca6db56f6ddbcf6c044cce0e9f3 SHA512 ea629c85891049bdff24f75a4dbce34f048a9627fc126b44f497b3ae65602045ca4fe0856e1b3d7ba050bb867226b90c25912565867c696bc370697341681c33
-DIST github.com%2Fcpuguy83%2Fgo-md2man%2Fv2%2F@v%2Fv2.0.0.mod 217 BLAKE2B 4232fdc22064d42e7b97efa666b5345f93d53d40ba11231778e5d17bc7d48c6178d27f4e8678d2139ba4e40a90d46a6caeab1a9696b76db5aa361fc17d3c8c93 SHA512 000449de8fe27ac12c5e7614bfb48a31d506b582ce2deaf0a0709d3673c9fad41e3b97e25df872609c5a190e899a56755d2d9f974a38523c51c9fa3af521d73d
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e
-DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb
-DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec
-DIST github.com%2Fdgryski%2Fgo-sip13%2F@v%2Fv0.0.0-20181026042036-e10d5fee7954.mod 35 BLAKE2B 8f9b63ec3e5f70db4f7f0185a03aee0608efdaf267377c48bc0e1aa6c37d431119d6e422c8e7c9bd93f0819796ca0aac423804ff0acdd49458265dc37e9d439e SHA512 2b6a3774801edff4f0b3fd40ae8e5396782e796e36b02b4d2f34e5dcce19d2f064a7a8d0787a9cb994b9208acf39b466f291525cf6f459ecd7c45d947dfba50e
-DIST github.com%2Fdocker%2Fcli%2F@v%2Fv0.0.0-20180529093712-df6e38b81a94.mod 29 BLAKE2B e7c2f5d22f88da5836f4de5c23e6e1a0e1eeb43e7d6b49b79e25a2b5d04b892ad9dfe7bb174c93cb60faf8e78683af6b296606371ceaf7eafba76a85a6b1c73d SHA512 7681fbfbd36f2ab19e01f6e38f899cf538fa34e4abb34bd38660459d9060367f49680c85f75da08f8d3e7981e9ebf1f911db26e31e1ab44f451640e435cfd877
-DIST github.com%2Fdocker%2Fcli%2F@v%2Fv0.0.0-20180529093712-df6e38b81a94.zip 1832302 BLAKE2B 725f6b4ad3c9d42a119b4bb8198e2840d68bc1427658206ee7fe308106fcdf9d23b5fcce53c6857746dae8aef178d9128e8004f5780b443d10657c1916351b4c SHA512 ee9e75bec6098e80ff8308ef42093e566036e0c85ef0e1996d03359e14e7a2fa2e59f65f8a993fdda22ed75998e169436319514a34043483aaab7d672b5a3cc2
-DIST github.com%2Fdocker%2Fdistribution%2F@v%2Fv2.7.1+incompatible.mod 38 BLAKE2B cd95ca3c9baa32743ad6a0c2359dfb95eaa79009366a4019e5e1a4d3ded54090b005d307ef18942fe4de4027e7fe688e7ad046f226c77a3495e2ec579223a9ee SHA512 662e7810daa3242958f5ac7c71bccd25fc39ce814db684641cf69e96a5573dff638faff15aad77b7abddce767f4ddbfbd8a1bbb85a2aee5a0e80c96baa3f39a3
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv17.12.0-ce-rc1.0.20180220021536-8e435b8279f2+incompatible.mod 32 BLAKE2B 60d7bedad25f2503b81b09e753b7f5aac1ce61c5b128e08dbb42f73cb5f3748d376aafcd475cda1f50f97a88790992ec920d2309e8b3faf914640ebdf4b21404 SHA512 ac7ef0a0baf8fd96efb31c685f838842cecc51e9332cafefab138f16438fe00962e91b31e53d93214ff9d18558634d4b9bed4a0a9567e06646da2d2bd3e9c439
-DIST github.com%2Fdocker%2Fdocker%2F@v%2Fv17.12.0-ce-rc1.0.20180220021536-8e435b8279f2+incompatible.zip 3718213 BLAKE2B cd0cc645280b3a12e88f816b075db73c365e19a24e43042ba43a29880e6266328d736c8831e414ad120d50d69541c7634becabf6d0869cfe4e5779559121969f SHA512 d794415a1cd00baddc182d6cb7db48dfe69deabd5549a8e06fcef80dae56ffc17f143809af1d46bcaa6c8204ab5a3a35e1da8e96ac1d9ac42feed3a35892e3a0
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.4.0.mod 40 BLAKE2B 13f8b46e2e71edb04180a1734d63e1e84dc75661ca635d150fd2bb8b1213df768520fc1c5cffa7a9cb224cb11788efc5242dd85138915fc21dfc9ff95b1d2737 SHA512 721f6b5cc358f8ee7093f7c80e4153ebc474f2052bdb3a91bf2a4ae9d2dbd2e2e50635a5bb8f9b62bd8ee7a0b7420ca9f18c60abcfd5287a953ea63d21aec53d
-DIST github.com%2Fdocker%2Fgo-connections%2F@v%2Fv0.4.0.zip 43214 BLAKE2B f64253be261a17ca9e2c6540d70b159c89b5f578921a7f6287e39be2a99fdec8b67191ff06315e5539585ffe812235ddd90c4a9754d8d63e512fec1991297709 SHA512 a61373f6a66f0ffecd3ffa78a99e6d9560419ab325f12101ae90f2623fdcb2e10adcf274459191263e1a80dd866fb98388434f9875c52e42dfd646d3d25264d3
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.mod 34 BLAKE2B 37c07a43d4e36f25bb5bbc10a863a717fa114a5eb980f17942f5bc5b1d1a4f58de5301ce871ec5d41f5dae3f05edd7c03a5c9246317ebf089c1cff27d6634aa1 SHA512 53dd482245593fe74b94c319cf4f3079b47313a22aaa69ba023b9e60e8b5dc81177ecfac49e0cbd9b1eb6706f654f387301ceb00313f8cbe530b4dc24eaefe97
-DIST github.com%2Fdocker%2Fgo-units%2F@v%2Fv0.4.0.zip 14089 BLAKE2B a825c998f5a7e6432a9d23f49fdf9d8559b8664ce6508468540530efe9585a98400bd38681a24b5a8b2d10b13c4ad91216f6c71153e8c597e3d2e8c8472622e9 SHA512 294682c312e079f96ac920c3f4e3dde7211e36622a378f54f32483e032f4df6f54a1f7314df7c73e2b7391bc559003ffe2bdb97380e4507aba7620ea4123d872
-DIST github.com%2Fdocker%2Flibcompose%2F@v%2Fv0.4.1-0.20171025083809-57bd716502dc.mod 36 BLAKE2B 59ad06fce3fe7102c7e9018c07b4f83ffa754fa7e534b282a159bd66922d460a77c30027e3e34e1e77430fefac49d6fb7d7f9c62dec016caea974ce859ec5bc1 SHA512 12ddd999ba19fdcbb1c092e31b470968ef85722a5fffc25b9778ede719925e4509c4f312c04eb224b06942b44bd1be8055e33b40c3c6987c88df9623ac11ffcb
-DIST github.com%2Fdocker%2Flibcompose%2F@v%2Fv0.4.1-0.20171025083809-57bd716502dc.zip 216037 BLAKE2B cae48baacfc291c82c751bb0e3cb5fd91cc74ec934ff82afd790f54da97ff5d0f5a596db9d94609ad2258284d4f274064d53c9e0aaca505d787f155521bc0680 SHA512 cf34a6ed4ef3996963ba8f65ac5ee2b7c56a864d95f53d4f716c0dfdb769ce036f1532c9736369cb2899cfaa595bda6366d74bb650553b4829725491b406b213
-DIST github.com%2Fdocker%2Fspdystream%2F@v%2Fv0.0.0-20160310174837-449fdfce4d96.mod 36 BLAKE2B d46b14a3eed14f8d5886e333deada157d9484ad3bab124d3d57d9fd6a39242c2272417df8bb31e08361f2be8b11dda9e96600aa800879f393c8753330eac4e68 SHA512 7ffd6ce59d5c5fffc6ee8e8f48e1e7114628ee2631abbb1a3591b794c23b2ce6dab10f67b8b76bf82c73e1cd8614313b2bb1152b829a8875425f1a603ee394d4
-DIST github.com%2Fdocopt%2Fdocopt-go%2F@v%2Fv0.0.0-20180111231733-ee0de3bc6815.mod 35 BLAKE2B 03d1120023db31c39a39e5b7f336b05bed30e652c890e12986c81778e49c771e97e8ff0dcbb053f00627ffdb229223b385a9524fa1d35ee83860ca3e0b0701e8 SHA512 7f90935b89bc2fc83b0f52d0090d8cc3f7262415b1feb9c19420f663da4ab8d87bb5cf42c2a558038c57e3e772b468132509b45fe40a4993d0b64b80aeb64ebf
-DIST github.com%2Fdustin%2Fgo-humanize%2F@v%2Fv0.0.0-20171111073723-bb3d318650d4.mod 37 BLAKE2B f097ba062c5ae93b06edbf7827cc21a40d6bf6d2130c44fc8002344e860b3471742cf930e505a74a6a2af3a77a6dcc7d01b103d01f6f208c96dd9ca713c96344 SHA512 be96d9da23cc31932c1001e2ed367e55d06ccf2af41cc106e83b92fb866b61110d06ff224797c942b9ab6104bdcba4542f2214b9fb2d88df63e69be8158c6e2b
-DIST github.com%2Felazarl%2Fgoproxy%2F@v%2Fv0.0.0-20180725130230-947c36da3153.mod 34 BLAKE2B f28e4e0816416341c47f1050c45c142e5f54ea8461f335b1303def3516a3642a4cf29341cb16aa3fe7a8f78439732058a3712b3831dc35b2db3bbfdc8289ba2d SHA512 df974cf26d8392df0aa30b39a28ad4b6fa2c128cc6e4be98e91aad8f997e76f98d16a5c19cb3aaa510f659ed8c02b05e7d93888648f30c701fa02e63707075be
-DIST github.com%2Femicklei%2Fgo-restful%2F@v%2Fv0.0.0-20170410110728-ff4f55a20633.mod 38 BLAKE2B 10c510e0332f88b1c489b5787540e7db93d5babe8fddd2d1603991bd08408a590d133646697604ee008f8a16f1cc384d8223d07e74d5da7e2242434accd1bb9f SHA512 d4d6319d58284419a3bfbe6eef0623570cacf0cd75a192cf5ce49846d75f02dee4188a68b9c62a6c38864503a7884e08d03a44a35296d1a077ea46ad5d68c820
-DIST github.com%2Femicklei%2Fgo-restful%2F@v%2Fv2.9.5+incompatible.mod 38 BLAKE2B 10c510e0332f88b1c489b5787540e7db93d5babe8fddd2d1603991bd08408a590d133646697604ee008f8a16f1cc384d8223d07e74d5da7e2242434accd1bb9f SHA512 d4d6319d58284419a3bfbe6eef0623570cacf0cd75a192cf5ce49846d75f02dee4188a68b9c62a6c38864503a7884e08d03a44a35296d1a077ea46ad5d68c820
-DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58
-DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa
-DIST github.com%2Fevanphx%2Fjson-patch%2F@v%2Fv0.0.0-20190815234213-e83c0a1c26c8.mod 84 BLAKE2B 304b92be8f942d6ffc1e5b2377879bdcb684f42ed16f03cc859614dd3c9f0d4de2fac6ed239803c3351c7f18fa153183d017f0f5bd0ae5cd2257ba9544861b25 SHA512 ddde12b37afe95157d9af265e749fa7014fb4a1aff81e80e4dd8fc818da065583a4baaa1714f8fb398579684947f77f30a26db7c7438318478f876a67af7b82f
-DIST github.com%2Ffatih%2Fcolor%2F@v%2Fv1.7.0.mod 30 BLAKE2B cdd74965525563fa7e3db19aae87c777b2de65faeaf2987957ea3bb4c0c6a91ab82fe02bfeeab4d6f523214bc2e929628c082edb967d49309e75483ff4c3bb41 SHA512 2dfc66b2f6accb7ecaccc48cb3daa338173f4751d954cb2912025d881f17a7a2df0457b2d7420f2d93b50519a2437a763450c4d639a26b3289fce7bdec5bb144
-DIST github.com%2Ffatih%2Fstructs%2F@v%2Fv1.1.0.mod 32 BLAKE2B a73ae1e577fbb84fd72de422c367c1003355c117a9660cadbb5d6d52fcd0c102fa3b22c7c7dfb6e149dc14ddcb9b5fef847fb2a7b9379a35405c7bd9d83ff1b5 SHA512 2ef8ab60b4320b9358614a28a02b4207f3986c4a06798c3e253a79bfb63692dfb1765476e9d154e15f9d5e30983609c98b6ee39ae910c678a3773fddca208cee
-DIST github.com%2Ffatih%2Fstructs%2F@v%2Fv1.1.0.zip 17890 BLAKE2B 663ee535dd3ddf1a89ae274a400bb744d6e22689a212b58e6f6a3ae45890be76761fd4cd08d1836ffa3b8fc290249a408c798001b343104d0f06d7e2abede6a2 SHA512 e42c37f71719ed662a4b3efc9c03725a3569ce04849d6bc845bb7967228b0e648d6b2cdf73ea18430e54df85486b2a3819aca6170538eca4401ac3ea4a512d3c
-DIST github.com%2Fflynn%2Fgo-shlex%2F@v%2Fv0.0.0-20150515145356-3f9db97f8568.mod 33 BLAKE2B 2c279a40bce4e61e5aad9d25a1c374b6c154586c296cfdfd56f52435c7739c8d9a8958e19d6da8026c2a03b728e0cb9bb512d5c094aa6111f9b10af24ab894ee SHA512 2bb0f125a91c8f92dc1cb5ec16441b27027585606a3862c216434b76324f3069941055c4bdc98372547543b095a4014155446de1be98264842504450121c941c
-DIST github.com%2Fflynn%2Fgo-shlex%2F@v%2Fv0.0.0-20150515145356-3f9db97f8568.zip 9718 BLAKE2B 1e0c02ef1bd74bd1ee2b8eb2752428274657d31781042fb3fd14c6c1a9acf15d64a427b08fed6cd34f39de28e44f23cce4bb330dbeac1a8e6ca98598c463a748 SHA512 d7b49daaa77088d1fcc932e1a3cbb2e85302e6b3e486657468396e407fadb69b28763cf5811c0c1c60a8f02033de2488035b020a0d2aecabc75364526b429e46
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.7.mod 36 BLAKE2B 2b77fbdbb6c6c20767c120b390fbd2992bf79dcae0a35c27121a6e755233da3ecb7d74e74c38c0a2463976b546ed8bbfb8a8d8cb140526dd9a0c4f524cc131a4 SHA512 5749d33fb085d63b7c12f43df824c96f168323cf6d88cfea3e2536eeb7b56689dab9dddb8cde1ec8bc9c2848e7148b8a37abf8523a99c55ce10f896245c5f341
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.9.mod 106 BLAKE2B 4876f70d70d2d8703d7b6abea5457e093043912d6a672bf7794a892d1c17b159ed2b92dee05ba1625a1b7cd6c8d66d6dc715bfc1d7c0f1c47965ae8e30506bb2 SHA512 ea3a26ed1f6df26a7e2aa64ea9d5d4a4c3005163cd8adc05028cf25d56d01d115bcda38b7af992242013c2610f26a184ce43dd1826309c95fa008fa9c8c387d9
-DIST github.com%2Ffsnotify%2Ffsnotify%2F@v%2Fv1.4.9.zip 42349 BLAKE2B f2c476034a47330b5424159be4a323bded799ca489163c8d485e95f17ce519d6c4d771a35eaed83e831acbe20c1d9ec5b782469ce20aa224ab03de459228fe59 SHA512 8df5f490e26760bcfbfee216b5479321d060d4e48911c98e4d3375a6f84bd161b5d80769fb0326b3122534ff726e8a987bdce365464cdd042ab4cb5366d674aa
-DIST github.com%2Ffsouza%2Fgo-dockerclient%2F@v%2Fv1.6.5.mod 968 BLAKE2B ce8b43e6f225e29df6b138a064d6cbed41a044e07ef3378d44892ab23d0ec4588808775908c15d259d950accca5635da69019d1796cc78f78a3200c76594ecc7 SHA512 7149d50785f0aa7d1a5d43636b0b3ee2a0f132151fea4d7c7cb109be362240dd87e989c5f4a7ddced6b2e2a76057280523b12fb3ae1cc381111a049163f474ef
-DIST github.com%2Ffsouza%2Fgo-dockerclient%2F@v%2Fv1.6.5.zip 194574 BLAKE2B 803dab9253f31d95e3935ae44d1b5d3350da44c9b3703a6bf3ef1450fcd2f0d4342f1c5e422973f80a7603c0633e04be88445f4873cfa4e8da36d4527b52e9c7 SHA512 8b945e5a08fbb81b7fb392a72432d8a566d38c7b3aea5e51a60151bc0d29443da21a92c93802222042fd839291c09f26cac639418d4860681d9eb26a27dcc46e
-DIST github.com%2Fghodss%2Fyaml%2F@v%2Fv0.0.0-20150909031657-73d445a93680.mod 30 BLAKE2B 6a680b6e14f0cbca536b1ca02d633e16b2010cee7f590088748339785b2989cb0f86a51fba709da938d4c10ec810d5fe022d7d1a5c269d5ece253a78a5b2069f SHA512 7ffc7a5c3e0b39831e590ce3402dbf5c95392e88a08576a16d9e1887b11400efa71a9d183d3f1e080081246f28a70262a679348f009f7da6bd41f253a60b0741
-DIST github.com%2Fghodss%2Fyaml%2F@v%2Fv1.0.0.mod 30 BLAKE2B 6a680b6e14f0cbca536b1ca02d633e16b2010cee7f590088748339785b2989cb0f86a51fba709da938d4c10ec810d5fe022d7d1a5c269d5ece253a78a5b2069f SHA512 7ffc7a5c3e0b39831e590ce3402dbf5c95392e88a08576a16d9e1887b11400efa71a9d183d3f1e080081246f28a70262a679348f009f7da6bd41f253a60b0741
-DIST github.com%2Fgo-gl%2Fglfw%2F@v%2Fv0.0.0-20190409004039-e6da0acd62b1.mod 29 BLAKE2B 1cefa73995b3d0b4206aea263f55c672b675dd22d42c61a92f7380b6e726f2d7ea40e0a9e456181f34808f5386eae3c485bd2872857caf1824254fe4a55cb635 SHA512 a709c650da5d5f513e94891b88c26697826fafebc1ca964fb9544415637ca14e3b9f1f4ddcf738e28032e10a2d39b619678ec5c8d44cc0a1dff738c75645e2f8
-DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea
-DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7
-DIST github.com%2Fgo-logr%2Flogr%2F@v%2Fv0.1.0.mod 31 BLAKE2B d141d98fd2673b422369b754fbd430a465f08bcdb07fbbf1ed626304ecd0843255fd2e909fc395b04c7adec18a15dea65ede0c64689be98b7491729d13363db7 SHA512 45bbb63ae2dda8c2ea63c9e38405b379708326c3f2e7963e3589ea53d06fd3bdce1613b5a0c1ef66f9c6ddc21374b1669218bd6b3210918df0a4b205116f3e14
-DIST github.com%2Fgo-logr%2Flogr%2F@v%2Fv0.2.0.mod 40 BLAKE2B 58806201fdb03763a50b137694c83456be85e03dac2b8ac7a1dd39c27795225d009e38ca6bb232247dad1e9e6868fbc7d6e976ec8d50c36adc2f7ce7e66f75c7 SHA512 f1933f140710ea465e584361e0751356bea07b0e772ad7da7eb3d8ab2881a55c8c300140778defa1a541e3e7613819c28de76127168900c8d52e931a8b408d97
-DIST github.com%2Fgo-logr%2Flogr%2F@v%2Fv0.2.0.zip 15918 BLAKE2B 1336707973721ae4343d53fd4aab4853472a817a4bb38db05965870ad714e2f47a324c87f692d88d89d886ecf8d56e3125c099949c97d86a06ffe6efd26e76d6 SHA512 af51415b41e2f186b66bea72d46f602faf22e899f01d7b6fbaeebf11532efea1d03e7c575770e79ea5f3f476ecdc61afbda860c490d44d785bbfb0105352d51a
-DIST github.com%2Fgo-openapi%2Fjsonpointer%2F@v%2Fv0.0.0-20160704185906-46af16f9f7b1.mod 41 BLAKE2B f496cc326aeee2c6f1547b802fa1ea13a578144331451bb772a33e2934dcc655c9355f06f7845684130c6647d00decfa937c839909baa01a6d84f6e601a427e8 SHA512 56fe1d995f8f51197d68494fb2edc2d5c5cc863c881ed640a74ba80e292a54a0600f10c727b3dc8a209fc33c750d92ad658374d0dc3d083fa9750bb7174f5613
-DIST github.com%2Fgo-openapi%2Fjsonpointer%2F@v%2Fv0.19.2.mod 126 BLAKE2B 27ace39813b8f55ba228ea7a2f298e26bc30daab931d25167887237a6e2a944014b132f143a20006e69861a6d4517d597ea6d56f74b2fa6941752f3161e44644 SHA512 a33deb764fbcafead3f863c4e20fbd6969e8ed04098fede6872555405fa4a352b31f771adfb5df03fd633ee5471dbe259407d873e230af01a1fd31b78042cee2
-DIST github.com%2Fgo-openapi%2Fjsonpointer%2F@v%2Fv0.19.3.mod 210 BLAKE2B b3f610a7bbe7758041e145a17de7becfe6ef0d80bf8a2e6bb9de47883483b3ced7f09e0ef1d170f42f1c5928913cf80043727b3e62fc0025943f6a327a884f64 SHA512 d927113c08de347570e5ecf4ef7019c7574e9fa2d751273e8c68f114b49aa4a9d9c39e32937ddd1ad3d665757d59a4e498fe275578d40a6b0dc644ca7dd8fca2
-DIST github.com%2Fgo-openapi%2Fjsonreference%2F@v%2Fv0.0.0-20160704190145-13c6e3589ad9.mod 43 BLAKE2B ab024fc86c325a82315f5a99c39e1fc08440ee35d81fe09959816a0fff09aa5d852431fcc370dde082963ccbd0d79d74d987f1bacdd4796d6d1d11eb80089d63 SHA512 b3548cd55d406b9148e992e276f7178d68116825198f359971f22a1d9e7e2548cdf9605a1b8b6f04b3b66d92faa906dae781a53624344733fc471452f16f4312
-DIST github.com%2Fgo-openapi%2Fjsonreference%2F@v%2Fv0.19.2.mod 354 BLAKE2B fac3e9e9fd1514b1e07894e6931cd0368df9dcc09210519c569d81871ef1350810111ae38799b9f0b5692829d380b403d8f7468e81eab8ca22027ac3dd8f9adf SHA512 30bf4610b301503fed728f146ed4458dd3bf295e1e4f7e1ae4806f4ca6e8856be988a10642c84c5dad601d71ee5b7bbbbe0f3e371be1b382c3c3e869493721ab
-DIST github.com%2Fgo-openapi%2Fjsonreference%2F@v%2Fv0.19.3.mod 363 BLAKE2B bec8f102ff2d1cf0d4e61960971cae49e628ff3678b0a6595fd4add3dc6018684c004ff8de4a7f60fdb5ea8fa98dae0507c619f148836dc9287cc687cb9629e1 SHA512 b9528f1a273596c8227843c7b5513920f78c25b859c0d095499ea05f5c0200095f28a344c5bcc913b61c44f71c5af50462a2e7e2ca6ebb9670c5875096118998
-DIST github.com%2Fgo-openapi%2Fspec%2F@v%2Fv0.0.0-20160808142527-6aced65f8501.mod 34 BLAKE2B da7fc8b2c3dd4e49dc2efc50ae5d50571e906f68ebbaaeb863f4b3f6f03160a381d7b0e743863cb4253ba36afa2f5d7e518ac08fb4d6c08566d9931396d87fa9 SHA512 b75a0212825e9e0554f7654b1da4050ddda233853ddd86fcfeaac0202dcc4605f0608f3e5ea90056407ccef504330ac407493187a759a36fd716f508b20dc60c
-DIST github.com%2Fgo-openapi%2Fspec%2F@v%2Fv0.19.3.mod 589 BLAKE2B 9446db5ead7af8fe9e74376580e35fbec6d00ac8590e3e6ed4469ee237f549da84be7a1c282081a65f6112119d9af29c11a603640ac8dedd45e807a9582a55d3 SHA512 23d81877040f9b00f665fe8970912d413e944fe3c811970158cdd2df6778a4170199209de6039d535a896a87286392a2e342d48743235d99059ebda16086d231
-DIST github.com%2Fgo-openapi%2Fswag%2F@v%2Fv0.0.0-20160704191624-1d0bd113de87.mod 34 BLAKE2B 3eae155bd845592809662beb61207107add5a1e0edf380e313e262699dc421b3bbeabad5ea9ee73d29b6a694b2e58854b888e8fdb3dd9c7176ce637056cb90cc SHA512 81cbe6c6c48012994253a40b9c897207b8b4b79f35c09ede64ad7f8d22db8861ec823f2b4a7185334554c75bae3b614de236f804312c77b0027e97114ed4839e
-DIST github.com%2Fgo-openapi%2Fswag%2F@v%2Fv0.19.2.mod 499 BLAKE2B 77c4b2e41d6ef35e23029489c7962e3a6e036c1e55a876916b90efcaf7011ab935ff0bf8dfbfd45ea8a27194b480055a99039dabd2a45922a4d18f80fce4343c SHA512 c007b4edad28839d872ce2bee87b875757a3428a09d04d499bcf710baa8fe0f448a818f7a939a3c4c40b05436233a683af41c9ebf466ca58e0f44e508a014923
-DIST github.com%2Fgo-openapi%2Fswag%2F@v%2Fv0.19.5.mod 499 BLAKE2B 77c4b2e41d6ef35e23029489c7962e3a6e036c1e55a876916b90efcaf7011ab935ff0bf8dfbfd45ea8a27194b480055a99039dabd2a45922a4d18f80fce4343c SHA512 c007b4edad28839d872ce2bee87b875757a3428a09d04d499bcf710baa8fe0f448a818f7a939a3c4c40b05436233a683af41c9ebf466ca58e0f44e508a014923
-DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0
-DIST github.com%2Fgodbus%2Fdbus%2F@v%2Fv0.0.0-20190422162347-ade71ed3457e.mod 39 BLAKE2B 9884f8a07f2a84a159eb17ef62e9b17398b84bdea38fc37591af050dcebc2f56b83f851046c3333e604a7f954b7628c16b267c0c94807f7a41d5d2b797db0918 SHA512 c32a84bb302c9db3f31f714484131ee3ea96fa98b224b9cbf2c5fdd15100a24094e94b55175cf1fb0b6326128c2db8950677d8f6d281b49645b0c7b51b759093
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.2.1.mod 88 BLAKE2B 0699027ef7284edb7deb6a2640db52a5b93076e3250d42710bf02a1cd7d5f591f1d335ffb1e7e753dda5fe177837fad87a25bf69b03466bb545708fb2952fd7d SHA512 b91b25b4fe769a403fd7a1f82d7720bdb0526a349ffe7cfdfff09a2ba5e0015d5a3446cd8e0e5fe46479b7d2296a8616de38a8183c0185f84fcfc75d202db106
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.mod 139 BLAKE2B 0c793b0070acfae7ad92de8d8e177d6b9a2519d521bb397da4dc2610927374e4c010db6a4454783556edaabf64e585b00112aea05820874c49f9bb4c4f049fb4 SHA512 232bef55468d9ff66ef7f446d8096a44a0a947533c8665f0f018300b7ec1804a634299a1a6ab64deaa67f1475e9ef68e7be233dc72fb2d9173559800f01af142
-DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.3.1.zip 2698974 BLAKE2B 5fcb1c66d3fa55efca631fe5def383ec089fab784cad7d6a031ea390463a0c552f5fc4698f7648d271f40fb0ae3eee525f149347bb409c951d15d86b7f560e16 SHA512 c7e2170eda176da203ca64e402c11489c1fd183afd3359742e373927ff228d62e445f5dfc001a471303e1708862998c125ad4c2db86919596297b11cae4aee9e
-DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190129154638-5b532d6fd5ef.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96
-DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.3.1.mod 93 BLAKE2B aa4bc48d8914434d540f570e6017b3572dc4b75563174e73ecce9f86460669a264389e1e24ce26cbe056a26865b3cee294457315034b6ae9779001b7306d91a3 SHA512 5dff0170dc085e1be63ce69886cb019b9df09a5678128b3b0a1b174756500f7d4bd62dc25ee7546977e298f719746ce951119908ff59463a79a1aec7a8882e32
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.3.mod 43 BLAKE2B 1985b508a7ca5fbf7283bfe42510dd54e1e409894b4bf404c918943c8bbc38a3682d00322514c8fef7d6528059fc547534bd956fb262f91fc63dfd6e97fe0bcd SHA512 17d97ea39719fd59908591504c8df288f5914243fcc43a2cd8cba6c2c50fd6f5315b17afa008f92ecdbda732d5447f848d31bbbfe59ef9bec78aaa3f25f51833
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.0.20200221234624-67d41d38c208.mod 151 BLAKE2B 9c1bc32114f742984396777149c3fad997bb47288dfe265614a1d17412ae3946581c2e60ff9ab87e784d71cfbe423b7ed1ea5864b6cd3f81f35e9103c8c08a00 SHA512 431b8d4756fe79e43cdc2f8478f3171ac9c90912222e50503301fc83d34c90001fb6ee0fee3bc05f66e47d657977395769e54efa0fb74ba35f34429cc0dac5c3
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.1.mod 151 BLAKE2B 260f1bb3e48b0bf9870ea3b725b13f84d2f18a12c6ca1275afcc2897bef547fcc1e893bd6b1efd46330bc1de66a00e3ef133a4418a50a075302aa3141abed8e5 SHA512 b6d7911148c590b3ce2a14a158cfbb94dd56dd402b3a4a2399adcd0421604f85d904244ddf5f8dba65326f04a7817d5652b30a306c65f44fd248ed269485a21c
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.2.mod 151 BLAKE2B efe8a8f8394f082a813ed4983158ada7bcd20f92f9f8b9b0d0e61e8dbb968b3c825432ae05d69c9b61a04ad57533c1e60438d9a1964312d4c9168f86864ba2d3 SHA512 2df7aaf6cb36a18165dc458a7b3f4158e2bce3bf10165418de401dd43e06d44378511dd4fea6530cb668a8ebb17b4c3f294ba35f5018e6aeb1b7b9082aac8a84
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0-rc.4.0.20200313231945-b860323f09d0.mod 154 BLAKE2B 8645404d124dde54c3e9c284b1243b1faf2124f2b7d6c5e6566ca600d3c965f7787f09f6825840f5e3ea6d36c016ef2c7fef10e8e12dce354593f7a8a3210a33 SHA512 4c9416c4777123a39b23b49ecf6265295fc3432de083a04dbefc87264b8c69f0d9e342ebb7e8e488f30c3efdc02951fd7dec23dfd1fef0802c8f0250f96612a8
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.0.mod 124 BLAKE2B 4c032e7f2e1c8765cdd720690c1067c7c0ba1005bbfae01cd928bc60d96bd82321052fdb18a4ae12119144e34865cf910e306c5116e4f4f56cc5f70f5d52004e SHA512 acbd5afd399b3798d4b24529479b18523ae4009e21acde15a3893d2af75f9a6e65fcbd5a237423849003eb8903718eaa0b1aed9177c390972ab9490f3acc0d1f
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.1.mod 124 BLAKE2B 9e60030e0014cbc67c0bc7064eef3b127dec57dfe25bbf7f0d0e2b9c8c77e28477066daf073a6793428116419900e7c9f6dea6e8841a5f61812cf11ff77e7009 SHA512 14a0f1fed404939fad835398d5889ad57621edeb0e183785b3094957183bb29a2026e2af939b94c7155f8496e966116c4a6a2497fab113a175a9aef3f7ec3f32
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.4.2.mod 124 BLAKE2B 3242575be48f0e1f74e2d0976d2a11f0edccc59c7b74cecde37233c19f97c51e576cd3032175cfad3c1ce9721cd41053f459341182fba836e0ff0456126e493e SHA512 9586be76b697c6a5c3216762ac13a7d297372ebe0c7ac5941d16c326d1580c8a73fb475236ed9a4214d158a7386e761877be16cdbd4ac2074e8a5e1dfdc95b54
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713
-DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.zip 105396 BLAKE2B 8b45b030824cf6ad208a00e36c7098b59e89c2725702926092baa11e82bd395d52b5daf26af57cd5edb01bee6ac2b8c4e3379e357e3a6cef69550d9403090c53 SHA512 bd13e72e46a82b149661a61dfc36dc6e0471dd4161f2291f301e871811e5b2a7976a49cf2af10eee1b7b2f6ad68583c240cba007ec163cea157f24bbe51d3b3a
-DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.0.0.mod 41 BLAKE2B 32370943a480c13662a0847b33fadc7d7f909784d044619ae8b00f03c9f537115448140ef2ea1b47606dbc64d7593e07cc8f9b9000fc5382e4f1ae94ae4086e9 SHA512 3dcfdb76a938cf370310213720ca952c6aa99c8b1b96afe41eb05f1bff15df7d98d279509d921893c0c749337c83d4bf40613813e117c01205859a041716b2ee
-DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.1.0.mod 41 BLAKE2B 32370943a480c13662a0847b33fadc7d7f909784d044619ae8b00f03c9f537115448140ef2ea1b47606dbc64d7593e07cc8f9b9000fc5382e4f1ae94ae4086e9 SHA512 3dcfdb76a938cf370310213720ca952c6aa99c8b1b96afe41eb05f1bff15df7d98d279509d921893c0c749337c83d4bf40613813e117c01205859a041716b2ee
-DIST github.com%2Fgoogle%2Fgofuzz%2F@v%2Fv1.1.0.zip 16936 BLAKE2B 04270e67b679a158d5675c41f8b92803ec49d9d29f4e8725345c307d7cfc97a4876b30f6518eadff651a38af46440e184294ea48757dcf53ace35f44d36801f4 SHA512 c94aacb755ae942dc487c9e8f79f01016cc31fb118f6f340a58eb4f458de5735b2533af6ec513cb4512a05e270cca73faf46c5f3f621a0b76a79d0606000d3bc
-DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
-DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20190515194954-54271f7e092f.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9
-DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b
-DIST github.com%2Fgoogle%2Fuuid%2F@v%2Fv1.1.1.mod 30 BLAKE2B 704029826c505198458e86463528ce2c1b209376f376b92d4f05a0f4094d161b45470d04ed3c1b5635397aca3126c25911299711139d794cca3e9b2bb373ee17 SHA512 695f3424e0cc247a069fbd6b94820554e003030eb0e208ba7be38f660c5fc29f74a057e60031ec77918b5b320913d6deabdf19a0f0666b0f5bc5e2724e1fddba
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73
-DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19
-DIST github.com%2Fgoogleapis%2Fgnostic%2F@v%2Fv0.4.1.mod 278 BLAKE2B ddb0dfbc6706088c465077c061562538e66dd414033408a92d7a967fb4382f10ee4926bad97508e4106b9ee341bb7417337630ca006726fe79f3be7ae12a2953 SHA512 3a36f6a3ad1c6dd306291520ed836c77a58390fa21fb6777bc3158df18cb254096b0eecc791947e7815098e020f260a4914bbffdacb53407582f9cf2e908b7a2
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771
-DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.zip 257755 BLAKE2B 13d505a73dd179828fd3dbcbc1dfb90f6bdf8a888bb7ab160713a566472adf63d45491fa29928853d76725c2ffa5ada33e802cf857376c83cd8085a31acb48b5 SHA512 5bb0e61c8622e09cecc099c80cd97cdefbc497d4ad0e88984b2936e7731991e972883eb639be1cc3f56249a97b4f14c6820cda6b1c08e4a2323aaca22b840dea
-DIST github.com%2Fgorilla%2Fmux%2F@v%2Fv1.7.4.mod 39 BLAKE2B ce025298653101cca2bccaa3f6797881c47f92443d0835d57c2900c62bb34a82d1399884826c863a7a51fbf731c1a8f836674f4416ec2364a20c690d788eaf14 SHA512 3398e8e140093ee9f7c27ce680fc141df5bbeacffb365a98b64898fb6b28cca8eadcbed1d593b90a101a1aede53a5602eb3455e4ec364ea4b76aa3ca043f68f8
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.0.mod 36 BLAKE2B 94a5b4cb6c6de32397f001dfc95c49960de212f67fbb6b4a1a4806f78cac88a2698c3c2e19b7e1cb64d07a3ad6caab25a1006bb4f51b65e1c62c5a12c77d8b9c SHA512 21ce8fb666af3c32e843c816626a7c4c0c63ed1f170c7a49eea4a2f40e28e4ba0105dad2e17aa527da7dc3eca198a20dbb6566e60ef48d7d7cf72413bc81d24a
-DIST github.com%2Fgorilla%2Fwebsocket%2F@v%2Fv1.4.2.mod 45 BLAKE2B 5f187c997ed74f2aab1da57c9a828be383e41f47905531da8babc1360612ba5d4cc0fc6cc48106647ffa450f334c7cc5f455bea7f6e6b9734f3e55734cf623c6 SHA512 81ef224435efb5cbd429dd4339e8410234855f4a268302a61d34e76c388e89ea22c97ae90d71a6ef910ca00d3178e40d3587eaf484112966050fbd1f1f4843ab
-DIST github.com%2Fgotestyourself%2Fgotestyourself%2F@v%2Fv2.2.0+incompatible.mod 48 BLAKE2B 1928fe4e63005bf9d678f5d275400bd3519d679207918c44b0d93e829e1171dd1dded06cb8d82109e1f0b06b5b8a3f5124f1596e736ed83c15b6831de57a271c SHA512 dc9bf8e49c8937007be31d97dac8bc58e0ff9e983b8f287c50944ba074281c1e2d20e643cb26fb207a936a1703680a2884ef10d07bb0b9fa0c545d5414dcdb91
-DIST github.com%2Fgotestyourself%2Fgotestyourself%2F@v%2Fv2.2.0+incompatible.zip 93535 BLAKE2B 5bf87f311a8e5467a6202c59609ea2620aedfcde525a1ff7e7ce2c6b436a4eb965ba7bfc2d19883ba467395629d9f0835e9b55f795e9456fc29974d37e6be12c SHA512 9e7aff78ddfa1ef1f98af32b05d6f8da72fcc49dd1cc3b9297d803cb5d6709e8135bf43aedab7ce5a55b29891964f15aa36029893c069b9088c65d225783d3ae
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-middleware%2F@v%2Fv1.0.0.mod 52 BLAKE2B 51b2a4332061cdef080fa53a14d29b65645776c1077922e6cc37f02db2ddaf924c0f2f71c2cca4586c582075c7cf76861161ccf39d11cf803482276b78321b15 SHA512 6e5556550286ca0fed117d3db2f43d6023d7f0e7625762ca76c773e410fe51d6092c6acb574db7578284188bbf79cb9050aab7000f09510338b24195ea395945
-DIST github.com%2Fgrpc-ecosystem%2Fgo-grpc-prometheus%2F@v%2Fv1.2.0.mod 52 BLAKE2B 9e5de5c147fb3f100119fc7c290e9790af57892762b7ea8b2a8328c397432466ba56ee20b64ced6dc548d58bf8ef0ecb2e62a51de2524f90a0ff39921d0f2a3f SHA512 c9e15e4a4436ffdedfe5ece51858a45806d6fd77d2306c35eb986a866a3da5bec0d5d06ddba55a05ca45c8c29a51bc7c58150849b5dbde569a6810012f3ace4e
-DIST github.com%2Fgrpc-ecosystem%2Fgrpc-gateway%2F@v%2Fv1.9.0.mod 661 BLAKE2B c7566b98c99bd43fb31dcd6de0086533bc499df099dbfc3c37aeba4996bbf46cf11b98e0c356ecebd0c7adbcabf4ab54fb31c41309287c26c083e78cd1639451 SHA512 35fbfcc2b6fb04830cf6d4966469ccf37e4b7593c8d8c5479dd2322722bb325b7f303ca836989c3ea96f862a4c85bae7863c415f94b72bb91742763ef08bcb49
-DIST github.com%2Fhashicorp%2Fconsul%2Fapi%2F@v%2Fv1.1.0.mod 449 BLAKE2B 1fbabe18b977c8e6283312fc1f8d8b35514104080a4880afd4445b92fa20af4db49ef3f7fe1da703d4237e6bd78902e64fcc7e9d4db85e84153c2bdbc6a6366b SHA512 a6d33e281b580e5a3461edadbf4e5ebe6aa74a8a929b9f0e96582592b24c85eea1ab202457f88f648018cf5991d267811132ec77255ab4886b6ccf958487d5eb
-DIST github.com%2Fhashicorp%2Fconsul%2Fsdk%2F@v%2Fv0.1.1.mod 220 BLAKE2B bfe2c5d746b4762c2a5e90ebf1db1e0489fae5f8de20cc1a16f4c9aaba016fc4500251efd3daa8a14b0a6145220b6e429ce1608cf11d7d69605c68fbcdddb684 SHA512 883151379f088d2645429c88fd2fc598b736fcee56feed40d05efe4540562d409cb54ec061b58d9dfd5f8a363bf3e5183af3a44cc669ce23ac7fc7b9f512950c
-DIST github.com%2Fhashicorp%2Ferrwrap%2F@v%2Fv0.0.0-20141028054710-7554cd9344ce.mod 36 BLAKE2B e3101c1f32c24b5d5bd3de55b4f15645e7f0b338cdcfa00d30cc4c063bf4e9e31e68972979e8282d04920ffcb54f112c8c8f6e0e109824e56881a6a699cdf622 SHA512 2b68ca06311d8602f04eb738a68a24951a9187aa70018d938e549cf7b555bf54dadbda5825501436c52f6103bcd220ed170c99e4cf777187e2b997c87f05fb0d
-DIST github.com%2Fhashicorp%2Ferrwrap%2F@v%2Fv1.0.0.mod 36 BLAKE2B e3101c1f32c24b5d5bd3de55b4f15645e7f0b338cdcfa00d30cc4c063bf4e9e31e68972979e8282d04920ffcb54f112c8c8f6e0e109824e56881a6a699cdf622 SHA512 2b68ca06311d8602f04eb738a68a24951a9187aa70018d938e549cf7b555bf54dadbda5825501436c52f6103bcd220ed170c99e4cf777187e2b997c87f05fb0d
-DIST github.com%2Fhashicorp%2Fgo-cleanhttp%2F@v%2Fv0.5.1.mod 41 BLAKE2B 927bedbe012a3bba2fb1363bf0157795f58be7dde5d303332f72ae6d7bd13775e9e1e034db821821857801b21b2366a92a28bcb84c00704a12925db0ce19a4e4 SHA512 302b6f472b54597aaeb4b43528098b5a5264acc97abf2228d8cb62bf32e6a29a7171ec6fb8898b494ffe837ee044e58f5596bff425214985aacd2b8b69934341
-DIST github.com%2Fhashicorp%2Fgo-immutable-radix%2F@v%2Fv1.0.0.mod 137 BLAKE2B ca790b5dd3ebd80c7fa24936acad0e033a7376302440c349d53debe64672d75703e83086fdaab607bb87dca35fe7640b2ed941069692dfc9ae37d4a256c7be3e SHA512 aadecf34782d4b40af684ef29e5e45f560d3593b52d5b6ac6b95664c02c04565fd29dc2d48bf1519091129b86856aec732fde408a8acdba41ff9a7ca12bab140
-DIST github.com%2Fhashicorp%2Fgo-msgpack%2F@v%2Fv0.5.3.mod 39 BLAKE2B c5b445c060258545233b5453482e0c739f815c1ff605b539610f3b0bdbadb6da88954c6a408084f171354256bb8521b528573f56080d4125f4fac474ff9bde83 SHA512 45b4424a023ea15d95167322e022269e32f7a718dbeaf192d0cee9f6bd136f5b4a26827d6d041a8103a95f622a0dc92123b32e6463254199893f360ad8680de0
-DIST github.com%2Fhashicorp%2Fgo-multierror%2F@v%2Fv0.0.0-20161216184304-ed905158d874.mod 42 BLAKE2B adaf8e14cd6696bc97bedcada70988d2508d8bf28e94a8b528067359665aac351ec7b7f38ca1a89ceb0c18c3c7935e30af4df20102563c9372b34b0cf54d41bb SHA512 da70feb8b6a17512c3761ce6f13653ea47bfcb4af69b471a3bfde9b79901d0f24ede05c10d35f3e051df54e1e636a848be5d00194ef5e9b85bf7915d6b27dd0e
-DIST github.com%2Fhashicorp%2Fgo-multierror%2F@v%2Fv1.0.0.mod 87 BLAKE2B 34587a565b583aac6338d7d23b4e7c2ce12deb6700e00bec711d3d8d829ef1ae356eb1b28873d5bc2a0d6ed249dd6095539a1dfd8c177bec32e08d97f4003620 SHA512 d47dfa43806a386eb74b60f692b3bc580997edb9d7feff6633992a5adbf94d102a238e036d828952e204960152c62895288af6f09e2582e8b1408d259fb834c0
-DIST github.com%2Fhashicorp%2Fgo-rootcerts%2F@v%2Fv1.0.0.mod 89 BLAKE2B 9e53a988f41eb9425cc2fe3051c0bbe67c65208e6988ae1b455450183c225739b540edb0e59cdd8d010c34e89c4e4acb70687c2bcb861d379443a5c36e261458 SHA512 3446ae69871561766d2b70963eccaf443edafd9328f0f58a97630fde61fa746e59d26ee5d833548a92711555656aa9c1f44bb9e241aa87e21f4424a1f10fbe1a
-DIST github.com%2Fhashicorp%2Fgo-sockaddr%2F@v%2Fv1.0.0.mod 40 BLAKE2B 211ec0a2a2a91bfe13a6ad5d7c6cac97497b62796053c633e945a51aa13dc946b6dee1adf040db0e270e1aeca614a43242673dfe44baf06034856d89a61b4030 SHA512 756eee5fa17dc2f37aa9bd623aa2ea86e6ca35a804da1b48067b08fcabd4083ebcca867bb3562453d17f517aa1e6aaec0143cf5776fdf3686ed562f11147293d
-DIST github.com%2Fhashicorp%2Fgo-syslog%2F@v%2Fv1.0.0.mod 38 BLAKE2B 9696a247ecfb868250995f7fde811a647e8b01d6f3a33996109c44aaa16bc85c0c70e9bc621857db7208f5ef49706cd3b2313f13b9e6f3327aebac20f72b4a8f SHA512 dec8c92389eca1dc304cce77cc70a3b51940f073581320117627c759edd5b523c379473179865f1e3e3f86deb9f323a5fff54951871053ed43293b0454182871
-DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.0.mod 36 BLAKE2B 8596defaedca9def85f29cb25a0ae25f8d2ec8eb64d64bd143a237d54d4d23b6851cad71a580667127188cc22d499be07628ce9c916dba946e7b189b612cfc76 SHA512 900755decba72d81cb348184648aa676c4a4c7359cc88ba3b41ebdd7691eeff401a41a495bdca7747e82274b3b2b61499b599e67b5c7369caaf766ea3e488d0e
-DIST github.com%2Fhashicorp%2Fgo-uuid%2F@v%2Fv1.0.1.mod 36 BLAKE2B 8596defaedca9def85f29cb25a0ae25f8d2ec8eb64d64bd143a237d54d4d23b6851cad71a580667127188cc22d499be07628ce9c916dba946e7b189b612cfc76 SHA512 900755decba72d81cb348184648aa676c4a4c7359cc88ba3b41ebdd7691eeff401a41a495bdca7747e82274b3b2b61499b599e67b5c7369caaf766ea3e488d0e
-DIST github.com%2Fhashicorp%2Fgo.net%2F@v%2Fv0.0.1.mod 35 BLAKE2B e084dc4953a472039fcdbfaceb0046f7af0cbe4078af4f2560457d8a47e3bf4654c725578f4f54ca1d41f48e37ff6bd1b3968e9b061773ce9fbda5fa5c50f17f SHA512 a36b4a70bb4b943055ad91fc4f754d55473b48f1e6330c9526e4a50dc4aba3b3462b787c71d7f2e863f78518e945ce15f9198a9bd0d6817146f92799733460f1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1
-DIST github.com%2Fhashicorp%2Fhcl%2F@v%2Fv1.0.0.mod 75 BLAKE2B a44a3c2185418f331e2648bdef36882414dbf8416884b8fd385b7e926c9b837d317322a433e7312e14c27eb095cbed26a74eec9822f0f063a2d14e753031f632 SHA512 045ed40015294ebd8f7a6df06b418415da8f091d09fb4d34fd70718bbf5ce9f49dca7399dc5649336de3fc83bbbd93e740ad6f62d41ea540fae3b17f349cd66b
-DIST github.com%2Fhashicorp%2Fhcl%2F@v%2Fv1.0.0.zip 121655 BLAKE2B 071d008723f19fcac3ee740e1b4898414cf09a2813bdb6922705cdcad5913d7fe4682d11219ef10d8bd3921fcf93c7d568daadd33b8e7c307a55eea6ac0d54ca SHA512 19403c36137b6ec9247fab3a9255dc98ad9dc46ba03ad3788e11298f8a310756b24dbfd3a0d9893ad93dc111dd228c421f96daae09e2058438c3c7c58386a71b
-DIST github.com%2Fhashicorp%2Flogutils%2F@v%2Fv1.0.0.mod 37 BLAKE2B b9e2cfa29511ec268d1dc1e0d8a8eeeaf1c246c1cd828fe6c2618c2f7d313deb4456e5d35d60034825585430da755b96d25ee003028f55c1b2aebaee2fbda535 SHA512 82c9a364ab098ebb6f830753e089529036cb405aed375df5b55459b203a1d2d02299103925bcf4dff94bf4868e7005f114367e90fd2d24d5f1db3e0287628f66
-DIST github.com%2Fhashicorp%2Fmdns%2F@v%2Fv1.0.0.mod 376 BLAKE2B dd92d033685d65d1876a52156317b2f1196028c035f6ef039849df4066b93fc518e9f9c06a666b4fb1fb803d984266f57fd9eecd891e241bc50f8b54ed6a9952 SHA512 541dffe3beadcf5eeebe266671462e3827262ae700a146c4a08700b325018b183252650b50a7d4e539e872c0b6e5d7e35de4f1abdd955dcad51543ea6b22acc1
-DIST github.com%2Fhashicorp%2Fmemberlist%2F@v%2Fv0.1.3.mod 921 BLAKE2B df064db28a23bae411857c5abc0e9a0e4635556e51326db806eaa79008505c49b9ed1579a7db6f72a9cbd6128fc10cb858cdaac6d71725fa4b21b43526767c04 SHA512 8128789efce7912b540284205af308c33ab47af7dcbcb165c1d0a86e342b17bbc8dc5c8cd6d5c5e751c412b6b4b8e80bb6d2f3b4fadd813dc147301ec27c45b6
-DIST github.com%2Fhashicorp%2Fserf%2F@v%2Fv0.8.2.mod 774 BLAKE2B 3b47f3c78972eb538f84348d5e698a2e44d86d4f51316b8cf596be23433e91a763c24ea9463cea0f52476c656067ee4e254d5cb905464d7e32a6b69aaed0bb56 SHA512 7fb4f6b07a08973d6cf33be6f03356eb1b176d816955274a4aa1571b8965fc311ff0c832901fe9a716c5d5bb697e7c861c458ce618fd7d2d4eecb316b2efbbdd
-DIST github.com%2Fhpcloud%2Ftail%2F@v%2Fv1.0.0.mod 31 BLAKE2B 7202132cff9b47a4484c61586949dbf7e13622067675cdd09dace3ce2e5b3a37b6fc5275b3bd6dbb0ec6ca0335bb7c9a036cc043b2d8ff1f38bc90ce13041aec SHA512 54a5bbc02b82693a977a4f690314b16d94cf071decddee3a4af2a90398e626ff188bc34ab3517278e7aac4e657f3f3070a020c85274be3750371dfdeee139b23
-DIST github.com%2Fimdario%2Fmergo%2F@v%2Fv0.3.10.mod 74 BLAKE2B 47557579d6c1e12c3b7dfdd9e5dd37291411cb87ff396973a0e17c97ffc79da1f6d81dec640d75cbc5e84ad9a8e17d729992c998dd614ef89a973d3cf5083b60 SHA512 2638750386491e91639a8d6e0fdd5dfe58ffca24a228d2810556b0f280839ca1489bcb47ea77adf287beb3b2d70ab2b1a664e0fd1b8b24cb3c88aea1265e47ab
-DIST github.com%2Fimdario%2Fmergo%2F@v%2Fv0.3.10.zip 39008 BLAKE2B 5869406471e43cc5de3a2c689dbdabb4385e9d27aa77da2a275c9b01d7f2771a8f6fccfde17d5b46f8960f0539d4577e2acd85a8458606effa4fd5298752493d SHA512 118d729aea3731866f6bc5e69b10d30d4b8cc8ac0291ab6b1576d98098aa6577fa028a70c3b19f531a4a201e4a0abb02f13c443ee9cb43b740f66702bc601a6d
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac
-DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411
-DIST github.com%2Fjoho%2Fgodotenv%2F@v%2Fv1.3.0.mod 32 BLAKE2B 108af2b21e180487fb535381cee881222cd34895f1b3d78561bee6bdfee40e7b9681c74345d10881fbe519fc496181b85eb880b5ec411e13b24926a39ae8a512 SHA512 5b3e66c42da78c7df031089cc05aabe56671eeda4617683a1e9857677108cd0dec00332f5b05f29923b1314fa1d1c88e57fac1b653808cadf5a3cde93daab03e
-DIST github.com%2Fjoho%2Fgodotenv%2F@v%2Fv1.3.0.zip 12758 BLAKE2B 09c81f777d01c390e78ceb0b3bdb54c0ab19e1dc8f1d8747ff79e96c12b9fb700e3affa05a65b2bd36b42cd86979a45a78cb3c7288ec9dbe3b8c972313dd83a2 SHA512 73928846a03ba2fc7df0952deddcfd553e2decfc4b336f4c60b90caace96621b2b01057319706d4e52c6590c4963c049a496aaae92bb054d0467a9977c4befb7
-DIST github.com%2Fjonboulle%2Fclockwork%2F@v%2Fv0.1.0.mod 38 BLAKE2B 091e824ab9156af7978fe3aa6f61ae046588510903cf635ec166225395e40df6a1c715e4eb3c47aee849435eca3cc10db971a7c28acdae233eda85a4408c7520 SHA512 377d94cf7dd50f88b57ba829ded5169a6c41c5a304814660df0a3447d10860b87855f25cdb945a6e4de14c41281651330d4109c6dd6684c86fa4dbba27a3872d
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.10.mod 295 BLAKE2B c143c3fdf7abf77b2a2f55a66f8efff4f0e99478a89cd3cfaf50fb042e0da2fda5dd1e203c227597cc2caa7039f269daa48339701233a3e21f898eaa028ecc87 SHA512 395eb3069c417f996120ec06ea8d7a712f6d8915c7398da1f346c5bf5e0fde4492bae0ff3833f3316a41a28d23fc7c9c494db312da72d5cacdf52b2bb95da6ff
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.10.zip 138645 BLAKE2B 90b085fefbded221903d24f63cf0fe9f2dc95c215b5ec2f9738c384c9118642425d810ca405bfae689fa1985f4d6a8a44c832f79300ef82fd28419138dbe5630 SHA512 1e1e5ed05000dce783b69b47af8ed0d59b11bb0b1739eb9620b576f67b98976cba9e9227519fe247a1aa3ac9c8c423b4896d1dfd9af6877e5eeaa6514761ba7c
-DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c
-DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f
-DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.zip 9901 BLAKE2B 0c8cf7ad0809f65d91b9ad5b27759cfedc5efc25194f19effd4b19c35c940461a48a57636ef3c707b27ac614b693ea05830bdef6943f11993bf561ef558cb99d SHA512 08b7201a9aa3294a3fc59bec78fee09f0d1bc7507b50b1d1cb1fa29a523c6870d00b633ea9679c9c86df9841739f46e9d5d9bbf0e3ec15b8ad08e57db67eedc0
-DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.1.0.mod 143 BLAKE2B 128f8934f81d0e497e1258ec65129fe5d8831b66058669a5aef3fdb2fbe5f6d8ab30bfe97a1de7befadd34aafd55d6d15bb787e8948fb7718761392817203874 SHA512 c5e546822036a7114a29454e28290f8e1082392a47a101fb1d370e0969fc2c83186b4487473f903dd638abb8a763ce3180dc87993906895a2df33db7d8bc4790
-DIST github.com%2Fkisielk%2Ferrcheck%2F@v%2Fv1.2.0.mod 98 BLAKE2B b9d3c55999054ed927f666a43066ccc6758a6c5f550651f43ad5d85b5403c882ee76ac2b2553803d71789da33c60ea41857ed545003072ab6c666dbb77118e00 SHA512 3529b37d770af511a716a612b7fd7fb6a4805d13166e3a6f9378950443f6eceb2f3d95db5a46027437ce55b36e571c75bba72a03769d21ecdc97888019d80a68
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.3.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5
-DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.3.zip 3966 BLAKE2B b638ca22c4f9df8cce5b84837e4f72b009c1ead300c08807b8268d26f04d6cc5476d9af56f676d8f4ac046c78c333614670e0853bee13de3439b5d89b96bfbb0 SHA512 ff98f8c05d8e23fca69ee5ed780e728f9d1779ab55cecd16bff890a91d14af81ae7a0304f34b3e04fbcbbb61e3c97c044dd9c190bd8359f3b19bdd31f8a37329
-DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.2.0.mod 72 BLAKE2B 8dbfabd447cc847f4616b959e52fd3bfeef8dda58f5aacdfd362f28d0b530c8e1651a38ae742c2d9ad8d9b0a055409a1840664b1483df73956a21190395b056b SHA512 b920109a2a1f40e2c7bb4dd93d07138228fac3064b780449a38bf5e6cb0630c6b7bd79eaf18b35e0452846e5059b0e192682b0aa93cc563c6120816106b9f11b
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.2.0.zip 11505 BLAKE2B a0c7e576801c150d9eccd27e0a36304a931f9ed53da6e47f69882cf78cadb4e61096d2c748d1ae5bd5ebad26f5f4c2f37cb0b6e15de0a7b9aefb0aab86ce4134 SHA512 0dd52dadb4327839bd37391c19a9e008b2345f9a61356323ac79fa0abd54e23223d7e5568562f26d937ed05171a3b63fb273510867e612e2eb1cbc44ce0d8928
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.5.mod 34 BLAKE2B 1365a1cf7687e1b4d333eadaf4871aa7a00c98f5d235453d7e4e000b51127ab036d4b20866f46343338aa79acaf71dcd8c847aa0b1568e7df9cefdc05b33f009 SHA512 ac5a145ff4464a083cec55891b85876ba0280c7115e5be9b70b3300311515260d9e03a94faedcd8eab5a7a2de838448af1a810c0e9f01cb8521582dafc10d78d
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f
-DIST github.com%2Fmagiconair%2Fproperties%2F@v%2Fv1.8.0.mod 40 BLAKE2B b8e71ef21c42894c31d75cce0e7423b21e716de0539a8a7ff462e0d5c05c77795238598630208055ad808af2db8c56a997e7e114ef391c07d380b996ce533544 SHA512 8a724e5cfce28512549e7b06ec42c9e02625adfb3398fd45af07f8c512782002a262e8567669929626814758f9d12041c318bd4258f88d110a851630537bd5d1
-DIST github.com%2Fmagiconair%2Fproperties%2F@v%2Fv1.8.1.mod 40 BLAKE2B b8e71ef21c42894c31d75cce0e7423b21e716de0539a8a7ff462e0d5c05c77795238598630208055ad808af2db8c56a997e7e114ef391c07d380b996ce533544 SHA512 8a724e5cfce28512549e7b06ec42c9e02625adfb3398fd45af07f8c512782002a262e8567669929626814758f9d12041c318bd4258f88d110a851630537bd5d1
-DIST github.com%2Fmagiconair%2Fproperties%2F@v%2Fv1.8.1.zip 39235 BLAKE2B 29ca5b93a76a4547abfb2c237f832e7545f8b6f74c842644ed3d9f8f56ce6d388eda0c62162d9338dddb827dd09962e1d28ab551461f07fc0801899d6035b8af SHA512 b5d30c117750cd3fc87121787792c3575d53404b66e8095d1d6913488b0271c8372b0e17001ea320b5512987ad68e78479664a40c25f07e9f783fd54f7d562c7
-DIST github.com%2Fmailru%2Feasyjson%2F@v%2Fv0.0.0-20160728113105-d5b7844b561a.mod 34 BLAKE2B 0f1af1d8e53c7b13c36f0a436cfc14eb8fc7a7bd4df72d4e9315ffda79ce20852ce50ff6297daf8fb2998e1d76af4082f71c94555ed919170d0003483de94f4d SHA512 8a3f702f8044a984fb6e1b9c73d837cea4b7f51783fbd03c6a957b58a0b4084461c63c94367314ea91f4684612b1f7b8d4eba8c1cb3522913d51db41edb73cd1
-DIST github.com%2Fmailru%2Feasyjson%2F@v%2Fv0.0.0-20190614124828-94de47d64c63.mod 34 BLAKE2B 0f1af1d8e53c7b13c36f0a436cfc14eb8fc7a7bd4df72d4e9315ffda79ce20852ce50ff6297daf8fb2998e1d76af4082f71c94555ed919170d0003483de94f4d SHA512 8a3f702f8044a984fb6e1b9c73d837cea4b7f51783fbd03c6a957b58a0b4084461c63c94367314ea91f4684612b1f7b8d4eba8c1cb3522913d51db41edb73cd1
-DIST github.com%2Fmailru%2Feasyjson%2F@v%2Fv0.0.0-20190626092158-b2ccc519800e.mod 34 BLAKE2B 0f1af1d8e53c7b13c36f0a436cfc14eb8fc7a7bd4df72d4e9315ffda79ce20852ce50ff6297daf8fb2998e1d76af4082f71c94555ed919170d0003483de94f4d SHA512 8a3f702f8044a984fb6e1b9c73d837cea4b7f51783fbd03c6a957b58a0b4084461c63c94367314ea91f4684612b1f7b8d4eba8c1cb3522913d51db41edb73cd1
-DIST github.com%2Fmailru%2Feasyjson%2F@v%2Fv0.7.0.mod 43 BLAKE2B 52ec55a10810ebe4083ca01c7a10daec67e5e9e370d24ae3a0140ab40801bd9b18fd09cee4f306c891b60c83049497bfc69ebc12420663fb5f6b39426002d759 SHA512 0b54c4dc34e54f09c3d9d4b63a4d6a22736250aa3caf1526220c11473f4bfb5b589fc1fe4cfd9d59d1a7c2f8cb60b3407353d41f9b31389200a96939cb95d925
-DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976
-DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.3.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1
-DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.10.mod 47 BLAKE2B 4a848f4f2e5cc615dfc3fc62a9523eb7b3d79244393ce8203978051a34f981b0219f13f10bbae5169e03d919404f0ed6502b39c536218f8c8c8a5492561c1112 SHA512 c1a6d910b914ceef7ffea53c61f2225ebffeba2fc87c290aebdb739bf520494e35fef046eb9ced4fc9a3767523efefcce41ef5026fe11bad97c005b8e55d96f8
-DIST github.com%2Fmattn%2Fgo-shellwords%2F@v%2Fv1.0.10.zip 7653 BLAKE2B 634fa4a231f31f291e49731e9a5e5d57aa289c86ec8c8fe879e6d03a28291dac034547b6bcc239539cf67f36d6e6e6990bd4e03a92621ecdf01ec899e1c03325 SHA512 075011dfc750263fdc03e80c69feaea71db12c9af8c99b49ebb35c494f5e3ac5a4faab3bdc1530322ea38ff3eb2671f0a3871097dea918f736f757e50cb05b4f
-DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba
-DIST github.com%2Fmiekg%2Fdns%2F@v%2Fv1.0.14.mod 28 BLAKE2B 7846fb7a9c146e4b4cd0db250d3a84bca13c7c3b8292ba71215a041006c8ea39a36b88dac7749a9bba96dc463b499633591f6f19d43369067b0f4f46594b8ddc SHA512 4ce4d3df63fbdbfe3505816e81dc7e806554d79cfe0254ce8e0228bc16eafc014c98475c24f4a6e0c6efb6fa16e891e2e47c43c9ea10ce20a95dc69f686f6361
-DIST github.com%2Fmitchellh%2Fcli%2F@v%2Fv1.0.0.mod 416 BLAKE2B 845f9f6d79c8b18d4a070255eb93aac9afc50ad01593fc5c6076c59e4b5c09f34856b29ab24809a67fd10ffc5cc28908faff8358a52cc8885947c53622d6090d SHA512 7cbcae5e1749c55a0c3fa25b007035c0c44c8f982a37635735afb95c63a20ba019a51e74244c568a170b5a379ccb10cc8c9df716b6261d324755ea92c7f462f4
-DIST github.com%2Fmitchellh%2Fgo-homedir%2F@v%2Fv1.0.0.mod 39 BLAKE2B e28ca0cdd6db21c4b97e47151a6c11487314f26d5a259f9d7f5581f3d92648a57d931e1d6b004597f76cf10916fbe14728c99192e24b6da674de2cdc9cc4e78e SHA512 a2b7ed5a25e6dcab620357d5c216546bdb554edbc6fd927a0703e788d7e7a10a743471d10f5c7cc56ad829ab35c7272c61d210e55947363447832e924844e9ee
-DIST github.com%2Fmitchellh%2Fgo-homedir%2F@v%2Fv1.1.0.mod 39 BLAKE2B e28ca0cdd6db21c4b97e47151a6c11487314f26d5a259f9d7f5581f3d92648a57d931e1d6b004597f76cf10916fbe14728c99192e24b6da674de2cdc9cc4e78e SHA512 a2b7ed5a25e6dcab620357d5c216546bdb554edbc6fd927a0703e788d7e7a10a743471d10f5c7cc56ad829ab35c7272c61d210e55947363447832e924844e9ee
-DIST github.com%2Fmitchellh%2Fgo-testing-interface%2F@v%2Fv1.0.0.mod 49 BLAKE2B d388b11419bfd0c80b52fb3bb5a2600712364115efe7b40ac02ba2da11d40ca30dffac19646056a4aa754de05c490d1f68af4549bdd1fab7596dae593eada97d SHA512 3e334e248e9584b050eb81bd23071a8542185c64b5f112f46b82c6842d2b8707099403bbba1b8485d64cd62faaacab3fd52e868bb405ca6e6067034e66ffc51b
-DIST github.com%2Fmitchellh%2Fgox%2F@v%2Fv0.4.0.mod 32 BLAKE2B d511476a16a86c50db84dbacb40afb4b30ac3f72c4fd5a8b20fdd8bc6de1c46592bd16b24f77bd037dcb23ba86cd217fa740b59a784c6fff0fea1720d2045695 SHA512 451fbf9129c151784d97cfe6af29d27a277b6821411cfa5b23e6730ba0f5d5a830054eb6ed660dd2192c16abd54d5999be5b80e39bbac3499c3198311d01ec1f
-DIST github.com%2Fmitchellh%2Fiochan%2F@v%2Fv1.0.0.mod 35 BLAKE2B 0b603da65c4738d257fb759b8aa3971011ee721c1fc783663e1b26175335c6c90ad56eab45ddb6422e39dc0c6603e13ea64756f8a97bbfcc5e77845248b16a74 SHA512 2249854bef533dc77479041f9dc5610e14c549be1aac292a39b8b74b36c9fc42c04d211d8d5b71082c05971cc26a94a57751c3e61895050d41909270ee5123f3
-DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv0.0.0-20160808181253-ca63d7c062ee.mod 41 BLAKE2B 291f73049327af60c94a2b2113b8e370f90d2a3fc7074c58ac523ce2a613ebada88ce048a73cf882c68ff552dd6df0be42f796f4ed11a549c0b7ca6c67f61c38 SHA512 7816e3703475601df65f20ad4e5d1f6bbedc4a7c87c594518358c1a9c24421aa5ccb6e8389ad983a514a823674c6f0f771f1f367b10d99691dbd8db7105ec44e
-DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv1.1.2.mod 41 BLAKE2B 291f73049327af60c94a2b2113b8e370f90d2a3fc7074c58ac523ce2a613ebada88ce048a73cf882c68ff552dd6df0be42f796f4ed11a549c0b7ca6c67f61c38 SHA512 7816e3703475601df65f20ad4e5d1f6bbedc4a7c87c594518358c1a9c24421aa5ccb6e8389ad983a514a823674c6f0f771f1f367b10d99691dbd8db7105ec44e
-DIST github.com%2Fmitchellh%2Fmapstructure%2F@v%2Fv1.1.2.zip 25943 BLAKE2B 9cf08441a9bb45da31ac429a372a969a822a0c5de569352bc25403cdc3e8559a7110dd2612cc9b93c91882973aefdc70f8ddadf44c1488eb0c3f5bc62cca2b73 SHA512 43d57d9ca99ee6af49e8a39be4d65799afccc8cb077a8c5b473a9147eba30d4653a8a4cb86abce66d4c8639d1eb0d961c4a50907ce9af2b2864acb615a2ecfc8
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180228061459-e0a39a4cb421.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844
-DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.zip 10936 BLAKE2B b045256d37d4973e88d0d9c6dbad7397160ddd7b3102ea8420f92be2e8c3ebf6362f350eff10b52fc7fb447d98b00f07c2bc1da3f6e442ebdb8e90103492c8c5 SHA512 e7986e7dfb362e346309cf77ee3969c2881056959e34db07d2dfa0e505106844b7424270d8f17f1a89d335071688e98b992ac81e8ffe0c98c8a0e3d145144d4c
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv0.0.0-20180701023420-4b7aa43c6742.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9
-DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.zip 25694 BLAKE2B 59d0a645e3fc29e94a04fbed5329cfaf2162f5779f1c13bfe96c9d979c7acd1b356587b6e30760568607ea15d2088a76bb58e4504e17abf360f2702eb6e8c3c8 SHA512 8fb62179a48e212b74f0e8af79ee1c20479b1725c089c75a12b43bf4936caaf87d42b35f2b7a7de87c60e793347bb185486beb8061e588b8085ac354a3ef8562
-DIST github.com%2Fmorikuni%2Faec%2F@v%2Fv1.0.0.mod 31 BLAKE2B 5b5d97cb4685ef921770276b81b0bab6f0acc362b49544e23c228fa4e26c3ff712b58e61815616fafc19233d3cfac47b05e9d55d926b2559137ad4e7d734e113 SHA512 f868673a9af26c1735e257c840e1f9f5de035ebdf3814f8568af504af6f3d94284e050f49e96670a5643804760db2ee8e50d396f6d6c1d17c94258695ef41748
-DIST github.com%2Fmunnerz%2Fgoautoneg%2F@v%2Fv0.0.0-20120707110453-a547fc61f48d.mod 36 BLAKE2B 636b2a1011ff647b1597c535916bdde712e45585b9be3e90191d474e88e293df5b30e2e15adbd2f6d631a57ac81b59b02055b439390664fbc8a8e224cfc51e39 SHA512 7873fe200c30b46285fa8a001345428db580c67cf634c1b1e4aef6a4a82d7b975545b827d00b1a3dad86b2f3f7681df739915f95144d4d3a3553f055fa70781a
-DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b
-DIST github.com%2Fmxk%2Fgo-flowrate%2F@v%2Fv0.0.0-20140419014527-cca7078d478f.mod 34 BLAKE2B 315fe4d5620c1d1c92df3fd382560ac2cf164aa17a741c1a74fc25807819de811705467227923fee7f804c6b6e96606c87b4adb11a6b722f367b543c2792cda0 SHA512 b1c163d7a6a139eeee1457fa07933f01eaf6d2ff24d10385e75f87b443a95fe1b08e9e144d3c18eb6a77d34e8521cc6dbd486fefe908e60452c5a80f654c551a
-DIST github.com%2Fnovln%2Fdocker-parser%2F@v%2Fv1.0.0.mod 91 BLAKE2B e7112b9b897950b493145dc7c1142465b367672dab235ba9df6b06a3288a250bc4b951afd457dddad415c81245035b15a0d141dfeb962ee7f322bd10b7fa69d4 SHA512 73ba50493b950821d2a085f1faafcdde0e0ffd330a1fe78c9a7ba159994e2067dc7778fdb1c6f3122edf3c968be29cd052e2065e1260030a1031c18fd393c70f
-DIST github.com%2Fnovln%2Fdocker-parser%2F@v%2Fv1.0.0.zip 18114 BLAKE2B bb527edb62156b8bb368046c269ee8fa675f00b1ab1e16978a3e848a82e6a70f433656a61dd6ff05f6f181ae438b3a053a9a3ed63706a3c130c11811ea1428f5 SHA512 27b892aa9a4cf42eeddb3ea41d923d0bbf5dc7452c2fc090c4483aab9e3f6a3f9193485ed1ac9d2dc8ff7b4aeedea326cb4a0117103d3fba5ef2e3f83bc54bdb
-DIST github.com%2Foklog%2Fulid%2F@v%2Fv1.3.1.mod 29 BLAKE2B f74d75a495f683f4e9047201721611229ecddc37ed01b5d4b5d81a06220a6385f06d0f99e514bf19cc2030fbdba6de3a08fd38b750e6651a822b10bf69c45327 SHA512 b426d975637bd2b4dddc10d7c88b70f8b946201f311859f22520d53ae0a2d9911ab358460c089771f7900d7a8740bbc0c6d3814ab8f955108fc31b7b602ab5cf
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv0.0.0-20170829012221-11459a886d9c.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.10.1.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.11.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fginkgo%2F@v%2Fv1.6.0.mod 30 BLAKE2B 54980427295e87f99bc189c9ec00c2167e9aa771cd8777d61cec8127a3eb19f718843e2e736a6d4c08877d23528bc6da810da0c61a1dc07620422fb1b5434684 SHA512 1b8b7ce4a8f0092f0b2a2395fbcafa8cfd6830183bc36fdd58e740dc9ec4fc5201f5eec2daa6e2effeb59f9e1c0ce986ceef838d16876c9fbf0fffad4b7660ba
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv0.0.0-20170829124025-dcabb60a477c.mod 30 BLAKE2B b8bfc20c2ecd93e4a49b1feb791a29d894d57325b04e5f36fde625431886515b2e1de0d11a384fb8138e28a131a027088c7173ffc7f8731f9f352ff521977ac0 SHA512 47de77b79abbc314a3e8c90f8d69f51fc9e99ff160a49cf6e87621183f7acdfa2dc5911877ec45111081426a4c0a6f0da55ce0491e95064a8bd416db33f25624
-DIST github.com%2Fonsi%2Fgomega%2F@v%2Fv1.7.0.mod 555 BLAKE2B b182f5a37e6169f7e40ea33bdda2790e7e1b01c1e61cc9d109ca6b8803ce9161cc0c2e2ee857ef5af582b1b9317c58734683ac3e8a8d11c620865b3b12c6baf6 SHA512 a7ef7e84c93e09b01b83de08580bec055f0164d3272a3e2571707d0b33f4b4616a379d440ab3835d455d8d573e357a6df1163fa8415684d5d55af8e22c68f7d8
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv0.0.0-20180430190053-c9281466c8b2.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.mod 43 BLAKE2B 42ef42def0f24844eed6bfc710d0c5070a2bee3a4f5aa8b0ec68f862840385f035fdf6b7206d7e15a94ca419af29f7fc86358aa6fdd1a014f71f5acbebc4c182 SHA512 2fcb2cf84eb579794ba81bc9f79090999b3fded538a1649fee55d1e973425a775dcfba008a11ec1ba873bfbd3c2ce13abcd99fcbd9b0ca67fd35925896bca588
-DIST github.com%2Fopencontainers%2Fgo-digest%2F@v%2Fv1.0.0-rc1.zip 27125 BLAKE2B ace23a65113f48afafaf52d19231b51238dba82a08a85dc615a0037b037530f3fa3bba1af1ad885eed9ca453aeaa0e2585d2f1b94cecdccccf2e32d36a86f11b SHA512 95dd5f43096dcde7c21338e393977b2d8ff3389b9c9b24ffc11df2cffc73b26f3f16a6406b10281add7d6d952ce2276639ba94929491be7792a2cb8f40746bee
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.mod 44 BLAKE2B e60ef6b775d320cbbd7d0d655e4a0d855f79c0f563ff3aaf0cf0a13485005c800680cb95535d57342c6f23a69da021089f7cb4d3caa3021852e1462126137887 SHA512 e7d3276e531b754a441e94acc632d7322837cc2320ced66e3e91e3512164ff84428a4665493bb3a7cf7e1057e82097bc54d0b811738b1e967b9c248b907d777b
-DIST github.com%2Fopencontainers%2Fimage-spec%2F@v%2Fv1.0.1.zip 170576 BLAKE2B 52c16c643c1e621cb967bfcfa1e1209b564dd81bbf1b0427cd5c02b85160c444fcbe2ad9563bd491f040df2c4c6b9cc35f6ec83f671fc00e3cd5f40c8ca3af25 SHA512 04aa87f93002428f1ab79190ea584b23363126390dbdd6c05064646e7c5c3710da712b730f8da194bd83c7b95f260eb1773fd8c1c9daa9f41891a765e6a21742
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.0.0-20190115041553-12f6a991201f.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.1.1.mod 38 BLAKE2B 3b83f93aa086dfd3028fedf54552dacb3d904867e62704526f679f2f0da0df8cbc73ffaa4e0164718c850d638d4a4d3d9d036be176be94b430d13da25e19217c SHA512 9aa2622003271b0763bcf11c8c7e39d5a5259deb17b7463451ceb13a9fd46a8786ea9a31936e22919ac8b871458952224687fef8dc87286ea25294945371c9f6
-DIST github.com%2Fopencontainers%2Frunc%2F@v%2Fv0.1.1.zip 694339 BLAKE2B da9cfa292adc9167553fd21003e400688b39685e2cf12fee1742d2c35356ca8834d894572085eb53a98648fed8008dbf0f6a10652f32e75e17f75634c1b22e59 SHA512 021fc09bba8907755a610acd87f9f345caa55c865b631e57d53c82d9ebd65a437844203d84bfb2f10c884a61fe507a41d299a13e3cb213eedee7f328d41d0859
-DIST github.com%2Fopencontainers%2Fruntime-spec%2F@v%2Fv0.1.2-0.20190507144316-5b71a03e2700.mod 46 BLAKE2B b950a3627aa8b0625601e8e2ed393660f8529b63e02167e08c9890d22be7f6d6e72ed571ac4b80702e44a7caf7e1a9647e9742d8c18938d1de37631e7475d56c SHA512 bc65703ed85e23c1b8c2e4a1e1838deb91729a396e28e551cba9970ee06aab653da4ef43fce22615cdd8389efa6228e5cc04a8e749c99457bf192208b882e3e2
-DIST github.com%2Fopencontainers%2Fruntime-tools%2F@v%2Fv0.0.0-20181011054405-1d69bd0f9c39.mod 47 BLAKE2B 0eda9805fe0e1acdcc1e7b2693e72e39ea416cf57a108b1847491e1f15f8a7965c8aaa77baad1ae6148f39d36b1fc5fcf159b54111bee0d20bf2fe8edfdf85e2 SHA512 4e53e67b276ea3fe8a3977bbe72758bb2f844e22cdc3e23994176821cea51b10f5e802ca3db848a8b3d00a146c133a89271ee76158c478683b393682806400de
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.6.0.mod 209 BLAKE2B 5d7d5b4722834a34f8a63dfe72bd2f5a0426b284ace021ef7f6b7d16ac68710ccfd4ab21b442ac7cdd51f9a17fa116235f8c4d5e1d88c6b4392d89bbdc474e5a SHA512 13826a0b4d175ec2093d0854c789a2ce2c82d325b91d8bdd7dc0cc123b13ae59de2dd994039e90b9cb8ca424f5b642fed283bf8671b25c5c6117b168e5ce42bb
-DIST github.com%2Fopencontainers%2Fselinux%2F@v%2Fv1.6.0.zip 38392 BLAKE2B 836cc7d6d09206f99bb4795102e67a8d36311349dccadc35f7289ebd6ba72d866f5b025638888a991d144f278d1e34327a675cea1e02454b697645b5feb280d8 SHA512 53fa6b1c6ed4a260f91ea1ebc232f75ece9e26afce1704d1912e74268fc8ebbed008dc027181db01e7b2f1c398e9d28f15baf1c21dee0619e55a09eac1a248ef
-DIST github.com%2Fopenshift%2Fapi%2F@v%2Fv0.0.0-20200803131051-87466835fcc0.mod 364 BLAKE2B 5c0fe1a161d6a563093c3f393f1786b98f1c686e2c86964fa17e363672ec46307a974e08d21546e57ade1b3536881ffdc4e8b18a92f103301dd933146843714f SHA512 abe1fca9d1d9b83bfbcb8f61d49394822d47544e24327a81bf440a942e0bf87e4fce749620ce8df9dcefa616393283508b9d531d9098ff50359b0f8010b2d2a3
-DIST github.com%2Fopenshift%2Fapi%2F@v%2Fv0.0.0-20200803131051-87466835fcc0.zip 880961 BLAKE2B e87ca8c8a648af831e6c393fa6ea7187a458518c19079bbeb18dc42c29109e7faa4618aa0e6d78c594cc074b45f977e0e3f7b2ccd8f8c8efc2ec836d1824352b SHA512 ebad759021990ed8af396f5a94c8d7c2caaca6dc71594f0dde6b0a604e6406277789e2e9183178e3f3df8980a1cba16b164fe23edc3d11d62dfb85c586b0d866
-DIST github.com%2Fopenshift%2Fbuild-machinery-go%2F@v%2Fv0.0.0-20200713135615-1f43d26dccc7.mod 56 BLAKE2B bd09a55168a78759c4fe7401f8905f8978e1ecc5c12702aa03d874be8382cf916656d3f6582fa380274c07fc26c978c62f5b17168261ee63f53eea7227c55915 SHA512 101a4527b9e98ccfb5d08534a872ca55103110ec7a698c512da0e7707c09cb468dcbc76eb19e5fcf5e8ec789cb9bc82a613e7bf824d39ce061af95288202a6d0
-DIST github.com%2Fpascaldekloe%2Fgoe%2F@v%2Fv0.0.0-20180627143212-57f6aae5913c.mod 35 BLAKE2B 3db6c40257f2c4b0254a26c6e414fdc87c037f6312d4bf7bbd39420d6df70f50eab84c387b54cc71fe16068e1b25e3fc63a833e11cf5b4346f842bc61328b0dc SHA512 0b378d1e15db4fc5a3d7d711b63dedefd141d607192344c8d1ab2ac755ab9c6e91b2c320378ac8a485cf94deee59e6628e7930017c6d659bead6ba89cd78a802
-DIST github.com%2Fpelletier%2Fgo-toml%2F@v%2Fv1.2.0.mod 36 BLAKE2B a388b7d0db7c8b9a589164ac639887f1e54d3f5d59ed9bfdbb427b88d381d95455cec1f3474d6dadf847925b7b0e9944a3713656f4870db4fadaa1774595c3f1 SHA512 b74e16c113ace53ce6b7a4df1fc73f21a5acdcf3d2343a4c4f1ad7a2cd8d2282ef7ede98de8c1c46f7d35feae28c9f49ba4a2dff1071357cb4e88e93f25b521d
-DIST github.com%2Fpelletier%2Fgo-toml%2F@v%2Fv1.2.0.zip 75347 BLAKE2B a6f74be69c8d42d3cc84e957dacd59f5f96fc49d48972c04ff26b623dbfcd3b5c2de13ae3e561e9a491a32cd52cb83d26e171f624191ceb4d659e5b0a3bc7623 SHA512 5dedfbc126ef5a3d146b2f3df2e4efa21cd4f1132bdb9f71801e55bc8583959777e57ee2664a85f3a222d656b910e1017b9b855378c93f65e2f623b568ef12ab
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1-0.20171018195549-f15c970de5b7.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.9.1.zip 17866 BLAKE2B bb8d50b9e736f5f1e129482bd50f720b7dbe80935fcb6cfbec6d5a5f5ba5d5434476d66a362f12bedc304e89c9886d4868d310710aa100c357900a742d4ee341 SHA512 82b0ed1ceadd44a2871b56e733a118003b1bae9e38fe95251e0aa06a0a4c9b4940c485336fa11335974e0df536dcd0491ec1b2e545ecdddc7f9ce59771f86321
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902
-DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2
-DIST github.com%2Fposener%2Fcomplete%2F@v%2Fv1.1.1.mod 35 BLAKE2B 763a350270dbd9e5a8f735ded2a13c7bde23a356f8f4187b4fe430b1dbf995cc9ca2dad54a38e927c07ba01b5c21f8aadcce69b8a94baaafee013d4a9fd0c988 SHA512 79b29fa26101598261ce7406c81be4fa53d79e89a7bed072abcd572d7f35f3a408da45055f1b05c7ace8acdb0ac2ea005d79a4766e7657087ca46327ebce842c
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf
-DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.3.mod 379 BLAKE2B 6a6db2bee0b69257e5c4d37b1d5395693ba6a88bce129a580b8c0ac986a7702729ebfaec726caa3b6c4d2537bd62a7d728705dd0cc6f6d8b6c9a4460c9bb33e2 SHA512 fe6b74b26571ed4afb49f8f2c6745644cb7db7b5fe95138761c78effdd05d9948c09aded96218ca0cf9d8da6372705901048c14290a4faca56b1d05ca3d74130
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.0.0-20181113130724-41aa239b4cce.mod 36 BLAKE2B 39120b6af83d45857c990115ff52d8828278a9ce158b01621d8dcc517c23ff139532a2c2e53ec97616f0c65a2e0db3ede7c5fe59eb33be277e2c60650362b232 SHA512 1b262da0100655c3a56c0e551866491b81d2b88fd5fed9cc43a57bce3634c88c82c798ed1a823237011f6be68b5f0e1fe8284526cd68204851de30a44fc34fbf
-DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.0.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20190507164030-5867b95ac084.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb
-DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.5.mod 136 BLAKE2B 49b2b47ca2cb64a1522a3719c1b46dc6f44d3122d3a05ea475dab88e89336aae3f396082f4de0f89400a0e8db85208446582a226238a701fb92c155a2e85fef8 SHA512 fbbbd57eff765585e67074e5c278d7d3077289c3d13c306147d6c3efb98232ff317ad92464ba768fc3d921b4a09cb3f3ff5c5480c89a01ec821bc86e5dca82f1
-DIST github.com%2Fprometheus%2Ftsdb%2F@v%2Fv0.7.1.mod 1346 BLAKE2B a46e52b7acf7ff0783cc3c18a1320f66e02ab9c6879434dccc9fe182b4c7fe4594a0be504c45ee5958e1a42c781870ae754648f5bb5ef4cd45c42d78ba189ca7 SHA512 7463ee6ed6735cf101502b6c0128c75960c55d6f9e42f37531e65afc02fb35b62d882a72f95c2fd76f3d0e253e9e70a9a2df2ddf782f53c4138135b370b69d0a
-DIST github.com%2Frogpeppe%2Ffastuuid%2F@v%2Fv0.0.0-20150106093220-6724a57986af.mod 36 BLAKE2B 6faef3be0b5f137ecc89a7875bed1f576d144f11623905c04cc44f93812b80f3e5b56f05ddb3343848e7fde7fc439f49627f4fbd10730b1e9c2c9153a2d3067c SHA512 8cedf150caf05299c5b9f8b4fcaa17e4771c613fa06bac434586048ffee22ba9501e0fa540da90a3a24f3e4f662c9517571a23a0353fbb29c881d6d6c26d5f1d
-DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613
-DIST github.com%2Frussross%2Fblackfriday%2Fv2%2F@v%2Fv2.0.1.mod 42 BLAKE2B 23dbba19737db7327590adaf3988abb9b5548cb3f959a9746a3b745c51f3c1397f071f2573a413a088f58e32959a2210c2b5354c47c263e90ad2ff1506872a5d SHA512 ac376a387fa39fe35dc4d073d8becd74e79f52e9d36b0a6628740dfe0e7c1f4fb6533fc262212663b105afcaa104082e055fa87d20cb3068359faae6dcba7738
-DIST github.com%2Fryanuber%2Fcolumnize%2F@v%2Fv0.0.0-20160712163229-9b3edd62028f.mod 37 BLAKE2B 6f0d51a83cccf661003d3c9a10b10fca12a5933730c676a4279c47a0b8563ae5d897845ac84079070bf47b32ea1c2ec80879b85bf8ac72b91f1a63239292758f SHA512 0af9557d073093339188a1d8f226798eccb05d43e1394ac9d207118ada9449332077161e2d6ba2327d9b736aafae79d4a08abad233ae9aca9917c677809ce2c7
-DIST github.com%2Fsean-%2Fseed%2F@v%2Fv0.0.0-20170313163322-e2103e2c3529.mod 29 BLAKE2B 8f509981164937fb0aab63b0344ddbf25c183b926a6e87400e745f6aee9dcc478f0ed455c62a9753722954acb3506be5f7810915a15d03647668e7bb707c09c0 SHA512 c7dc34c7a73c5899ca207c0cac88dd38ddebaffa04b5dd511a86dd10160e60be2806dfc6e079a5871b0cb6142f53d7d7dc87ddbe3fb19240bf894430feac5875
-DIST github.com%2Fshurcoo!l%2Fsanitized_anchor_name%2F@v%2Fv1.0.0.mod 49 BLAKE2B 47bc5235e81d233e28b446ec2403accc442b4cc1ee956a0b7d47b5dac2a525f22bba87d05c3fe09179837860655f27191e073a3f6d7d0dad81c9a750752fe5f8 SHA512 6f6b924c2a3af28ef4342cdf8b83b726f2c409accf19c6ba0a4a47c6ae61857e4b69727fceb9e9e16fb8ce660a7181952714d49b6cafaacb282fa4e8af6e13b3
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.0.4-0.20170822132746-89742aefa4b2.mod 34 BLAKE2B 9ff118e3db6f2a49d8cef81bbb78af4ae29fbcf97955758c08c4a9a610fa66f1f6da80dec5aff3c657bbbdf1fd5330331e58dc46c2b2bb657438ec0879a3c45f SHA512 186b34d707aaf1557ddc8edaf49fbc559024f454bd560ca8451cfa555abc211cccf861aea94018363547e39140d9e507c97f7a3c87bb9f1e5d444bab4c531e36
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.4.1.mod 337 BLAKE2B 41471db637c5c0363cd36be6d16a6228671ce9658ef71103ad2122a2cd8cfc13c30b87bf2b34df7ba9d6c1fff1ac821462fbb86b622c274cf26a1e3ecb7fd2e9 SHA512 29a4efc27c658b047fbfc6eb2ae311753b01fe878cc733e2fdfd83f5791b3e30ab50b08addd300dff37e7880f6b57662ac0cb0f4b98df2c5a5a9f7d555bc98a5
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.6.0.mod 301 BLAKE2B 5322be7914862368eba07f521c046dbd7580edafd47ac633116b8c9f4b61526d0d63df11ba6894223590a1ffcf4bf478c394a335c305010ca9fc18107d4e61b7 SHA512 8fe5a437a5f3f8c1ce0aff067ee261a946d946d7640aa5acf7c34b9c8c4ee65128a6421aa38bbb1feeba1339b356952ad58b4bad98f1c89ac455d94e86684a8c
-DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.6.0.zip 65802 BLAKE2B e0487985824efba7ee61c5a73df7b591d625dcda32f833ae276191cd82bec8f3db30cc2ba217d80cb56af1436b8954fcd22ed3f861c6c7fcb4a94818357bbde3 SHA512 abd13a98d10b6c996918712443edacf97ba5fcb9ece7615f59458a583130f68920dd313533ff0d8c84c6011fd2c4d221783b1250e3250b569a6ead9d7c02f7a7
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d
-DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.zip 81760 BLAKE2B a5767557b0e96fa3bbbace46e08d6a2167be2c203a44ffaadcf14079a23e906ee9197c8028fb29bdfc596d4f39e7bdd29993a1a520c36c8b08c5c5b6bd6bd2cc SHA512 e204307d5a06550292a4fb6e44912260aa5a7f9fcce0883d8abb324a53673512218982b1893e7d563eb7d6313ac98a8638072aaf7b5d66d359e82832f2a8bb2f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f
-DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.zip 1521758 BLAKE2B 653e697d76d392b18c09e5c1c96734a737071667345b9d6ff9c9589bbe74e1c50849dcd7fc00b660adc1aaa30366aa9ca93a94d5eb4e605f7897d9714119f926 SHA512 3bdd2bbeaf755618d9fa7f324814497308361cb0f3f93a7ac84b9fc01b79ab346353ff0a022d3d85e74aef57b3773e03ea9279d0a60de317a1c57d5eca2d1507
-DIST github.com%2Fsoheilhy%2Fcmux%2F@v%2Fv0.1.4.mod 32 BLAKE2B cf220acb07f93b3927afcfb4211e356e17f28dbef71cfdf777366d8cd09440282cd23e7800c7e86949615b90ec60ad4f2601ef21e58d4470349913c348758b0a SHA512 def5f190323350b58be18ef9f1b00e4810987a37e1fa9332be62a638a01df7f070788c75a19a0c11949890ccbc395419de45bf9c5f7fb38fdbef56118c681d32
-DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.mod 36 BLAKE2B 1ba81fe6a6b84ed40868e0fff431dc8485b912700c192d90181c22588345e7250af63160673c297129add94a41281d7f0ddca5733c2b32e20f65ca7c27046306 SHA512 d14779867dcbbe24d451e82ac72c823f80551cec89758ecd39c9e72fd75560694a0b8261726020b738ad4f447ce1093f910c12797c58b8dede38f6bc737b9a25
-DIST github.com%2Fspf13%2Fafero%2F@v%2Fv1.1.2.mod 30 BLAKE2B 9bf213acd16f9456f4a010a7c300a1fb7bf1ab248d1ac9eed7883deae7f9a6f6d0c761127b7b2c84e8dc46e7b0da2eecac9b334fd5a94d2995d56858d345edb9 SHA512 3166c898d741be502c0b733653cdca0e8ac4999fa6a5d67460b3962799287c9176b7f0243f0c0da394a4b7737ed1d1a6a2ee4f84a8917cf7076c774ba9a2a648
-DIST github.com%2Fspf13%2Fafero%2F@v%2Fv1.1.2.zip 67427 BLAKE2B a05dbd2305c67d453c5e8ad02b407be2fde660ca88ebbe2c4b4ec7e89666900248cf0170c19b82bd9679c542395e893d5efd833669738b4232d4a18949569f86 SHA512 aeb73f790a1b6804aa46a4031c4df4ff9bdfe809d225622da428119ecc83b02d3f45bf58f39fc9364540a0eb7c7f3ddb66e3f6949136b3d0d52786804728cead
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.1.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9
-DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.1.zip 12750 BLAKE2B 65fce8e1c7f8d6553e3b003b02a2ab3a7b1eccd7dae3db0423b8ba9d5579721d6d84d0227e321f8d7b557db71648ed2e4a3b810ef867f34ce25f02f29b4209f0 SHA512 bc4f20343133aad94ea020cbb5f2c74c5b983603f3638ee84093a31b4cb94e3725f3e0f01252e6546f86d1e47c317e171e0229681116b8d4aeac67221af40636
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.2-0.20171109065643-2da4a54c5cee.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv1.0.0.mod 265 BLAKE2B ecbd8f71c2576f741916c7e6fa4c279c327766a9bf957e019164a1ff8af16ca1fc6810004935e57a3b085f81252549ff0f4ee2b89a5e53dc0110218acba937a6 SHA512 25511d7efe6d605b33c4e142ee073694b95d93b10cf3e9d74a161dfb71171de0accd626587299f41a061f4a3ea34482ec36fe7b9b2b3588d8af6b3545a35a45f
-DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv1.0.0.zip 171286 BLAKE2B efa68ba65ecac895de82fc8f8ae470ed9b2e24e7343f24429a5764fa042f7c91dbe8aedcc0ae003fdfa188bca32e7c4c82481b69736a72df76b50fad3e9094ba SHA512 f311c5ccb68a0b5dfe41f993e0867cbe9742dc3fd50904ed688d4b89777f4739f7a9293f548e7c2ee940d1742e921a3cc82cfe1b9d1b210e435d16c8f0c91880
-DIST github.com%2Fspf13%2Fjwalterweatherman%2F@v%2Fv1.0.0.mod 42 BLAKE2B 1f0af0f4518708edd09c0f02aec6103960b023a6bc178181276c54cd86b653e8bd1ddd60c5d49fa75a85f1fa0d18f670a9c2ead381da7c4f2d5e611b24f51ca9 SHA512 748b5648bf8bec4d1efe13f4dc37608e7378acc2a7d954e9d3b649a4b170a1e2d1c61338f6bee8d9007ad75a5bde87487612b47a692d6f966bca56490dcb834d
-DIST github.com%2Fspf13%2Fjwalterweatherman%2F@v%2Fv1.0.0.zip 9350 BLAKE2B 04c151cdab19dc03754e44d0f6d158e3130b6f8d5556247c13e5ff28636ea611ee41251855431d722dd57a369463a32f14d1a46ae2f68417031acd00af0358aa SHA512 6010feab0201548f0a6e9423b39d0506da0923a2022558de88eb17428346c4eb130023b4eea8640d5e52ec68aef84eab5b4aa2ca5ab761d43cf649e86089f226
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv0.0.0-20170130214245-9ff6c6923cff.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.1-0.20171106142849-4c012f6dcd95.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.5.mod 39 BLAKE2B c9d700f96874e0a3977c2ffc7fd321acfffd8081aaa70ca50421ca55253fbe0636d48eca8f7093df202861f0a5f908fa00303533232c83c78bdba84e2973bba7 SHA512 8071c316d33aff1d8ffcabaeb42e8f9320465d83600cb57ac5ef071569f948d5cfd69e1bd2e92855c061395c1b814e84d1705f42e37f00d5bc713b6e724f29f5
-DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.5.zip 88931 BLAKE2B 7adcdaa60d4a3fd99b0f3e7e6888178b0a8d141ebcc0166b12df4bd4566500929bc792c391d33201b1ce215b6ca8ebb578cfcabb027ba453a54986270f5e37a1 SHA512 9a81f0635ca8ac059c48a15cbf625a7c91513f95a9b402ba166d48ab72d5d38cbd941d5309446f5637bd7c23eef35b60fef2f06e8b557f415dd8409a6ddf43e9
-DIST github.com%2Fspf13%2Fviper%2F@v%2Fv1.4.0.mod 2018 BLAKE2B 516407d1afeaeb665c558a4babcaa35aff28dd9b41298d04b904378159f1978a924323195e4c160cb9cb992c264558c7ae4f07ec157dd8c65fb98853a3cdc53f SHA512 fda6d22c26332038895ea2f2c62458baebededb0df883728dc9a127c10102b9bfd3e8128dfee194d909d645ea652f3ccd5ef737a8cb7ceadab71864b21de117b
-DIST github.com%2Fspf13%2Fviper%2F@v%2Fv1.7.1.mod 1694 BLAKE2B 195244bf4042b519551efc149dfbd9fe10ff87e5b2ffe6f9a2d3777516315db8b43968533ff089b257c10f94f99babd076ff0a7203a434a79ea5aa7e39eb9818 SHA512 9f614a57ccae909af00a67e464b04eb91a92eebf1c28de3809351363b441d22a4a6628a1902fde8b67956d0bdedd91423d20158eaa6b9cd994fb7e284a35e061
-DIST github.com%2Fspf13%2Fviper%2F@v%2Fv1.7.1.zip 85905 BLAKE2B 4991f928bfae17cd4c242dac625f63815342168da5e7ec7ec416856ea2b08c9cf4fdb02a90568624e3bccc39ed887eb6ad6e0e5bd140f73dd0c8bf87a6fcff06 SHA512 2bfa48ce8085921796ed788b03f818c1972313162482f023e1dea5b6513ea4e89d0e656159d0051ed0420e2e138c33a5c76c73a0d6ec8fc7344548b1061cbc86
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5
-DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.2.0.mod 137 BLAKE2B 47195334e42f0997d96b50b8364764426301d31cc7fbc289b89b173b877d54cc67133b07d4a21e6ecdfa2e4404a9cff32f06b53cfa9493e075ee2ff2cc46e605 SHA512 02d0b2b1df84750ad3d15f4b86b3f7989a22007e27b28e7b3a4d34b26ec7ccbaa5d48ac0032ad692bf7db150e101cabdc050b0aa1697cfb20f922c88b9f086b8
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.5.1.mod 188 BLAKE2B e47d78f037db3684a329905985b02b7ddf0a609ab4c69dd4346202ed0981712d54d0fa1b9c230b50d1857854edbbf77ee144d54b12c7c46833e6542d6034171e SHA512 70adf6a86dc6f934ee611f6aefa459f1287b7294297eb9221a747427d031b10c3e606696a656be4c2746a25480c322106099ea2bb360cbe782f4d03c85cd9fcb
-DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.5.1.zip 91883 BLAKE2B 8bb8f10ba7a3c719844dbbcbdbb87773487921f493cf6f72d1a9fd1d553f7f7784b01b9795a5c26a352490ed6d75c29a542a0b3d7c18d8888c57e447d9d227eb SHA512 c539cd964718439715caee454b38fdb61eb5d4e20489e10f7f6a030b4b941b2ca52d33f950c0b04149962399f0c3cb5b6a90efa2d79acc0f57a7f49d508c67c7
-DIST github.com%2Fsubosito%2Fgotenv%2F@v%2Fv1.2.0.mod 34 BLAKE2B 85a4e50642e7088ee26b82c69c65e1bb0396d4e8819088fbdf1d93a8348d7aab950630e3bba1747517d01e0cfb9a9dd1b95341df0722480bbecf18399ba84674 SHA512 50b858817db72f0615a74431c9966f969d12a85fccc3f0dde25a72fbda32f77f3ac76cba50b12fdfd87ed7a7b3a337a291b1f9c86e1fbde81d2d0c2890c1c21d
-DIST github.com%2Fsubosito%2Fgotenv%2F@v%2Fv1.2.0.zip 10296 BLAKE2B e82879edb9db32d5d9482b6d99f0bda1a04d5b54125ab92629c35777e3ab9001ec9d5321ac0112a245d59cf5b06cb96d1dae785cc2b64ef922d904bf6a731f57 SHA512 6bdd2a829369530a1a8e2b2ff93094b5b0a6fb35873a63f79498b45dfd8c557ab0c91a393974089af1309d626c3fdbde1b02bcb64ffa05550a48fbd0a9d76148
-DIST github.com%2Fsyndtr%2Fgocapability%2F@v%2Fv0.0.0-20170704070218-db04d3cc01c8.mod 38 BLAKE2B eafcc0e8c3633f2d4c2cb4eeb38eacdb7d029944b76da9ee611b3fd2d3b82d2adfb726405168a34f70251be920da17fdc6c70e8052720a6093c788dd724d24b3 SHA512 1efa76d27434ede74fd37d57c1673c8a60cf06248a73c425b5bd08dd068d6b50166b17a15b52d0c059218479fa3976e80e16cba08f671e9ecf7744cf5daa199c
-DIST github.com%2Ftmc%2Fgrpc-websocket-proxy%2F@v%2Fv0.0.0-20190109142713-0ad062ec5ee5.mod 43 BLAKE2B a0f8fc8639040a1b7194a35a4020cff543111ee47a3b013163e93d14d42325146b1f6c2acfd595438721c4f6e80f9e5871811c058accbf06c6500bdfd9524004 SHA512 b3b02f5e9f8b68a93f531ce9bece44fbaa691f1527528555327c15b574ecee209ba7f6b713d8ae1f6b58b1416a9eb39546be646ef73b4328e79d8bdf605dcf9b
-DIST github.com%2Fugorji%2Fgo%2F@v%2Fv1.1.4.mod 29 BLAKE2B 8502924d37d2cb283d252008e9727d55269eace4ec1b9e049294563a1d92b777e7333c946bc69c7f47167a36482c1c2084330dc68e9c33fdcb57113ac55e0ba7 SHA512 787ef0a1ab48d9faf632390dd7a89475a11a3c11d6b557cb9228111dfa7af591deb6a102cff6d6c981ab717f29bcfca64b26fcfd2cc4d213f4dac0ed24c6d625
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv0.0.0-20171014202726-7bc6a0acffa5.mod 29 BLAKE2B 4f20ac8fb7beef2b678cff290a28c8125d368504aebfcde33e746d3ca7b9606804bd94c59c50fe328da4c1c592b8768b1aad89bc1d22ddf76cbc88d0f0f76b74 SHA512 5edcf2aac39658fc7e60d5086b066470c6d6213b66a2432bc35c6f67b8cb37a66a67fd97cdd4b8fa1b8b1bddfd544e4aa9838cec06806b89f8e1447e3c61bd2a
-DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.11-0.20200630133818-d5bec3311243.mod 31 BLAKE2B eb05706f9dc60f41414a9d2b5c3acee3f615e0d1249c2e9b9776bc255fcfeb05593fb3bf06351d763d4ae4b465aee3f64d9630f4ae5fdd2d4e9ad847e5d4675d SHA512 f220b8b8bbc82fa03107ec51399e2e8c90a442b8b4ad57db441772c1ef66b16a77b71f0601f8aa22b60de4c1da4dffd1d746cd567158fbcd12b1677d88d4b17b
-DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.11-0.20200630133818-d5bec3311243.zip 27114 BLAKE2B 794391f8916ed36d7d1880bc73003c31b5c002636ab6b8cae7696d9e36fdd30e42c2b152a09d1dc379c8dc923c449c2ea8753b24b84b653cb095da48affc1bd3 SHA512 c9c89dc94f1bc0559d0e1c723d44a3e18a3b2ff76809461182453a06845a032dfc3b0a1ff094ef61b8303592f2248ead911443d31c1d221772542fff861c2de5
-DIST github.com%2Fxeipuuv%2Fgojsonpointer%2F@v%2Fv0.0.0-20180127040702-4e3ac2762d5f.mod 40 BLAKE2B bd8fe364e43fdad423aa574d01229ce91e9b3211cbe3a0234070805150d960d3c0fc0c6ec229e7ce5b4079906f2595a2b5f50a8da7bbe9bd906a72a6a7a7434b SHA512 cdd8a665fc41a4b04c59e869b021d5a9b793b9a441c320a234bf2a13be67af9aa60378c58991161f73d83c184039a52fc3f11cd121490996737f0508e277e1cc
-DIST github.com%2Fxeipuuv%2Fgojsonpointer%2F@v%2Fv0.0.0-20180127040702-4e3ac2762d5f.zip 9425 BLAKE2B b18ec4a4e021332404866950e4839e8b00db652a3bc196fee5f7ea928085d25b44584baa3b8e65f5a26edc4a84450152fb40c8eb11dabe82641c2f569d6de126 SHA512 41675a07bc201e97344136fb7afab6afc3974a7d4252068311c5f24968f6a46b979e763865e61586c5d3c8f2478a046915e62b5a7829785c703d180f4c2af58f
-DIST github.com%2Fxeipuuv%2Fgojsonreference%2F@v%2Fv0.0.0-20180127040603-bd5ef7bd5415.mod 42 BLAKE2B c2d6fb272d8ae4e541c98023713bcf0b7f47f334d09ad7f9f375ed13eb14d27ee2995745782ecea40d31a561e28702fddeae4b5e32750726c7188118d741cf82 SHA512 14c839017eebd5dcf49dd3495a1ef6421d522389a2943c010d7869d214f757fe7d19d6ac3482fb3d8cbaaeb3977c5c311523aba90e9f7909fb1ba593ba57ae8a
-DIST github.com%2Fxeipuuv%2Fgojsonreference%2F@v%2Fv0.0.0-20180127040603-bd5ef7bd5415.zip 8632 BLAKE2B db207b3c4a00178e3a2fd24a1c453ff54e8714792d5ae2ab324bebf8efdac9bf1492e3c1f6360a99459c4e88970395bc74dddc4611acec4478ce8a287dc872f9 SHA512 84eca639af26023555a96ac40edc73c5607712c4cbb42f9e9ea80c5e63c3a145e43e10d920891bb7553ddf39ada40f3b7e8cdb72891ac363a609964a3067eceb
-DIST github.com%2Fxeipuuv%2Fgojsonschema%2F@v%2Fv0.0.0-20160323030313-93e72a773fad.mod 39 BLAKE2B 4a9a7321d9c10929abaf038e336248709fcfcde17c0ec9ec8e96407a9e12910b84e7008a7a847f533bd8695b56a8e35313d5771931d2fb1dfddd74ff59b58d5b SHA512 8ee8fb19b40e1366446a91a48a495fa96e4626f594903b7d4a53355069043c5a2958612dd0bf0f8b0a01a4fadf9dd92d0b9dfafbd10ab9c8ee6e3bcaa01853d2
-DIST github.com%2Fxeipuuv%2Fgojsonschema%2F@v%2Fv0.0.0-20160323030313-93e72a773fad.zip 167585 BLAKE2B 8e5e546930e6f91d3ab073df6b3aa8bf3e9ba24f6c82c81245024929d3a97e7fed20efbde18892ae864542f7b1ea691b973fa3401fb67cc3295235685db41db8 SHA512 d2becba97db5f71fa75718f286736c2b11a71d6aa49c02feda19a5655a07af0181a9024529df019f03e91f347d8e4cf6ac8f745bb88d0f9a09a7d6f2cd1a9d08
-DIST github.com%2Fxiang90%2Fprobing%2F@v%2Fv0.0.0-20190116061207-43a291ad63a2.mod 34 BLAKE2B da6bd307f61b08eb749a0b2d9a9f445dfc057c8cafaa13f4a7c6d2d2324f7812c9c8269d9747cc21db9c3478f73558da05035b3f1ce9940f5c5befb16dcdd159 SHA512 b9773f617e5b48c6767051fc7dd2faa63a8a9d537ee42fb51efe6db5b3d24060dea0a264568bb5324915de8917a334f3563dc49d35651a4ee7c15042faad2964
-DIST github.com%2Fxordataexchange%2Fcrypt%2F@v%2Fv0.0.3-0.20170626215501-b2862e3d0a77.mod 40 BLAKE2B 844d63d9c10c55eb74504d88d5e6e85641f2c4bdbbc9b4f6728cd6b1e750d1eb333e91b6eadac635a80abf328c9423fa106b18337e89dc592876cd3f04a803e2 SHA512 daffe8f4148becee3a32c90ad21454cd48255409f3edff8681ea2074623c8aa02cbb4620b7ba52aabe4ac3c24a5f256b56fd71de1da45dcd7e4e8376699a422a
-DIST go.etcd.io%2Fbbolt%2F@v%2Fv1.3.2.mod 24 BLAKE2B f23f0532ce6fece605e76cd16e5f9a1fbf40657f26b2aa6a135bf300a232ffe8eaa9161f93d2845312b10ccb6dd5c4cfea40a2256b6481787ce9ddca7555b0fc SHA512 8988baa04517a19f905b323768f98690b19ce302d54da4648bf72baa2766c8ea8362efaf1c8dd2f02a82fb9c76e72f32373fd04cf48ff133804b6b251bd48529
-DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8
-DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1
-DIST go.uber.org%2Fatomic%2F@v%2Fv1.4.0.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6
-DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4
-DIST go.uber.org%2Fzap%2F@v%2Fv1.10.0.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20171113213409-9f005a07e0d3.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20181029021203-45a5f77698d3.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190611184440-5c40567a22f8.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200220183623-bac4c82f6975.mod 155 BLAKE2B 8bba3353db8ceb3b9fe40b8fd59aacde169776a4a553a069a04836bbf15e5a9a8d7a2d39feed98dac6cb890198180fda39f26b528ff95f24c5b2bbf6601b45c3 SHA512 7c5a755a03063d47d259fda0a6c2faa63c2f30b98dbac583e106aaa817d6cde3e07551e0b5e08f3a25db4c4ca45a23cebe993ae6f3d39c88deeaf2c7d8086a06
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20200220183623-bac4c82f6975.zip 1867651 BLAKE2B 7e9654d95bf03c5462d4d6420e676bd4a0e8769c5cb7954797a66c89298ed16063581391294b7c3e7c1e735ba0cfe3b60e899fbd2821b98179b2669740271a68 SHA512 a0560b1c03857faee4e6f6d959d042258f30bea2bb86af07c701a21c7a6d7e44a8929acd3e42503daed070c3597abede768af32814e252441f85823f330e573f
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190306152737-a1d7652674e8.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190510132918-efd6b22b2522.mod 327 BLAKE2B 209bd1491b6099491fca7ccfd2fabb500b56112557b4b359819b5f9d18e1587b8b1551acab53ac6c222b66b825c4058ecd6adb1d886f1868b7b96ebbd5865eea SHA512 e16919da8b2302c45f8fab5f0d200f41c2c978ad31eab2b4db18310bfbe09079d738f682920ef6530f1d5f53359ddc3d4bf33fe5cefbcefd440212b31e72ef28
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190829153037-c13cbed26979.mod 352 BLAKE2B 5e146ef1d6b71ec65511cb06d8392eddb9a126b6194213f3b2ac6b675977dcdc77cbb3e46fc936189269583df4d0d80d2e393523c3ba4c55f1e8f9294e0dcaa1 SHA512 8ea874c371c0a582410e682cf475628b4fe6a0c0f57b05566a03343999da063250dcb987d9a863b96a8e1ee913612f323de296b4ddbcfecb166884bee06a8af9
-DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191030013958-a1ab85dbe136.mod 475 BLAKE2B 3be94804cb1c692471ca7f2af890586ef57ed45a306a50fd6d6eaec9c7a161e2e4945ed11640ed30ab6f0e48ca644ec06b6b12e232b0990d4e9a08347c27491a SHA512 4b495d303e08e9bb4b43ff0c82665107a6e0a9cdd33a6d14aea491e634901fedb6341fe9e47c45fca1f89688ea3548f57ac8d62b79ef4ccb596ef4eb2e809241
-DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190227222117-0694c2d4d067.mod 60 BLAKE2B 1c8445e3c9313293a0551c8a2acc31a1738724b96886bdf165c74de6cf2d25b784baefa2c41997a64ff189333a8c59756fac7ac41b0ae1d4f167c38574905351 SHA512 c466f8b348acdc26208bcb782cf330a979d9af086a95f307a785884492430f11fe45d1ddc3abdc1b092654b3880a5e7a456740293935b1912a1d39b658de80e8
-DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190802002840-cff245a6509b.mod 69 BLAKE2B f2318e92793bd626374b94e2917ea05ec2b41285c169f1461365edfa00412a798775a8ce137221e1c280983a62d03bf1cc97eadaf8668661ed4387ef5823963b SHA512 d463167481b44386a011b867d6e26eaf2fe81c750325ea89f631af7b065c5152249084c45e7195a662d9b9ddde0e81a5273d8110f73a18c4d841c155c67ea0f6
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190409202823-959b441ac422.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190909230951-414d861bb4ac.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190312151609-d3739f865fa6.mod 27 BLAKE2B 9bc664bbb78cd778f132bf3504160bf8f6d9950342fa73c461db815f07c0ce2ae5bb2a0ac099457d022e1edf2d07e536566fea043a77aa8b21054254ae854c46 SHA512 a105eb088532321694d3adb5da0b3cdceb7781670a2d4a8a757799e3c8fde02784b981747714cfa8770ed29eb1a0228e0945ad3c363220c39108a7432fc29a32
-DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190719004257-d2bd2a29d028.mod 222 BLAKE2B 5f1962cf1df6a0e8d748eacc5616c3bf0b8de117d29e57da32017cfe26eafc879d33427deeb888b283eeab56d48b3c72ef1ad0aa3706a1dcaed208026eeb0054 SHA512 6689d7c55fea7d8cfb8d2b1a934ca45793dc8d4cf4fc5b001bafe676367a93b8a8c4964d8131ba145e5e41c4da50a238d6df01dd3fc336eeb18be61b49e62416
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.0.mod 97 BLAKE2B 54b5bbd5b0908619326ca8bcebebf13f45b2838737d22008f20d3f40ae52fb4f8fdb8c73cbd98b57873aefc8b37c7328aab2bf02ad82a7d5f83e0d75a9283e81 SHA512 4e955424df3c1cce0b716fc518eed10196feb34ec718c1fe537350ce99efd0676276c2000feca6faaa6f3db8ce626e2d330f700fa43a10c73120dd13f5f1a764
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180906233101-161cd47e91fd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181023162649-9b4f9f5ad519.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181201002055-351d144fa1fc.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181220203305-927f97764cc3.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190503192946-f4e77d36d62c.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190522155817-f3200d17e092.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190827160401-ba9fcec4b297.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200324143707-d3edc9973b7e.mod 181 BLAKE2B b45bdd8d5412dfa50e483e0e3431a133435aa68b1225e66fce0f2ef80f2e9d40a9f56a47d5f2faede1624fe05c80fe97c7cd56dd9a6b56ad91315cfbcf9638db SHA512 0c6baecc550358cbc908d994f81f786e62f619b197d4ba0ca5af19eb2ddf243d7f36c6174634b65e205fa5ed3b9c3393d1677c0a57c2b99ddcb252b935a2dc70
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20200324143707-d3edc9973b7e.zip 1500508 BLAKE2B b4e20fbf80aff7d3649ee21073057d32e6363fa77565b3868a3b2a5a4c42006aed55f248520ceb34a056176f5a8e19a361baebfd218c3fb49cebb22c586a7608 SHA512 fb0d21d1b5ecab68b2daaa89cd1eff078ba77e2c7b8936f742cc7f283e5f3a1533fc8ff4cd889193dc7db4857596d929dfa3169f07383b0dd5a785ec61222d74
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190830141801-acfa387b8d69.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190830141801-acfa387b8d69.zip 1817166 BLAKE2B 6b1f429eed434a0b935470c62eec0c9df050803e4ce65b77a1bb1b01c7f423ccb873fc86a31e771ee8fc5d7ecc6108f7f326bf6a8b38c7cf91778ab294465ea3 SHA512 a0e22178a94b1776c0cbac372fea098e8b76acdc19134aa32caf7ca1582d31df2d303827d5b021b8f543625ff1e079d59ee23e6d57e14055d0233532ea8fea51
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.mod 97 BLAKE2B ed93c1d43f199d8cbd43cb25edac5de569cb78773d7f3232d59a0a4de6d174c5c100db2b02ca42c51f3e17e0f5e781ba9b5641a512b0dc72dcfaa5f6bd7d451b SHA512 f3f68808ccf5223453f765f59db1ef551b2130069eb83518878961c2d4a2044f9049f8d49df6e67699fcd2645cf90b84d35626590b2cfbca302fcf0eac76dc8b
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.3.zip 8010747 BLAKE2B 78d999113a75f84966ffd23356e7cf60811b614754936851f197e547657cb6ff40acd074593c9cb6a2ae39ba625b36731c2fc0bc4b2b5ff68a2d377a6c7192db SHA512 024719305765ca737b225fec6268f84fc4c7d17c04e31eadfacafbb24a5f30af61920f4633e95d74dd2a266de40d1d2d13587881a3c22829ffeafb01fd75959f
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180221164845-07fd8470d635.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181011042414-1f849cf54d09.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20181030221726-6c7e314b6563.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312151545-0bb0c0a6e846.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190425150028-36563e24a262.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190506145303-2d16b83fe98c.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190606124116-d0a3d012864b.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190614205625-5aca471b1d59.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190628153133-6cdbf07be9d0.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190816200558-6889da9d5479.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190911174233-4f2ddba30aff.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191012152004-8de300cfc20a.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191112195655-aa38f8e97acc.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200602230032-c00d67ef29d0.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.zip 22282 BLAKE2B 68df6b35d9043f23df13432b80074544f46833467294955ae5706713055d0cc9ababda892853c14e99c80a3571fd4a807a019a098fdd2ca695ba90c577ead5c4 SHA512 c72b8b73f89624889a2874c1b2445cb82f0e545fccf6a7761a278f3f659eb19f5f1c8585641b8f89f2bcfc3817ad2c0e267751cfeeab949e287e43af5df57e28
-DIST google.golang.org%2Fapi%2F@v%2Fv0.13.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330
-DIST google.golang.org%2Fapi%2F@v%2Fv0.4.0.mod 506 BLAKE2B 6933fe30be88a21cca041b800cb9d095b1daf787f3701c0311da2606287d03799df9b556451d9170d02be8028ce686aaf69eaf941d2a8bdb4769c319c50c9905 SHA512 9fa566a26f8345a101dc94986755468b4782d78689d5a163aa5b960b507d4a0e8e435a8ce84073e07187745a156e2c9f586136895db2f08cfc4cd3329fc1e23a
-DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c
-DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
-DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475
-DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.mod 362 BLAKE2B 2d6d24186c2748c4d8f559feb269b351d4260c9c0e0b9342377f23af9e5ecc02fc7f84f7be299aedb0da1b1a6d6d67c3271a826b776bb7cc034256550479a0f5 SHA512 e3c391dfcc5f14fdc5430d7a1d239d4ebec89399b17851e4d7643b8c0c70077aaec3a1bc1a8dd5e3320d8bc6e1562a26e3fe1121d75ce578f37f5d2e84a4ddf6
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2
-DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200526211855-cb27e3aa2013.mod 353 BLAKE2B 7e159067adb934153bc2a45c1a091ea85083c9e52927db8aba3e7ef9e13f984dd738aaf3890e85f7daf86afdab8e5717775250715285c0edc05625a544664cd2 SHA512 17266a643d974e2fae18e7055986002b9705bd2a7fb1e3cd3664fe6dbefbc7a04aef6900146c1e1c3ed84bea8b4d1bda4d6c355af2cda013c01f19eed57568d5
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.0.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fgrpc%2F@v%2Fv1.27.1.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200109180630-ec00e32a8dfd.mod 83 BLAKE2B 4cef0579e4d6b156c1af532343070021171ead815734fe1210a0be6a8ba9bc5f3d11b97ee14cde810f2556bca76c206520f56363ee82af7409772d33301e413d SHA512 3cb3393e78f44d9de80074244756d5e309d19adca15e8313a392b925a687edad46e93c612da1539dc09d0c0072a063eede6f04fbd9e5671059e9857da0f7b1e6
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200221191635-4d8936d0db64.mod 128 BLAKE2B 79cca062b7c73fedaa5357b7b43af16adc1ef83a86be48787887ec450e022d31e0700b7ca4cf5dca03bf2ad9db79727da0fbb89c73bdb006db6b68d75c3e1751 SHA512 bf45db2ba4ae10b447c471118551d337125d5432142f5aa4ba964054d09393730c23373e42eb34574ca93f9b1a12364669be13ba7faa7d9908cacb982984d414
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv0.0.0-20200228230310-ab0ca4ff8a60.mod 158 BLAKE2B 8cafd0a40647244f2dd1d3d3da7ef8e376c6eb3823fca68d7aeb041d480e1147b70b70c49c65e47ff1e9b92eba026a109c67c7900da88cf8569ebd037912a35c SHA512 7d00ab108b35ba41ed8c6ad54533bbbd967e0cdf39e62cb8914c0c6e4a531c779a28ea3fb2a4a7f6f4af7f3c922246a8d8ec8eabb779758245cedbebfdd97378
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.20.1-0.20200309200217-e05f789c0967.mod 128 BLAKE2B e36e105129abbd7729a6d509724246766c16df526ce22637e92ca8f29bf854b66622a0afc5afe8e4ad29c9efc498c488a87020fad5969e044757d49ed4bd6399 SHA512 802c0df5ed11f0bb2e221c01152c6339d3634068f89aac760654411884e6b936b031cbfabad57c5add340f9d504edfcd683c77cb0ba7d753e06bc604095257ce
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.21.0.mod 158 BLAKE2B 46e19153fe487751cddafb86818a962b621b10c109e513ef22e7f5c93b44dd94c6a1636e6c03d0db6e5099536901821549859bcf84f06c00483637d5d4284c43 SHA512 4797f4305d5b0159aba0825c0432cc5678cb74e55cd95eb5c42e9879a62db5aefa76c6286a436aee9a31b096193e8a3bc2e67175f0296c9d5eca3d03e98ab2d9
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.22.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.0.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.23.1-0.20200526195155-81db48ad09cc.mod 123 BLAKE2B 1c4e918b0eba97f6cbf2766da4d81d59be965582a63fcb5d876194d0e57575bfc91ed40418bd435b7cb13f244c44acbe00821098b52b6d64111a4f812e4a5909 SHA512 dab1668079153e90bea3913c9aae022543d17d61e275e3d0e2ba7dfda3dd8f82642bcfd1e4d4add2b8f4fed342efd66ee6c7d7fe1e65e67e4e62f2d0ffd2387c
-DIST google.golang.org%2Fprotobuf%2F@v%2Fv1.24.0.mod 186 BLAKE2B ac72ab4b58c29ea036b52ea6972dba93b3ff95ceea9b476355b14bc335bfb99ac350101e70ec678bfb6656157679f3dd42a200a1531b982ad9c995c5063ad541 SHA512 d9197910537264ba24d95110f470ce2b057b795e7244bcae423ea922a8eb4f2c89df3b6dceb58e71cc7ba1f68ccaa3dfa78d7c26d63f5949d4014b8df336512c
-DIST gopkg.in%2Fairbrake%2Fgobrake.v2%2F@v%2Fv2.0.9.mod 36 BLAKE2B 33002a8288351a233f5e8236743a91df1f630355380a4ae8df10c32abc03470955eac6c15c95655caec990eb17ef2661985570e49293cb146517828090d95635 SHA512 8482c3135335a3a69611529f0d50bd19257b0fe8a8de2d4f2d6441ccde5f1e7a57d487cedc375575c5fe16094e5fc1c7f7f1a6bf04acc8a9d4f92701db279002
-DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20190902080502-41f04d3bba15.zip 41481 BLAKE2B b952f04dc8d4717c839de5a5b7780ec2434915d11f897cc759647f71073dd3df717e1195ff2f4f804457195886c63620b342a089fc489f5deafa9c928708d4bb SHA512 40a523fc1dcc36677a0dc0e626313d44a308fa2ad5eedf7b616470ae2972dd8f5b78c18384efffa65d58391e60b704ed35db5557a5dce8362ae45204f64b721d
-DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
-DIST gopkg.in%2Ffsnotify.v1%2F@v%2Fv1.4.7.mod 28 BLAKE2B ee2514c386f6cb3ff4a9b829d903e57372ce765aeab91fb2f29e95358e3472e0612a00f2982f53790159738e416819e368afa03e44bf8f6b43511347bc6d6995 SHA512 7cf7d1933039974dd4fa16febc52cc118bcd0e35c329d4c563c7f411b8000d9e17be5bca9a60d94f5309cbef97b3d176110704ebfbc3c114572cbadf63a55a34
-DIST gopkg.in%2Fgemnasium%2Flogrus-airbrake-hook.v2%2F@v%2Fv2.1.2.mod 50 BLAKE2B c715a977e733670d4047cc0f62fd485ce2af214d87e799cdea97015f64ee66488e1f68f4aec8e8ab139cd70574a0dd5f54b7bcedad09b8890ad098bcb01d7f5f SHA512 2d48fa45b7183412ac358a60c0af0b3c2f77d5c461f6bf4ba5d7a162195d49076870e739ac6c59e95d41dae2002370f52faf183fd6ca7999d60374866fa3ebdc
-DIST gopkg.in%2Finf.v0%2F@v%2Fv0.9.1.mod 23 BLAKE2B 7e865218970f4a4fa06035c7474ea6a854843051fafd593b393007eb606d813e7817d2444697c68a3c63ce44d57b2f7bd47348ae6e4481bd11f43ed6ace64e5a SHA512 cb350a878f5cb581d62859e605c732ff92a0b92295c28eb17f17768845feef85c1838bda755ff952a8c939f6a46e9cbf5dd77b6e278adf8197a418111e2f98dc
-DIST gopkg.in%2Finf.v0%2F@v%2Fv0.9.1.zip 15882 BLAKE2B 00d4a14f02231cee71bf55946b52e491df36745bffbc58affd61d73e0266bf259bd19595364c094dda028f84838442c65be69e240f8a23aa5d83f4eb7b3d3d84 SHA512 bfd1d29d3514659d778c1ef699b23bd6b5980620992d9aba56f62bc3870cf438a7f179e9b7bfc02f398cf1ffaf13652fd9b8d1c90c0fbf2ab315bf0b02a97c2b
-DIST gopkg.in%2Fini.v1%2F@v%2Fv1.51.0.mod 23 BLAKE2B 4e15082dd2b6e386e93baa78307538fba456343420c52605d453c6309f256e8062ea4b821d70c926096ae58a8feb33c6b796726d2dcc886c58e8293f99ac92a7 SHA512 7650ff592e6f5a0393f794fbdf17a28ad228a2d29ca79685c9ab8d9ec395554f1691b2a0d061e6248cf542f89be4d9a68884f7b24de7c8ddfef9c02cfeedda73
-DIST gopkg.in%2Fini.v1%2F@v%2Fv1.51.0.zip 59485 BLAKE2B 40d0f1ea8656496c49c0329754c6a8d27ca47ce78757727bd86163203fcad81b079772a78f13b7d5ed3321ed29bdeeaa7a24bf10a1f3fef1a3ae4904fa0a50fe SHA512 73bc289af9201e5b7921f072dc22469e38a269af0a682c9d45bb7d134d9569670d9dd25cf05460d782131370c29f567535751e4c5cca5e40009fb744f9f06d77
-DIST gopkg.in%2Fresty.v1%2F@v%2Fv1.12.0.mod 86 BLAKE2B a2c81f0cabd00084e6e52de82e9ba9a5bdf42d45123b7a58ebe4baa07b41631498c7590535884282869c4947b4f4f9ea0f41bfd28c1c7bbd516ea5631f207e30 SHA512 84c11a71dfd5f94cbcc79aaa8d387600ea3eec89cdb44bc63e55daad5700dc20aa719ce7a5c960cf97900231bedd118afbd93c408aec449e68ed5d8c5641ff57
-DIST gopkg.in%2Ftomb.v1%2F@v%2Fv1.0.0-20141024135613-dd632973f1e7.mod 24 BLAKE2B 24a0c476e6590543f1b46175c4f0e036498afd9af616f6e204cac280e61cc10454e0c2a54fe10b9a7a306715ab966a5822ad78626c6cf20c2c78aac02598c922 SHA512 b147b03cabc4666519b94f4d9c7d9fefdea45810e3e35a9b3d303dba491d486fe03c0d5969a6186adbb9c75665e4f3e9811c7bf4ce72c46280b053611c198c41
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.0.0-20170812160011-eb3733d160e7.mod 24 BLAKE2B 1cb17a1c6b1eb33cebd983f9e965f6db03f5095441d7cd72aff6df805501eef4dc249c22ecc85da360c27696a7c4ae613f0769a1f89e73f286281de89ffd3ef2 SHA512 89b481cc62ed7a486990ebfcf65cf7a344e5d189deef680e6ddd82dc93f31d166af05fc27b4a95ea27c33fd3ced1b87d4050d617d52008ca059c4a5d3b6c26a9
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.4.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.8.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.3.0.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379
-DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.3.0.zip 80765 BLAKE2B d6d8bfba5082aabb1a247add43b21ffa058b58fef60e8efbf973b724273cda2496ef0c9b226ad14bfea17f141f077d3bd98dfe3dbcf3c2938fd64570abd662b2 SHA512 2a89b2bce856cc11f3b71edec9e538048acf07f6aabbe27236b663b284c086c5862f086734e58727e9db8912a113fea51f72dad1a45a9e85860764f9c27b19d2
-DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200615113413-eeeca48fe776.mod 95 BLAKE2B fbb87f0644ec9da5d4386358d23cdb15b0d23e8212e712f16f338455a3a0ad19fbfd63e92c955c359237ddfa8bb76d6d08280eead24d321668431891eca1e8ab SHA512 307ca9123efc577ca04828996ee9d8edbb51794ccb4b8d9f169ba689e7276aa5f6ae106a04b22b7fab853ffacfebcbf74468b64eaefd57445864c1fbc77fad9d
-DIST gopkg.in%2Fyaml.v3%2F@v%2Fv3.0.0-20200615113413-eeeca48fe776.zip 103453 BLAKE2B 493d6289e171d84dded89f11aa89da42aefb6510e1b0a5a2e3a9223b31a6291af42c65b720246e9d632fed7e8a2868a2cd2e4f3e3f4acee99cff535aca0b6899 SHA512 7870ff82dad193b5087a735324705dc4ae3e29e96eff29ecd5b5e7ec38369aebc87151bb806dbd11b023dada74ff0c9fb4b7f0ed36d8f893f1c715909cb2b994
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.mod 20 BLAKE2B 25d11078b1caa5a705f3ae32f28d155683dfe0109d96531b1fc20e632acdc2f8429395975e6509f5dc78bc042b5e70e90fa2daa9790c39eb3422cbc189fb21af SHA512 5a73bc54777766425ba833348d2986408baedcaff86acf1648384bbcb31e302b0b0de38e1a92d53083551e35c62f375262497c0d5a37c9fb39824ae68fe8113e
-DIST gotest.tools%2F@v%2Fv2.2.0+incompatible.zip 88327 BLAKE2B 8730134244a00fb47b24b347ee4758fac8c11e3f627788c03d6568af129acb5b911b08857ab77a619bf571986ee90dd1c6c6aa12fd8e6e26d395a64bb7513a8b SHA512 66a13fedc358399644b869ac4b39a295c6c15d642e074ec66ff042e1b109f9603bc941ff25aaf7d9bc700f6c2fb1f60bf2a637a471e26ae037d822f0f1e2c518
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190418001031-e561f6794a2a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb
-DIST k8s.io%2Fapi%2F@v%2Fv0.19.0-rc.2.mod 260 BLAKE2B a6371cd3e3f7e796c4e8b7eb6dbb4e5e8676ed74b7665f2b10a159831b8f77126c8f5dd6dcc8dc2fe6994f1f201c1e4c4adce9a5333defcbfb666bdb83b3da94 SHA512 8dfe3bea4832bbfb829381e62f092d1158cf4bf427a7788ccbc8078bdde793c2a000cde7e824e8021232637b32f159622ca85506d3fbe22d8d2c88ed8d5e4e02
-DIST k8s.io%2Fapi%2F@v%2Fv0.19.0-rc.2.zip 3852933 BLAKE2B 6b08e374ea29054d2505311b333ab92aa73e3bcadd3545bb505849b3cf57ab7a4b79cbdb9985d9f6c38cffe91ace364f6a35728494abbcf24e963963c17edbe0 SHA512 f85cb7accf2548d3868bab79578ea9b2af74d2f9bfae649536e86dbbe785b94cd6459d25b427675957d4d9d2e52df15d21b4f9670f2f059383508188251e01cf
-DIST k8s.io%2Fapimachinery%2F@v%2Fv0.19.0-rc.2.mod 1453 BLAKE2B b24ee5016e980c8e793d2be6cb0b8eafdd93218e499bcb50d03727d417c931684811145c03c8f8f252035658f18fa2bffb9e26e1b3f0caa5d5fdfb7e861da013 SHA512 f01238833a16f585ad59000f9529de87b885ea89e86b08b37daeb3810aa2c048dfa0af63193e48a95f78a6fd3ae1cd311bc761b72ad439f3967480ead725e8e9
-DIST k8s.io%2Fapimachinery%2F@v%2Fv0.19.0-rc.2.zip 803362 BLAKE2B 165cda03428f0aed9ca1182dcc691ffb06efe220f10276736587814aec293234491a36819b78e69e9dcb127f76e67f8e084fdf9b57cfde02e3360cbd4668a3ff SHA512 45c1f5c7c75e52d6e4ff5830dfe3746a53b7c4e79c648e7c558234e887d2cfbb9ee8bc45d31463e36ba070bc6a641f3013faebc0b4067831611a4a6efcd2408c
-DIST k8s.io%2Fcode-generator%2F@v%2Fv0.19.0-rc.2.mod 750 BLAKE2B 874835473029fd37f1b69a218cdb45910b5a625b2de2e5bd5919d76e97a2082839ffcbb021517b3a3360188171e9aa750201fb496e548d3185b96a2abde66b93 SHA512 7f5300937f69812c5be203050035e36c47391c865592fb3bc7415935764637edd859394b5c0780bd8e42167b51cd3d90e35cfb6a7c5562cc67a69fedff306d87
-DIST k8s.io%2Fgengo%2F@v%2Fv0.0.0-20200413195148-3a45101e95ac.mod 20 BLAKE2B ccdc31e151abf5dd6ff0453cb723ffae550c67c154d9de14cc2aaac1efac32063e57a1092e4341db6cbc6f58f639e3b34734859052ae76f21ce92af3ef61ffa4 SHA512 854a60e4fe9dec8121b68fa3102f977ad14264ed89bce9a6860117e80a3830a58565be00260da435f40452b28c6445fd191c90ca5134afea49458d676da49b07
-DIST k8s.io%2Fgengo%2F@v%2Fv0.0.0-20200428234225-8167cfdcfc14.mod 20 BLAKE2B ccdc31e151abf5dd6ff0453cb723ffae550c67c154d9de14cc2aaac1efac32063e57a1092e4341db6cbc6f58f639e3b34734859052ae76f21ce92af3ef61ffa4 SHA512 854a60e4fe9dec8121b68fa3102f977ad14264ed89bce9a6860117e80a3830a58565be00260da435f40452b28c6445fd191c90ca5134afea49458d676da49b07
-DIST k8s.io%2Fklog%2F@v%2Fv1.0.0.mod 68 BLAKE2B f745a62a974a42d1692705de032c8c651477ec71f32b0515adc02360e5a3de6c7d65f5d97960e78da06e99b0843c312a09701c08c6a5c112af832e3cd2e43649 SHA512 cfee3f10c26fafe7cbc510ff8cba479dfacedf1d95b4e25b75978656862067524b4b9f5e889455f2d74eacf07df7895fe266415a05b9502a759baf2e4bd3884a
-DIST k8s.io%2Fklog%2F@v%2Fv1.0.0.zip 39827 BLAKE2B 441907426e07ed46aeeb6314c615fceedd43bf1b21b07a31960b23e1cf31dc400f1d7f0304cd5c13db8c2d54aaec47d05425798508978cb25c7d05aa3fcf2fa4 SHA512 b28b559a8a6e46b206ac005497d2e061645a81a3dc4b4f2c2a9f84065aae024dfbe7c64e9a446f72f7f88b5dea31d0ee725b273fb79877e24fb27906e1500c2b
-DIST k8s.io%2Fklog%2Fv2%2F@v%2Fv2.0.0.mod 71 BLAKE2B c6d2fc56898a5b4e11c13f2d102269674def5c651031128231aa23d016ac3e74c23c734c4637e574e7deea2173733ba6272f02fe05e3c39aa5d1de4713aa184e SHA512 29871958be33057ed4a8f81336085da0c633dcc4c00c4dcc134d1313b1220bd24124d5b2b7a47b26b56ba2e7daefcd33dbef7bbc0a344c72e6c2b039767f810a
-DIST k8s.io%2Fklog%2Fv2%2F@v%2Fv2.2.0.mod 71 BLAKE2B 5379c4cfec1c33cee99fc39e4c30e0a83b523474b23c8fb332dcfe3e76463828c559e252a67f19c2b2421b36b5d3f85ab52915a5a959f02666f25bc97e6dbd0a SHA512 2addab12a7cc1ffa4b20d006278930f87efede3163ed08d93644668fd36b1878153e4e9bbc6562b09e2f6637024829199b90e827f94e0874c6fba40ef7d7ed8f
-DIST k8s.io%2Fklog%2Fv2%2F@v%2Fv2.2.0.zip 45140 BLAKE2B c7271958036e25fcaebf47cba48efd18029563731e8648cf0e52247e538b9fec5b3afe74c1b3d071927b3cee29553c8a891dcc1cb920a3a3b17e1cacc8887bbf SHA512 f4adb771c1131f778d2b3f9154e8f855f5ad3882f1a932afc7b4457f9413fa43340e993e6a80cb930019a8e712d40fb62542efb524a2688635b6445f8f9dcb1e
-DIST k8s.io%2Fkube-openapi%2F@v%2Fv0.0.0-20200427153329-656914f816f9.mod 1576 BLAKE2B cf5c64b8ea229cfa89dea8ded6e26d5669f0cafcd0265436060e9fad534df273e44f246bd28203613796e5503bcd245d94a0e70c82d7a1c797abd0170caae2cc SHA512 66bcaee932ce76200d93cacc3f17cc654fb5bf6ab75da30850b9899c3e6b2d000839eef5f33cb257f6a13494dbb69b940c800b6bd31ea7542a69b60276269251
-DIST k8s.io%2Fkubernetes%2F@v%2Fv1.13.0.mod 25 BLAKE2B 4060536d51fac9854215957b1108a158adb0b3aeb8bfc659eca1140efdcf79cffe378db6f3cb1f4a4b68aa36468b7d5631e993d5a089eb839bd03b6b608496be SHA512 2349b7dbe8409836cc70d97c5b336f518b809f5731baf05ce68d957c9970895a9b7f89caf09763794cf13824ee29410b3a6e431b2da7f64610895c44b86c4d2d
-DIST kompose-1.22.0.tar.gz 321371 BLAKE2B 6a692c4ff4afc835ec6a3319e266849c6a9d2fda50828586eacc1b3b07c743acef7d3427fc3413af6e6ca8e435fd1e4ecfaef588d9be7091a08e45e4b8e4b053 SHA512 09c2520b759dcc452f6d55b171d9c002ccdab96cf01cd9b67be33070c8b3faff0a189ca30731376386d214002e2c44ffe27715aa74039a8adbae946d2b03d1d0
-DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774
-DIST sigs.k8s.io%2Fstructured-merge-diff%2Fv3%2F@v%2Fv3.0.0-20200116222232-67a7b8c61874.mod 298 BLAKE2B c8069652ef0558d03282ef0f8444222d09708f1dcdc1ab19ed698d7acfb8d3421d9d9c9d053f3060848673d3dd30befd94c09b075ced36f79bef28940e7b351b SHA512 d153dd32bc1485e17771bad3142f576d967e0986702050431a656eb990af3bbfe809542745ac7752c0d72e6beee78bf3c285a4b41b37b8ebef50ecd7b3f53f8d
-DIST sigs.k8s.io%2Fstructured-merge-diff%2Fv3%2F@v%2Fv3.0.1-0.20200706213357-43c19bbb7fba.mod 346 BLAKE2B 3be76ae48e7f9581785fe52743be3b369310c9a5b47c25db84ee7d1912e19f2560c45db27161822bf9ce968102087c14a76631e5be99719f91e65abe7ca00471 SHA512 d68047f04d65abb33dccf7eb0f15d91d7f393aaac0cf042529efb3fb8dace3f24d4972dc3d759b69ebbb350f11fa71fdb19efc257f0c73775eb2c619dcad70d6
-DIST sigs.k8s.io%2Fstructured-merge-diff%2Fv3%2F@v%2Fv3.0.1-0.20200706213357-43c19bbb7fba.zip 226559 BLAKE2B efe4a8c5e452e893731cc151b246c32f8722abf55aa14b0378bbfb0a2586c031899a92ce90caea77f8dc7aecee21ffa21612dcdd21857cd3c1ade4f2d6c7252d SHA512 7872aa775301e635f99ea6a49eab35f35c2e431911f3d9bfe46fd992850c908b0665d2263079ad298f73536ce4e08152e32b05a481504908fa017fd77ed08592
-DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.1.0.mod 24 BLAKE2B d33080dbc62b185d029eb43f75d66328dbfa7c463a3117b3efd5419ab8e1e52cc6f5d5a288d553421025c785ec6948b3aa68588cae19bd325f6acc0d043bb5fb SHA512 78f6402daccb04510f4ef35ee457ee13e4f447fba8e6aa33b4d32aa666e925861bf3b3f22c5ba9573871ec7e830f99e4caae0969724a54eadf40e6a7ed7931a0
-DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.mod 106 BLAKE2B bd5d8af6c5046c6de9b171ea2915c308de08e9696a8c82b3831bf5dc01f8aefc21b13b5b9a210f24ff8782909308137c25363074753427109e009889b7860f5f SHA512 712a936d07bfe4c2e67a4f199346d7e96db35486a0f051365c4636ddbc6505cf540995bc67e6a03b1b58e1e4816ece573418f23bf9ce93fcdc141a05f922f527
-DIST sigs.k8s.io%2Fyaml%2F@v%2Fv1.2.0.zip 20937 BLAKE2B 1bc20da34d11c6704b2d34eb93b06fd376d1b0932626c7dcbdaf43df8c8eb14e07529e84e028576bb67ce1961c3c86d0303d375d8d0aa372ded259c3561b9291 SHA512 52a52b3d380ae6e2cbe1b2c849d3089f74aa876fb3fadfbd02eada97446e0f2cf387f10ddb527f2dfefd57dccba8c82b0b349efbecaa0e6e3d00dc2b5d4fc21e
diff --git a/app-emulation/kompose/kompose-1.22.0.ebuild b/app-emulation/kompose/kompose-1.22.0.ebuild
deleted file mode 100644
index 236350b8e8ef..000000000000
--- a/app-emulation/kompose/kompose-1.22.0.ebuild
+++ /dev/null
@@ -1,580 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit go-module
-GIT_COMMIT=955b7812
-
-DESCRIPTION="Tool to move from docker-compose to Kubernetes"
-HOMEPAGE="https://github.com/kubernetes/kompose https://kompose.io"
-
-EGO_SUM=(
- "bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod"
- "cloud.google.com/go v0.26.0/go.mod"
- "cloud.google.com/go v0.34.0/go.mod"
- "cloud.google.com/go v0.38.0/go.mod"
- "cloud.google.com/go v0.44.1/go.mod"
- "cloud.google.com/go v0.44.2/go.mod"
- "cloud.google.com/go v0.45.1/go.mod"
- "cloud.google.com/go v0.46.3/go.mod"
- "cloud.google.com/go/bigquery v1.0.1/go.mod"
- "cloud.google.com/go/datastore v1.0.0/go.mod"
- "cloud.google.com/go/firestore v1.1.0/go.mod"
- "cloud.google.com/go/pubsub v1.0.1/go.mod"
- "cloud.google.com/go/storage v1.0.0/go.mod"
- "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod"
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78"
- "github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod"
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod"
- "github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod"
- "github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873"
- "github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod"
- "github.com/Microsoft/hcsshim v0.8.7/go.mod"
- "github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod"
- "github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5"
- "github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod"
- "github.com/OneOfOne/xxhash v1.2.2/go.mod"
- "github.com/PuerkitoBio/purell v1.0.0/go.mod"
- "github.com/PuerkitoBio/purell v1.1.1/go.mod"
- "github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod"
- "github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod"
- "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod"
- "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod"
- "github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod"
- "github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod"
- "github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod"
- "github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod"
- "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
- "github.com/beorn7/perks v1.0.0/go.mod"
- "github.com/bgentry/speakeasy v0.1.0/go.mod"
- "github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod"
- "github.com/blang/semver v3.1.0+incompatible/go.mod"
- "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod"
- "github.com/cespare/xxhash v1.1.0/go.mod"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod"
- "github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod"
- "github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod"
- "github.com/containerd/containerd v1.3.0/go.mod"
- "github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod"
- "github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c"
- "github.com/containerd/continuity v0.0.0-20200228182428-0f16d7a0959c/go.mod"
- "github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod"
- "github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod"
- "github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod"
- "github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod"
- "github.com/coreos/bbolt v1.3.2/go.mod"
- "github.com/coreos/etcd v3.3.10+incompatible/go.mod"
- "github.com/coreos/etcd v3.3.13+incompatible/go.mod"
- "github.com/coreos/go-semver v0.2.0/go.mod"
- "github.com/coreos/go-semver v0.3.0/go.mod"
- "github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod"
- "github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod"
- "github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod"
- "github.com/davecgh/go-spew v1.1.0/go.mod"
- "github.com/davecgh/go-spew v1.1.1"
- "github.com/davecgh/go-spew v1.1.1/go.mod"
- "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod"
- "github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod"
- "github.com/docker/cli v0.0.0-20180529093712-df6e38b81a94"
- "github.com/docker/cli v0.0.0-20180529093712-df6e38b81a94/go.mod"
- "github.com/docker/distribution v2.7.1+incompatible/go.mod"
- "github.com/docker/docker v17.12.0-ce-rc1.0.20180220021536-8e435b8279f2+incompatible"
- "github.com/docker/docker v17.12.0-ce-rc1.0.20180220021536-8e435b8279f2+incompatible/go.mod"
- "github.com/docker/go-connections v0.4.0"
- "github.com/docker/go-connections v0.4.0/go.mod"
- "github.com/docker/go-units v0.4.0"
- "github.com/docker/go-units v0.4.0/go.mod"
- "github.com/docker/libcompose v0.4.1-0.20171025083809-57bd716502dc"
- "github.com/docker/libcompose v0.4.1-0.20171025083809-57bd716502dc/go.mod"
- "github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod"
- "github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod"
- "github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod"
- "github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod"
- "github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod"
- "github.com/emicklei/go-restful v2.9.5+incompatible/go.mod"
- "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod"
- "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod"
- "github.com/evanphx/json-patch v0.0.0-20190815234213-e83c0a1c26c8/go.mod"
- "github.com/fatih/color v1.7.0/go.mod"
- "github.com/fatih/structs v1.1.0"
- "github.com/fatih/structs v1.1.0/go.mod"
- "github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568"
- "github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod"
- "github.com/fsnotify/fsnotify v1.4.7/go.mod"
- "github.com/fsnotify/fsnotify v1.4.9"
- "github.com/fsnotify/fsnotify v1.4.9/go.mod"
- "github.com/fsouza/go-dockerclient v1.6.5"
- "github.com/fsouza/go-dockerclient v1.6.5/go.mod"
- "github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod"
- "github.com/ghodss/yaml v1.0.0/go.mod"
- "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod"
- "github.com/go-kit/kit v0.8.0/go.mod"
- "github.com/go-logfmt/logfmt v0.3.0/go.mod"
- "github.com/go-logfmt/logfmt v0.4.0/go.mod"
- "github.com/go-logr/logr v0.1.0/go.mod"
- "github.com/go-logr/logr v0.2.0"
- "github.com/go-logr/logr v0.2.0/go.mod"
- "github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod"
- "github.com/go-openapi/jsonpointer v0.19.2/go.mod"
- "github.com/go-openapi/jsonpointer v0.19.3/go.mod"
- "github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod"
- "github.com/go-openapi/jsonreference v0.19.2/go.mod"
- "github.com/go-openapi/jsonreference v0.19.3/go.mod"
- "github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod"
- "github.com/go-openapi/spec v0.19.3/go.mod"
- "github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod"
- "github.com/go-openapi/swag v0.19.2/go.mod"
- "github.com/go-openapi/swag v0.19.5/go.mod"
- "github.com/go-stack/stack v1.8.0/go.mod"
- "github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod"
- "github.com/gogo/protobuf v1.1.1/go.mod"
- "github.com/gogo/protobuf v1.2.1/go.mod"
- "github.com/gogo/protobuf v1.3.1"
- "github.com/gogo/protobuf v1.3.1/go.mod"
- "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod"
- "github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod"
- "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod"
- "github.com/golang/mock v1.1.1/go.mod"
- "github.com/golang/mock v1.2.0/go.mod"
- "github.com/golang/mock v1.3.1/go.mod"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/golang/protobuf v1.3.1/go.mod"
- "github.com/golang/protobuf v1.3.2/go.mod"
- "github.com/golang/protobuf v1.3.3/go.mod"
- "github.com/golang/protobuf v1.4.0-rc.1/go.mod"
- "github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod"
- "github.com/golang/protobuf v1.4.0-rc.2/go.mod"
- "github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod"
- "github.com/golang/protobuf v1.4.0/go.mod"
- "github.com/golang/protobuf v1.4.1/go.mod"
- "github.com/golang/protobuf v1.4.2/go.mod"
- "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod"
- "github.com/google/btree v1.0.0/go.mod"
- "github.com/google/go-cmp v0.2.0/go.mod"
- "github.com/google/go-cmp v0.3.0/go.mod"
- "github.com/google/go-cmp v0.3.1/go.mod"
- "github.com/google/go-cmp v0.4.0"
- "github.com/google/go-cmp v0.4.0/go.mod"
- "github.com/google/gofuzz v1.0.0/go.mod"
- "github.com/google/gofuzz v1.1.0"
- "github.com/google/gofuzz v1.1.0/go.mod"
- "github.com/google/martian v2.1.0+incompatible/go.mod"
- "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod"
- "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/google/uuid v1.1.1/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.4/go.mod"
- "github.com/googleapis/gax-go/v2 v2.0.5/go.mod"
- "github.com/googleapis/gnostic v0.4.1/go.mod"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1"
- "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod"
- "github.com/gorilla/mux v1.7.4/go.mod"
- "github.com/gorilla/websocket v1.4.0/go.mod"
- "github.com/gorilla/websocket v1.4.2/go.mod"
- "github.com/gotestyourself/gotestyourself v2.2.0+incompatible"
- "github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod"
- "github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod"
- "github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod"
- "github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod"
- "github.com/hashicorp/consul/api v1.1.0/go.mod"
- "github.com/hashicorp/consul/sdk v0.1.1/go.mod"
- "github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod"
- "github.com/hashicorp/errwrap v1.0.0/go.mod"
- "github.com/hashicorp/go-cleanhttp v0.5.1/go.mod"
- "github.com/hashicorp/go-immutable-radix v1.0.0/go.mod"
- "github.com/hashicorp/go-msgpack v0.5.3/go.mod"
- "github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod"
- "github.com/hashicorp/go-multierror v1.0.0/go.mod"
- "github.com/hashicorp/go-rootcerts v1.0.0/go.mod"
- "github.com/hashicorp/go-sockaddr v1.0.0/go.mod"
- "github.com/hashicorp/go-syslog v1.0.0/go.mod"
- "github.com/hashicorp/go-uuid v1.0.0/go.mod"
- "github.com/hashicorp/go-uuid v1.0.1/go.mod"
- "github.com/hashicorp/go.net v0.0.1/go.mod"
- "github.com/hashicorp/golang-lru v0.5.0/go.mod"
- "github.com/hashicorp/golang-lru v0.5.1/go.mod"
- "github.com/hashicorp/hcl v1.0.0"
- "github.com/hashicorp/hcl v1.0.0/go.mod"
- "github.com/hashicorp/logutils v1.0.0/go.mod"
- "github.com/hashicorp/mdns v1.0.0/go.mod"
- "github.com/hashicorp/memberlist v0.1.3/go.mod"
- "github.com/hashicorp/serf v0.8.2/go.mod"
- "github.com/hpcloud/tail v1.0.0/go.mod"
- "github.com/imdario/mergo v0.3.10"
- "github.com/imdario/mergo v0.3.10/go.mod"
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/inconshreveable/mousetrap v1.0.0/go.mod"
- "github.com/joho/godotenv v1.3.0"
- "github.com/joho/godotenv v1.3.0/go.mod"
- "github.com/jonboulle/clockwork v0.1.0/go.mod"
- "github.com/json-iterator/go v1.1.6/go.mod"
- "github.com/json-iterator/go v1.1.10"
- "github.com/json-iterator/go v1.1.10/go.mod"
- "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod"
- "github.com/jtolds/gls v4.20.0+incompatible"
- "github.com/jtolds/gls v4.20.0+incompatible/go.mod"
- "github.com/julienschmidt/httprouter v1.2.0/go.mod"
- "github.com/kisielk/errcheck v1.1.0/go.mod"
- "github.com/kisielk/errcheck v1.2.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.3"
- "github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod"
- "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pretty v0.2.0"
- "github.com/kr/pretty v0.2.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/pty v1.1.5/go.mod"
- "github.com/kr/text v0.1.0"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/magiconair/properties v1.8.0/go.mod"
- "github.com/magiconair/properties v1.8.1"
- "github.com/magiconair/properties v1.8.1/go.mod"
- "github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod"
- "github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod"
- "github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod"
- "github.com/mailru/easyjson v0.7.0/go.mod"
- "github.com/mattn/go-colorable v0.0.9/go.mod"
- "github.com/mattn/go-isatty v0.0.3/go.mod"
- "github.com/mattn/go-shellwords v1.0.10"
- "github.com/mattn/go-shellwords v1.0.10/go.mod"
- "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
- "github.com/miekg/dns v1.0.14/go.mod"
- "github.com/mitchellh/cli v1.0.0/go.mod"
- "github.com/mitchellh/go-homedir v1.0.0/go.mod"
- "github.com/mitchellh/go-homedir v1.1.0/go.mod"
- "github.com/mitchellh/go-testing-interface v1.0.0/go.mod"
- "github.com/mitchellh/gox v0.4.0/go.mod"
- "github.com/mitchellh/iochan v1.0.0/go.mod"
- "github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod"
- "github.com/mitchellh/mapstructure v1.1.2"
- "github.com/mitchellh/mapstructure v1.1.2/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd"
- "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod"
- "github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod"
- "github.com/modern-go/reflect2 v1.0.1"
- "github.com/modern-go/reflect2 v1.0.1/go.mod"
- "github.com/morikuni/aec v1.0.0/go.mod"
- "github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod"
- "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod"
- "github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod"
- "github.com/novln/docker-parser v1.0.0"
- "github.com/novln/docker-parser v1.0.0/go.mod"
- "github.com/oklog/ulid v1.3.1/go.mod"
- "github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod"
- "github.com/onsi/ginkgo v1.6.0/go.mod"
- "github.com/onsi/ginkgo v1.10.1/go.mod"
- "github.com/onsi/ginkgo v1.11.0/go.mod"
- "github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod"
- "github.com/onsi/gomega v1.7.0/go.mod"
- "github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod"
- "github.com/opencontainers/go-digest v1.0.0-rc1"
- "github.com/opencontainers/go-digest v1.0.0-rc1/go.mod"
- "github.com/opencontainers/image-spec v1.0.1"
- "github.com/opencontainers/image-spec v1.0.1/go.mod"
- "github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod"
- "github.com/opencontainers/runc v0.1.1"
- "github.com/opencontainers/runc v0.1.1/go.mod"
- "github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod"
- "github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod"
- "github.com/opencontainers/selinux v1.6.0"
- "github.com/opencontainers/selinux v1.6.0/go.mod"
- "github.com/openshift/api v0.0.0-20200803131051-87466835fcc0"
- "github.com/openshift/api v0.0.0-20200803131051-87466835fcc0/go.mod"
- "github.com/openshift/build-machinery-go v0.0.0-20200713135615-1f43d26dccc7/go.mod"
- "github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod"
- "github.com/pelletier/go-toml v1.2.0"
- "github.com/pelletier/go-toml v1.2.0/go.mod"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod"
- "github.com/pkg/errors v0.8.1/go.mod"
- "github.com/pkg/errors v0.9.1"
- "github.com/pkg/errors v0.9.1/go.mod"
- "github.com/pmezard/go-difflib v1.0.0"
- "github.com/pmezard/go-difflib v1.0.0/go.mod"
- "github.com/posener/complete v1.1.1/go.mod"
- "github.com/prometheus/client_golang v0.9.1/go.mod"
- "github.com/prometheus/client_golang v0.9.3/go.mod"
- "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod"
- "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod"
- "github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod"
- "github.com/prometheus/common v0.4.0/go.mod"
- "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
- "github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod"
- "github.com/prometheus/procfs v0.0.5/go.mod"
- "github.com/prometheus/tsdb v0.7.1/go.mod"
- "github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/russross/blackfriday/v2 v2.0.1/go.mod"
- "github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod"
- "github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod"
- "github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod"
- "github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod"
- "github.com/sirupsen/logrus v1.2.0/go.mod"
- "github.com/sirupsen/logrus v1.4.1/go.mod"
- "github.com/sirupsen/logrus v1.6.0"
- "github.com/sirupsen/logrus v1.6.0/go.mod"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d"
- "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod"
- "github.com/smartystreets/goconvey v1.6.4"
- "github.com/smartystreets/goconvey v1.6.4/go.mod"
- "github.com/soheilhy/cmux v0.1.4/go.mod"
- "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod"
- "github.com/spf13/afero v1.1.2"
- "github.com/spf13/afero v1.1.2/go.mod"
- "github.com/spf13/cast v1.3.0/go.mod"
- "github.com/spf13/cast v1.3.1"
- "github.com/spf13/cast v1.3.1/go.mod"
- "github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod"
- "github.com/spf13/cobra v1.0.0"
- "github.com/spf13/cobra v1.0.0/go.mod"
- "github.com/spf13/jwalterweatherman v1.0.0"
- "github.com/spf13/jwalterweatherman v1.0.0/go.mod"
- "github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod"
- "github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod"
- "github.com/spf13/pflag v1.0.3/go.mod"
- "github.com/spf13/pflag v1.0.5"
- "github.com/spf13/pflag v1.0.5/go.mod"
- "github.com/spf13/viper v1.4.0/go.mod"
- "github.com/spf13/viper v1.7.1"
- "github.com/spf13/viper v1.7.1/go.mod"
- "github.com/stretchr/objx v0.1.0/go.mod"
- "github.com/stretchr/objx v0.1.1/go.mod"
- "github.com/stretchr/objx v0.2.0/go.mod"
- "github.com/stretchr/testify v1.2.2/go.mod"
- "github.com/stretchr/testify v1.3.0/go.mod"
- "github.com/stretchr/testify v1.4.0/go.mod"
- "github.com/stretchr/testify v1.5.1"
- "github.com/stretchr/testify v1.5.1/go.mod"
- "github.com/subosito/gotenv v1.2.0"
- "github.com/subosito/gotenv v1.2.0/go.mod"
- "github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod"
- "github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod"
- "github.com/ugorji/go v1.1.4/go.mod"
- "github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod"
- "github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243"
- "github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod"
- "github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f"
- "github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod"
- "github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415"
- "github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod"
- "github.com/xeipuuv/gojsonschema v0.0.0-20160323030313-93e72a773fad"
- "github.com/xeipuuv/gojsonschema v0.0.0-20160323030313-93e72a773fad/go.mod"
- "github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod"
- "github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod"
- "go.etcd.io/bbolt v1.3.2/go.mod"
- "go.opencensus.io v0.21.0/go.mod"
- "go.opencensus.io v0.22.0/go.mod"
- "go.uber.org/atomic v1.4.0/go.mod"
- "go.uber.org/multierr v1.1.0/go.mod"
- "go.uber.org/zap v1.10.0/go.mod"
- "golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod"
- "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod"
- "golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod"
- "golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod"
- "golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975"
- "golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod"
- "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod"
- "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod"
- "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod"
- "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod"
- "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod"
- "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod"
- "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod"
- "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod"
- "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod"
- "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod"
- "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod"
- "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod"
- "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod"
- "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/mod v0.1.0/go.mod"
- "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod"
- "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod"
- "golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod"
- "golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod"
- "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod"
- "golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod"
- "golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod"
- "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod"
- "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod"
- "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod"
- "golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod"
- "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod"
- "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod"
- "golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e"
- "golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod"
- "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod"
- "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod"
- "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod"
- "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
- "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod"
- "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69"
- "golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod"
- "golang.org/x/text v0.3.2/go.mod"
- "golang.org/x/text v0.3.3"
- "golang.org/x/text v0.3.3/go.mod"
- "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod"
- "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod"
- "golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod"
- "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod"
- "golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod"
- "golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod"
- "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod"
- "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod"
- "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod"
- "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod"
- "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod"
- "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod"
- "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod"
- "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod"
- "golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod"
- "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod"
- "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod"
- "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod"
- "golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod"
- "golang.org/x/tools v0.0.0-20200602230032-c00d67ef29d0/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543"
- "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod"
- "google.golang.org/api v0.4.0/go.mod"
- "google.golang.org/api v0.7.0/go.mod"
- "google.golang.org/api v0.8.0/go.mod"
- "google.golang.org/api v0.9.0/go.mod"
- "google.golang.org/api v0.13.0/go.mod"
- "google.golang.org/appengine v1.1.0/go.mod"
- "google.golang.org/appengine v1.4.0/go.mod"
- "google.golang.org/appengine v1.5.0/go.mod"
- "google.golang.org/appengine v1.6.1/go.mod"
- "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod"
- "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod"
- "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod"
- "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod"
- "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod"
- "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod"
- "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod"
- "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod"
- "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod"
- "google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod"
- "google.golang.org/grpc v1.19.0/go.mod"
- "google.golang.org/grpc v1.20.1/go.mod"
- "google.golang.org/grpc v1.21.0/go.mod"
- "google.golang.org/grpc v1.21.1/go.mod"
- "google.golang.org/grpc v1.23.0/go.mod"
- "google.golang.org/grpc v1.27.0/go.mod"
- "google.golang.org/grpc v1.27.1/go.mod"
- "google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod"
- "google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod"
- "google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod"
- "google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod"
- "google.golang.org/protobuf v1.21.0/go.mod"
- "google.golang.org/protobuf v1.22.0/go.mod"
- "google.golang.org/protobuf v1.23.0/go.mod"
- "google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod"
- "google.golang.org/protobuf v1.24.0/go.mod"
- "gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod"
- "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod"
- "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15"
- "gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "gopkg.in/fsnotify.v1 v1.4.7/go.mod"
- "gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod"
- "gopkg.in/inf.v0 v0.9.1"
- "gopkg.in/inf.v0 v0.9.1/go.mod"
- "gopkg.in/ini.v1 v1.51.0"
- "gopkg.in/ini.v1 v1.51.0/go.mod"
- "gopkg.in/resty.v1 v1.12.0/go.mod"
- "gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod"
- "gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod"
- "gopkg.in/yaml.v2 v2.2.1/go.mod"
- "gopkg.in/yaml.v2 v2.2.2/go.mod"
- "gopkg.in/yaml.v2 v2.2.4/go.mod"
- "gopkg.in/yaml.v2 v2.2.8/go.mod"
- "gopkg.in/yaml.v2 v2.3.0"
- "gopkg.in/yaml.v2 v2.3.0/go.mod"
- "gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776"
- "gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod"
- "gotest.tools v2.2.0+incompatible"
- "gotest.tools v2.2.0+incompatible/go.mod"
- "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod"
- "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod"
- "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod"
- "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
- "k8s.io/api v0.19.0-rc.2"
- "k8s.io/api v0.19.0-rc.2/go.mod"
- "k8s.io/apimachinery v0.19.0-rc.2"
- "k8s.io/apimachinery v0.19.0-rc.2/go.mod"
- "k8s.io/code-generator v0.19.0-rc.2/go.mod"
- "k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod"
- "k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod"
- "k8s.io/klog v1.0.0"
- "k8s.io/klog v1.0.0/go.mod"
- "k8s.io/klog/v2 v2.0.0/go.mod"
- "k8s.io/klog/v2 v2.2.0"
- "k8s.io/klog/v2 v2.2.0/go.mod"
- "k8s.io/kube-openapi v0.0.0-20200427153329-656914f816f9/go.mod"
- "k8s.io/kubernetes v1.13.0/go.mod"
- "rsc.io/binaryregexp v0.2.0/go.mod"
- "sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod"
- "sigs.k8s.io/structured-merge-diff/v3 v3.0.1-0.20200706213357-43c19bbb7fba"
- "sigs.k8s.io/structured-merge-diff/v3 v3.0.1-0.20200706213357-43c19bbb7fba/go.mod"
- "sigs.k8s.io/yaml v1.1.0/go.mod"
- "sigs.k8s.io/yaml v1.2.0"
- "sigs.k8s.io/yaml v1.2.0/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/kubernetes/kompose/archive/v${PV}.tar.gz -> ${P}.tar.gz
-${EGO_SUM_SRC_URI}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="hardened"
-
-RESTRICT+=" test"
-
-src_prepare() {
- default
- sed -i -e 's/-w -s//' Makefile || die
-}
-
-src_compile() {
- CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \
- emake \
- GITCOMMIT=${GIT_COMMIT} \
- bin
-}
-
-src_install() {
- dobin ${PN}
- dodoc -r docs examples {README,RELEASE,CHANGELOG,CONTRIBUTING}.md
-}
diff --git a/app-emulation/kompose/metadata.xml b/app-emulation/kompose/metadata.xml
deleted file mode 100644
index 35b5754e5e51..000000000000
--- a/app-emulation/kompose/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <upstream>
- <remote-id type="github">kubernetes/kompose</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/libcacard/Manifest b/app-emulation/libcacard/Manifest
index 14387566c0ec..58cdf557c643 100644
--- a/app-emulation/libcacard/Manifest
+++ b/app-emulation/libcacard/Manifest
@@ -1 +1 @@
-DIST libcacard-2.6.0.tar.xz 364828 BLAKE2B 3a07243abb91dab05d89bf073fabb4a0ef7e820765066a8d87e72086b88cc726de77d1fdc5118e05ed47077d76ae0a57ff591a2e4e8623c3484c6cbf00cd025e SHA512 d6dfe6fe6cd2711bf8f71edc134a7caf459fc2a9c4f664ab2f1c28cc9ee8efe7a2d5a15c4dc735956638176e07e22416cad5e8e926aa7cab3fa95ded853f5982
+DIST libcacard-2.8.1.tar.xz 396472 BLAKE2B 49b1c0c9184f0a926df85de6146dd31a7127ee5e40a172e3d9e47f33ef4cdef57ee85f34c9c53719b4a8c5a1de695b8936cfcfce141cd558e6d53d215421621b SHA512 6deddd3319dbd74165eeaa2e8ab10de4a6eb111e980edd608801f7fe3c4fa896c9fb239110d17763864887f5eb0b77c03c680d83fd58a3913b48deb5a225ec74
diff --git a/app-emulation/libcacard/files/libcacard-2.6.0-simpletlv-test-fix.patch b/app-emulation/libcacard/files/libcacard-2.6.0-simpletlv-test-fix.patch
deleted file mode 100644
index 40e2a9d21e26..000000000000
--- a/app-emulation/libcacard/files/libcacard-2.6.0-simpletlv-test-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/tests/simpletlv.c b/tests/simpletlv.c
-index cd0cd69c4dfb504a52e3f7314e4a01657377eb68..9ddc5b999f73d56f35f85810479760b301330282 100644
---- a/tests/simpletlv.c
-+++ b/tests/simpletlv.c
-@@ -48,7 +48,7 @@ static void test_length_simple(void)
-
- static void test_length_nested(void)
- {
-- size_t length = 0;
-+ int length = 0;
- unsigned char simple_value[] = "\x12\x14";
- static struct simpletlv_member simple[1] = {
- {0x25, 2, {/*.value = simple_value*/}, SIMPLETLV_TYPE_LEAF}
-@@ -102,7 +102,7 @@ static void test_length_skipped(void)
- static void test_encode_simple(void)
- {
- unsigned char *result = NULL;
-- size_t result_len = 0;
-+ int result_len = 0;
- unsigned char simple_value[] = "\x10\x11";
- unsigned char simple_encoded[] = "\x25\x02\x10\x11";
- unsigned char long_value[256] = "Long data value";
-@@ -168,7 +168,7 @@ static void test_encode_simple(void)
- static void test_encode_nested(void)
- {
- unsigned char *result = NULL;
-- size_t result_len = 0;
-+ int result_len = 0;
- unsigned char simple_value[] = "\x12\x14";
- unsigned char encoded[] = "\x72\x04\x25\x02\x12\x14";
- static struct simpletlv_member simple[1] = {
diff --git a/app-emulation/libcacard/libcacard-2.6.0.ebuild b/app-emulation/libcacard/libcacard-2.6.0.ebuild
deleted file mode 100644
index 60300c338e3c..000000000000
--- a/app-emulation/libcacard/libcacard-2.6.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="virtual Common Access Card (CAC) library emulator"
-HOMEPAGE="https://www.spice-space.org/"
-SRC_URI="https://www.spice-space.org/download/libcacard/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
-IUSE="+passthrough static-libs"
-
-RDEPEND=">=dev-libs/nss-3.13
- >=dev-libs/glib-2.22
- passthrough? ( >=sys-apps/pcsc-lite-1.8 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${P}-simpletlv-test-fix.patch"
-)
-
-src_prepare() {
- default
-
- # remove test requiring SoftHSMv2 which is not in the tree atm
- sed -i \
- -e 's|tests/hwtests$(EXEEXT) \($(am__EXEEXT_1)\)|\1|' \
- Makefile.in || die
-}
-
-src_configure() {
- econf \
- $(use_enable passthrough pcsc) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- dodoc docs/*.txt
- use static-libs || find "${ED}"/usr/ -name 'lib*.la' -delete
-}
diff --git a/app-emulation/libcacard/libcacard-2.8.1.ebuild b/app-emulation/libcacard/libcacard-2.8.1.ebuild
new file mode 100644
index 000000000000..11c365e0c4e9
--- /dev/null
+++ b/app-emulation/libcacard/libcacard-2.8.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Virtual Common Access Card (CAC) library emulator"
+HOMEPAGE="https://gitlab.freedesktop.org/spice/libcacard https://www.spice-space.org/"
+SRC_URI="https://www.spice-space.org/download/libcacard/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="+passthrough static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/nss-3.12.8
+ >=dev-libs/glib-2.32
+ passthrough? ( >=sys-apps/pcsc-lite-1.8 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local emesonargs=(
+ -Ddefault_library=$(usex static-libs both shared)
+ $(meson_feature passthrough pcsc)
+ $(meson_use !test disable_tests)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ dodoc docs/*.txt
+}
diff --git a/app-emulation/libcacard/metadata.xml b/app-emulation/libcacard/metadata.xml
index 0fa99318f0a7..1a71034e745b 100644
--- a/app-emulation/libcacard/metadata.xml
+++ b/app-emulation/libcacard/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
@@ -8,4 +8,7 @@
<use>
<flag name="passthrough">Enable smartcard passthrough support via <pkg>sys-apps/pcsc-lite</pkg></flag>
</use>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">spice/libcacard</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/libdsk/Manifest b/app-emulation/libdsk/Manifest
index 948efc2aaff9..085523245587 100644
--- a/app-emulation/libdsk/Manifest
+++ b/app-emulation/libdsk/Manifest
@@ -1 +1 @@
-DIST libdsk-1.5.8.tar.gz 1212684 BLAKE2B 52a2687d8ade0378096215d362df21b6eb477b3304910bb98c56264fb05bec6ad2d2b7254dd132fe50e60d5179b4875a1a91088f8ed93f68886054bf1df060f4 SHA512 6bb332dcd58b88272130a950ed686852f66a1e97030aaa280db3bc65a7f82513d57055c2cc3e653e1e06843c453e46a52ce280b45b42c0bb671d1e0f6d7c9520
+DIST libdsk-1.5.18.tar.gz 1295474 BLAKE2B 36dd2a0c5a53899b721dc46848c79a36b80ebb30d8210eacf7462d5785c607f00b69ca26ea4ec35bd3e03f5203043e6aa0687b2212672b274305e9f5aad8ce6e SHA512 5d845084f6c7791813be7c2afcd34a52cebb217ddcdafe1953fcbd55ce5b7df944e2b3abd253d2a7cd376e6e111f9d6f2e0b6474ceb84a5b5f4dcb5609922d4e
diff --git a/app-emulation/libdsk/files/libdsk-1.5.8-include-sysmacros.patch b/app-emulation/libdsk/files/libdsk-1.5.8-include-sysmacros.patch
deleted file mode 100644
index e52b92bf2e33..000000000000
--- a/app-emulation/libdsk/files/libdsk-1.5.8-include-sysmacros.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -Nuar a/lib/compress.c b/lib/compress.c
---- a/lib/compress.c 2017-02-13 20:34:21.000000000 +0100
-+++ b/lib/compress.c 2018-01-28 15:22:15.571892254 +0100
-@@ -23,6 +23,7 @@
- #include "drvi.h" /* For LINUXFLOPPY and WIN32FLOPPY */
- #include "compi.h"
- #include "comp.h"
-+#include <sys/sysmacros.h>
- /* LibDsk generalised compression support */
- #ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
-diff -Nuar a/lib/drvlinux.c b/lib/drvlinux.c
---- a/lib/drvlinux.c 2017-02-26 01:43:39.000000000 +0100
-+++ b/lib/drvlinux.c 2018-01-28 15:22:08.661892284 +0100
-@@ -26,6 +26,7 @@
-
- #include "drvi.h"
- #include "drvlinux.h"
-+#include <sys/sysmacros.h>
-
- #ifdef LINUXFLOPPY
-
diff --git a/app-emulation/libdsk/libdsk-1.5.8.ebuild b/app-emulation/libdsk/libdsk-1.5.18.ebuild
index 2b4c246fa6d7..6e18e9b1aed0 100644
--- a/app-emulation/libdsk/libdsk-1.5.8.ebuild
+++ b/app-emulation/libdsk/libdsk-1.5.18.ebuild
@@ -1,24 +1,19 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="LIBDSK is a library for accessing discs and disc image files"
-HOMEPAGE="http://www.seasip.info/Unix/LibDsk/"
-SRC_URI="http://www.seasip.info/Unix/LibDsk/${P}.tar.gz"
+HOMEPAGE="https://www.seasip.info/Unix/LibDsk/"
+SRC_URI="https://www.seasip.info/Unix/LibDsk/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64"
IUSE="doc"
-PATCHES=( "${FILESDIR}"/${P}-include-sysmacros.patch )
DOCS=( doc/${PN}.{txt,pdf} )
-src_configure() {
- econf --disable-static
-}
-
src_install() {
default
find "${ED}" -name '*.la' -delete || die
diff --git a/app-emulation/libdsk/metadata.xml b/app-emulation/libdsk/metadata.xml
index 7a38bb900964..115e9d64a669 100644
--- a/app-emulation/libdsk/metadata.xml
+++ b/app-emulation/libdsk/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/app-emulation/libguestfs-appliance/Manifest b/app-emulation/libguestfs-appliance/Manifest
index 2a14246054e3..6f9b2b913935 100644
--- a/app-emulation/libguestfs-appliance/Manifest
+++ b/app-emulation/libguestfs-appliance/Manifest
@@ -1 +1 @@
-DIST appliance-1.38.0.tar.xz 96537604 BLAKE2B 8b425b624dec274f2913ab9ff89cc02fea6c9244d6e3ee64f054d2a91f7959d9dbc03d55e9f5b4f5df835007581a18914b5c790f55b01c3398412ce5a7e9309d SHA512 a423fd54627ffb9c2ae05b26ad60b9089f8119a99d30612a33921a2662ba42332ad0a7a7ad6c33b7042fc02a5c4dc9b563158650c6cb4a3eaaae6b764f7d7082
+DIST appliance-1.46.0.tar.xz 145436856 BLAKE2B d9ed31f533a2772b0f506176b39bfdfdec1421fe4ff7934ccdb1db0cb2644d477211ec1a2d372d7e5dd0a8f278f47a39bff813b7bc4c9a038258a5f6358b4e91 SHA512 842119bdf95dbbd61328891e9bd0b557bed90ba79c6419ee18d1a79cd4a301ea6922339b9e80ac314ff3e16498e9d3c594861aebe8e0fc2db41d285eb8e5d578
diff --git a/app-emulation/libguestfs-appliance/libguestfs-appliance-1.38.0.ebuild b/app-emulation/libguestfs-appliance/libguestfs-appliance-1.46.0.ebuild
index 31e8b16bfd51..b688b1daac9c 100644
--- a/app-emulation/libguestfs-appliance/libguestfs-appliance-1.38.0.ebuild
+++ b/app-emulation/libguestfs-appliance/libguestfs-appliance-1.46.0.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
+
+# Bump with app-emulation/libguestfs and app-emulation/guestfs-tools (if any new release there)
CHECKREQS_DISK_USR=500M
CHECKREQS_DISK_BUILD=500M
@@ -9,20 +11,18 @@ CHECKREQS_DISK_BUILD=500M
inherit check-reqs
DESCRIPTION="VM appliance disk image used in libguestfs package"
-HOMEPAGE="http://libguestfs.org/"
-SRC_URI="http://libguestfs.org/download/binaries/appliance/appliance-${PV}.tar.xz"
+HOMEPAGE="https://libguestfs.org/"
+SRC_URI="https://download.libguestfs.org/binaries/appliance/appliance-${PV}.tar.xz"
+S="${WORKDIR}"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
+KEYWORDS="amd64 ~ppc64 ~x86"
-DEPEND="app-arch/xz-utils"
-# Mixing libguestfs versions causes weird problems. #501588
+BDEPEND="app-arch/xz-utils"
+# Mixing libguestfs versions causes weird problems, bug #501588
RDEPEND="!<app-emulation/libguestfs-${PV}"
-S="${WORKDIR}"
-
src_unpack() {
# We'll unpack the tarball directly into ${D} to speed up install.
# Otherwise we need to duplicate hundreds of data.
@@ -31,8 +31,9 @@ src_unpack() {
src_install() {
dodir /usr/share/guestfs
- cd "${ED}"/usr/share/guestfs
+ cd "${ED}"/usr/share/guestfs || die
unpack ${A}
+
cd appliance || die
dodoc README*
# Don't rm README.* here, at least README.fixed is needed for libguestfs, see
@@ -40,5 +41,10 @@ src_install() {
chmod 755 . || die
chmod 644 * || die
- newenvd "${FILESDIR}"/env.file 99"${PN}"
+ newenvd "${FILESDIR}"/env.file 99${PN}
+}
+
+pkg_postinst() {
+ # bug #776790
+ elog "Please run . ${EROOT}/etc/profile before attempting to use this package!"
}
diff --git a/app-emulation/libguestfs-appliance/metadata.xml b/app-emulation/libguestfs-appliance/metadata.xml
index daba43ce47c2..1e35cd5e94fd 100644
--- a/app-emulation/libguestfs-appliance/metadata.xml
+++ b/app-emulation/libguestfs-appliance/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<!--
-<maintainer type="person">
- <email>rich@annexia.org</email>
- <name>Richard Jones</name>
- <description>Upstream - please CC on bugs that concerns upstream</description>
-</maintainer>
--->
+ <!-- maintainer-needed -->
+ <upstream>
+ <maintainer>
+ <email>rjones@redhat.com</email>
+ <name>Richard Jones</name>
+ </maintainer>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/libguestfs/Manifest b/app-emulation/libguestfs/Manifest
index 7a223e5b5881..5e4dfc6354e9 100644
--- a/app-emulation/libguestfs/Manifest
+++ b/app-emulation/libguestfs/Manifest
@@ -1 +1 @@
-DIST libguestfs-1.38.6.tar.gz 23284845 BLAKE2B 005aaef731e1711dc5f4552dbecff80f2c7a79fd8a13f6b79675b0a381dcd7b9ad16867ed0dda73a9f20ab0a7e03892b5ebffa5436b870613233fbd2024ca846 SHA512 20a254f1d6a4628a11f42c08947d1165430a020030da7e6ee7b22859b552245e8f3822a2d86c60055878ca00d8f17d346a0ad8274e8f0bb03ef4a9410b9630f1
+DIST libguestfs-1.48.6.tar.gz 19179600 BLAKE2B 22359ed4b55e29f985dbbbc4f0337eaec32f21a1413bd778656c3f0270891bec520a0b9590e104836eaf9367aeb9ac681b0bf85852fb7a2059da3f7062bc5111 SHA512 7d929db183fbb1d4d1c9159f28871ab4f1bd0be5b3d9fbc5137271666f50c067fd0906674cb1a52c1e070c11a18da4d2aa11bc64ddabda5cac54e72252c6abf2
diff --git a/app-emulation/libguestfs/files/1.38/0001-Fix-install-failure-when-not-built-with-OCaml-suppor.patch b/app-emulation/libguestfs/files/1.38/0001-Fix-install-failure-when-not-built-with-OCaml-suppor.patch
deleted file mode 100644
index cb608beca08f..000000000000
--- a/app-emulation/libguestfs/files/1.38/0001-Fix-install-failure-when-not-built-with-OCaml-suppor.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3b06e1cbb25615495ef108d6ee194bb718e46408 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Fri, 7 Dec 2018 11:21:25 +0100
-Subject: [PATCH 1/2] Fix install failure when not built with OCaml support
-
-Makefile rules in po/ require builder/index-parse.c to be generated to
-allow translation utilities to work on it, however builder/ is
-completely masked behind OCaml conditional build even if some tools do
-not require it and proper guards are in place already.
-
-Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1614502
----
- Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index cc363341f..5d96093a1 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -164,7 +164,6 @@ SUBDIRS += common/mlvisit
- SUBDIRS += common/mlxml
- SUBDIRS += common/mltools
- SUBDIRS += customize
--SUBDIRS += builder builder/templates
- SUBDIRS += get-kernel
- SUBDIRS += resize
- SUBDIRS += sparsify
-@@ -178,6 +177,9 @@ SUBDIRS += dib
- endif
- endif
-
-+# Tools mixed with more OCAML based tools
-+SUBDIRS += builder builder/templates
-+
- # Perl tools.
- if HAVE_TOOLS
- SUBDIRS += tools
---
-2.19.2
-
diff --git a/app-emulation/libguestfs/files/1.38/0002-Loosen-build-time-requirement-on-bash-completion.patch b/app-emulation/libguestfs/files/1.38/0002-Loosen-build-time-requirement-on-bash-completion.patch
deleted file mode 100644
index e68a4b0bded4..000000000000
--- a/app-emulation/libguestfs/files/1.38/0002-Loosen-build-time-requirement-on-bash-completion.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From b8a31fcfe81a680ffed1fa0879ac20a3e0e8753a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Fri, 7 Dec 2018 12:14:15 +0100
-Subject: [PATCH 2/2] Loosen build time requirement on bash-completion
-
-Distributions might avoid pulling bash-completion during build as it is
-an optional feature and would only make sense at runtime anyway. Since
-this setting is well-known across a given distribution, allow them to
-provide the value and avoid the dependency.
----
- m4/guestfs-bash-completion.m4 | 21 ++++++++++-----------
- 1 file changed, 10 insertions(+), 11 deletions(-)
-
-diff --git a/m4/guestfs-bash-completion.m4 b/m4/guestfs-bash-completion.m4
-index 1975b8c03..9a38ab2d6 100644
---- a/m4/guestfs-bash-completion.m4
-+++ b/m4/guestfs-bash-completion.m4
-@@ -16,14 +16,13 @@
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- dnl Bash completion.
--PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], [
-- bash_completion=yes
-- AC_MSG_CHECKING([for bash-completions directory])
-- BASH_COMPLETIONS_DIR="`pkg-config --variable=completionsdir bash-completion`"
-- AC_MSG_RESULT([$BASH_COMPLETIONS_DIR])
-- AC_SUBST([BASH_COMPLETIONS_DIR])
--],[
-- bash_completion=no
-- AC_MSG_WARN([bash-completion not installed])
--])
--AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test "x$bash_completion" = "xyes"])
-+AC_ARG_WITH([bashcompletiondir],
-+ AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
-+ [],
-+ [AS_IF([$($PKG_CONFIG --exists bash-completion)], [
-+ with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
-+ ] , [
-+ with_bashcompletiondir=${datadir}/bash-completion/completions
-+ ])])
-+AC_SUBST([BASH_COMPLETIONS_DIR], [$with_bashcompletiondir])
-+AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test -n "$with_bashcompletiondir"])
---
-2.19.2
-
diff --git a/app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild b/app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild
deleted file mode 100644
index 718edf8e60d5..000000000000
--- a/app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit autotools bash-completion-r1 l10n linux-info lua-single perl-functions python-single-r1 xdg-utils flag-o-matic
-
-MY_PV_1="$(ver_cut 1-2)"
-MY_PV_2="$(ver_cut 2)"
-[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development"
-
-DESCRIPTION="Tools for accessing, inspect and modifying virtual machine (VM) disk images"
-HOMEPAGE="https://libguestfs.org/"
-SRC_URI="https://libguestfs.org/download/${MY_PV_1}-${SD}/${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0/"${MY_PV_1}""
-
-KEYWORDS="~amd64"
-IUSE="doc erlang +fuse gtk inspect-icons introspection libvirt lua ocaml +perl python ruby selinux static-libs systemtap test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Failures - doc
-
-# FIXME: selinux support is automagic
-COMMON_DEPEND="
- sys-libs/ncurses:0=
- sys-devel/gettext
- >=app-misc/hivex-1.3.1
- dev-libs/libpcre:3
- app-arch/cpio
- dev-lang/perl:=
- app-cdr/cdrtools
- >=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps]
- sys-apps/fakeroot
- sys-apps/file
- libvirt? ( app-emulation/libvirt )
- dev-libs/libxml2:2=
- >=sys-apps/fakechroot-2.8
- >=app-admin/augeas-1.8.0
- sys-fs/squashfs-tools:*
- dev-libs/libconfig:=
- sys-libs/readline:0=
- >=sys-libs/db-4.6:*
- app-arch/xz-utils
- app-arch/lzma
- app-crypt/gnupg
- app-arch/unzip[natspec]
- perl? (
- virtual/perl-ExtUtils-MakeMaker
- >=dev-perl/Sys-Virt-0.2.4
- virtual/perl-Getopt-Long
- virtual/perl-Data-Dumper
- dev-perl/libintl-perl
- >=app-misc/hivex-1.3.1[perl?]
- dev-perl/String-ShellQuote
- )
- python? ( ${PYTHON_DEPS} )
- fuse? ( sys-fs/fuse:= )
- introspection? (
- >=dev-libs/glib-2.26:2
- >=dev-libs/gobject-introspection-1.30.0:=
- )
- selinux? (
- sys-libs/libselinux
- sys-libs/libsemanage
- )
- systemtap? ( dev-util/systemtap )
- ocaml? ( >=dev-lang/ocaml-4.03:=[ocamlopt] )
- erlang? ( dev-lang/erlang )
- inspect-icons? (
- media-libs/netpbm
- media-gfx/icoutils
- )
- virtual/acl
- sys-libs/libcap
- lua? ( ${LUA_DEPS} )
- >=dev-libs/yajl-2.0.4
- gtk? (
- sys-apps/dbus
- x11-libs/gtk+:3
- )
- net-libs/libtirpc:=
- sys-libs/libxcrypt:=
- "
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-lang/ocaml-4.03:=[ocamlopt]
- dev-ml/findlib[ocamlopt]
- || (
- <dev-ml/ocaml-gettext-0.4.2
- dev-ml/ocaml-gettext-stub[ocamlopt]
- )
- dev-ml/ounit2[ocamlopt]
- doc? ( app-text/po4a )
- ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake )
- test? ( introspection? ( dev-libs/gjs ) )
- "
-RDEPEND="${COMMON_DEPEND}
- app-emulation/libguestfs-appliance
- "
-# Upstream build scripts compile and install Lua bindings for the ABI version
-# obtained by running 'lua' on the build host
-BDEPEND="lua? ( ${LUA_DEPS} )"
-
-DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )
-
-PATCHES=(
- "${FILESDIR}"/${MY_PV_1}/
-)
-
-pkg_setup() {
- CONFIG_CHECK="~KVM ~VIRTIO"
- [ -n "${CONFIG_CHECK}" ] && check_extra_config;
-
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- xdg_environment_reset
- eautoreconf
-}
-
-src_configure() {
- # Disable feature test for kvm for more reason
- # i.e: not loaded module in __build__ time,
- # build server not supported kvm, etc. ...
- #
- # In fact, this feature is virtio support and requires
- # configured kernel.
- export vmchannel_test=no
-
- # bug #703118
- append-ldflags "-L/usr/$(get_libdir)/xcrypt"
-
- econf \
- --with-bashcompletiondir="$(get_bashcompdir)" \
- $(use_with libvirt) \
- --disable-appliance \
- --disable-daemon \
- --with-extra="-gentoo" \
- --with-readline \
- --disable-php \
- $(use_enable python) \
- --without-java \
- $(use_enable perl) \
- $(use_enable fuse) \
- $(use_enable ocaml) \
- $(use_enable ruby) \
- --disable-haskell \
- --disable-golang \
- $(use_enable introspection gobject) \
- $(use_enable introspection) \
- $(use_enable erlang) \
- $(use_enable static-libs static) \
- $(use_enable systemtap probes) \
- $(use_enable lua) \
- --with-gtk=$(usex gtk 3 no) \
- $(usex doc '' PO4A=no)
-}
-
-src_install() {
- strip-linguas -i po
- emake DESTDIR="${D}" install "LINGUAS=""${LINGUAS}"""
- find "${ED}" -name '*.la' -delete || die
- use perl && perl_delete_localpod
-}
-
-pkg_postinst() {
- if ! use gtk ; then
- einfo "virt-p2v NOT installed"
- fi
- if ! use ocaml ; then
- einfo "Ocaml based tools and bindings (sysprep, ...) NOT installed"
- fi
- if ! use perl ; then
- einfo "Perl based tools NOT build"
- fi
-}
diff --git a/app-emulation/libguestfs/libguestfs-1.48.6-r1.ebuild b/app-emulation/libguestfs/libguestfs-1.48.6-r1.ebuild
new file mode 100644
index 000000000000..5ebf7d85f162
--- /dev/null
+++ b/app-emulation/libguestfs/libguestfs-1.48.6-r1.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with app-emulation/guestfs-tools and app-emulation/libguestfs-appliance (if any new release there)
+
+LUA_COMPAT=( lua5-1 )
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools flag-o-matic linux-info lua-single perl-functions python-single-r1 strip-linguas toolchain-funcs
+
+MY_PV_1="$(ver_cut 1-2)"
+MY_PV_2="$(ver_cut 2)"
+[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development"
+
+DESCRIPTION="Tools for accessing, inspecting, and modifying virtual machine (VM) disk images"
+HOMEPAGE="https://libguestfs.org/"
+SRC_URI="https://download.libguestfs.org/${MY_PV_1}-${SD}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0/${MY_PV_1}"
+if [[ ${SD} == "stable" ]] ; then
+ KEYWORDS="amd64 ~ppc64 ~x86"
+fi
+IUSE="doc erlang +fuse gtk inspect-icons introspection libvirt lua +ocaml +perl python ruby selinux static-libs systemtap test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+# Failures - doc
+COMMON_DEPEND="
+ >=app-admin/augeas-1.8.0
+ app-alternatives/cpio
+ app-arch/lzma
+ app-arch/rpm
+ app-arch/unzip[natspec]
+ app-arch/xz-utils
+ app-forensics/yara
+ app-cdr/cdrtools
+ app-crypt/gnupg
+ >=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps]
+ >=app-misc/hivex-1.3.1
+ dev-lang/perl:=
+ dev-libs/libconfig:=
+ dev-libs/libpcre2
+ dev-libs/libxml2:2=
+ dev-libs/jansson:=
+ >=dev-libs/yajl-2.0.4
+ net-libs/libtirpc:=
+ sys-libs/ncurses:0=
+ >=sys-apps/fakechroot-2.8
+ sys-apps/fakeroot
+ sys-apps/file
+ sys-devel/gettext
+ sys-fs/squashfs-tools:*
+ sys-libs/libcap
+ sys-libs/readline:=
+ virtual/acl
+ virtual/libcrypt:=
+ erlang? ( dev-lang/erlang )
+ perl? (
+ virtual/perl-ExtUtils-MakeMaker
+ >=dev-perl/Sys-Virt-0.2.4
+ virtual/perl-Getopt-Long
+ virtual/perl-Data-Dumper
+ dev-perl/libintl-perl
+ >=app-misc/hivex-1.3.1[perl?]
+ dev-perl/String-ShellQuote
+ )
+ python? ( ${PYTHON_DEPS} )
+ fuse? ( sys-fs/fuse:0 )
+ gtk? (
+ sys-apps/dbus
+ x11-libs/gtk+:3
+ )
+ introspection? (
+ >=dev-libs/glib-2.26:2
+ >=dev-libs/gobject-introspection-1.30.0:=
+ )
+ inspect-icons? (
+ media-libs/netpbm
+ media-gfx/icoutils
+ )
+ libvirt? ( app-emulation/libvirt )
+ lua? ( ${LUA_DEPS} )
+ ocaml? ( >=dev-lang/ocaml-4.03:=[ocamlopt] )
+ selinux? (
+ sys-libs/libselinux:=
+ sys-libs/libsemanage
+ )
+ systemtap? ( dev-debug/systemtap )
+"
+# Some OCaml is always required
+# bug #729674
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-lang/ocaml-4.03:=[ocamlopt]
+ dev-util/gperf
+ dev-ml/findlib[ocamlopt]
+ doc? ( app-text/po4a )
+ ocaml? (
+ dev-ml/ounit2[ocamlopt]
+ || (
+ <dev-ml/ocaml-gettext-0.4.2
+ dev-ml/ocaml-gettext-stub[ocamlopt]
+ )
+ )
+ ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake )
+ test? ( introspection? ( dev-libs/gjs ) )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ app-emulation/libguestfs-appliance
+ acct-group/kvm
+"
+# Upstream build scripts compile and install Lua bindings for the ABI version
+# obtained by running 'lua' on the build host
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ lua? ( ${LUA_DEPS} )
+"
+
+DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )
+
+PATCHES=(
+ #"${FILESDIR}"/${MY_PV_1}/
+ #"${FILESDIR}"/1.44/
+)
+
+pkg_setup() {
+ CONFIG_CHECK="~KVM ~VIRTIO"
+ [[ -n "${CONFIG_CHECK}" ]] && check_extra_config
+
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #794877
+ tc-export AR
+
+ # Needs both bison+flex (bug #915339, see configure too)
+ unset LEX YACC
+
+ # Skip Bash test
+ # (See 13-test-suite.log in linked bug)
+ # bug #794874
+ export SKIP_TEST_COMPLETE_IN_SCRIPT_SH=1
+
+ # Need to investigate (fails w/ 1.48.4)
+ export SKIP_TEST_QEMU_DRIVE_SH=1
+ export SKIP_TEST_BIG_HEAP=1
+ export SKIP_TEST_NOEXEC_STACK_PL=1
+
+ # Need to be in KVM group
+ export SKIP_TEST_MOUNTABLE_INSPECT_SH=1
+
+ # Missing test data (Fedora image)
+ export SKIP_TEST_JOURNAL_PL=1
+
+ # Disable feature test for kvm for more reason
+ # i.e: not loaded module in __build__ time,
+ # build server not supported kvm, etc. ...
+ #
+ # In fact, this feature is virtio support and requires
+ # configured kernel.
+ export vmchannel_test=no
+
+ # Give a nudge to help find libxcrypt[-system]
+ # We have a := dep on virtual/libcrypt to ensure this doesn't become stale.
+ # bug #703118, bug #789354
+ if ! has_version 'sys-libs/libxcrypt[system]' ; then
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ append-ldflags "-Wl,-R${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ fi
+
+ # Avoid automagic SELinux dependency
+ export ac_cv_header_selinux_selinux_h=$(usex selinux)
+
+ # Test suite at least has a bunch of bashisms
+ SHELL="${BROOT}"/bin/bash CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --disable-appliance \
+ --disable-daemon \
+ --disable-haskell \
+ --disable-golang \
+ --disable-rust \
+ --disable-php \
+ --without-java \
+ --with-extra="-gentoo" \
+ --with-readline \
+ $(usex doc '' PO4A=no) \
+ $(use_enable ocaml) \
+ $(use_enable erlang) \
+ $(use_enable fuse) \
+ $(use_enable introspection gobject) \
+ $(use_enable introspection) \
+ $(use_with libvirt) \
+ $(use_enable lua) \
+ $(use_enable python) \
+ $(use_enable perl) \
+ $(use_enable ruby) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap probes)
+}
+
+src_test() {
+ local -x LIBGUESTFS_DEBUG=1
+ local -x LIBGUESTFS_TRACE=1
+ local -x LIBVIRT_DEBUG=1
+
+ # Try this?
+ #emake quickcheck
+
+ default
+}
+
+src_install() {
+ strip-linguas -i po
+
+ emake DESTDIR="${D}" install "LINGUAS=""${LINGUAS}"""
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if use perl ; then
+ perl_delete_localpod
+
+ # Workaround Build.PL for now
+ doman "${ED}"/usr/man/man3/Sys::Guestfs.3pm
+ rm -rf "${ED}"/usr/man || die
+ fi
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ einfo "Please ensure you are in the 'kvm' group for decent performance!"
+
+ if ! use gtk ; then
+ einfo "virt-p2v NOT installed"
+ fi
+
+ einfo "Note that common tools like virt-resize are now part of app-emulation/guestfs-tools"
+}
diff --git a/app-emulation/libguestfs/metadata.xml b/app-emulation/libguestfs/metadata.xml
index c8cefa609d7b..67f481aca2fb 100644
--- a/app-emulation/libguestfs/metadata.xml
+++ b/app-emulation/libguestfs/metadata.xml
@@ -1,19 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<!--
-<maintainer type="person">
- <email>rich@annexia.org</email>
- <name>Richard Jones</name>
- <description>Upstream - please CC on bugs that concerns upstream</description>
-</maintainer>
--->
-<use>
- <flag name="erlang">Build Erlang bindings</flag>
- <flag name="fuse">Enable image mount support via fuse</flag>
- <flag name="inspect-icons">Use <pkg>media-gfx/icoutils</pkg> for acces icon file in image and inspect it</flag>
- <flag name="libvirt">Use <pkg>app-emulation/libvirt</pkg> to manipulate VMs</flag>
- <flag name="systemtap">Use <pkg>dev-util/systemtap</pkg> to inspect VM via "probes" way</flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="erlang">Build Erlang bindings</flag>
+ <flag name="fuse">Enable image mount support via <pkg>sys-fs/fuse</pkg></flag>
+ <flag name="inspect-icons">Use <pkg>media-gfx/icoutils</pkg> for accessing/inspecting icon file within images</flag>
+ <flag name="libvirt">Use <pkg>app-emulation/libvirt</pkg> to manipulate VMs</flag>
+ <flag name="systemtap">Use <pkg>dev-debug/systemtap</pkg> to inspect VM via "probes"</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">libguestfs/libguestfs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/libspectrum/Manifest b/app-emulation/libspectrum/Manifest
index f5e4ed8bbe5b..9ac9f648158c 100644
--- a/app-emulation/libspectrum/Manifest
+++ b/app-emulation/libspectrum/Manifest
@@ -1,2 +1 @@
-DIST libspectrum-1.4.4.tar.gz 568684 BLAKE2B b6ab4fc4173e7de9a7c3b14fda03420a56f02c5c590770158443bc37bee99a55dd3bdf6864f8ca33adb5ed59f4abd5c5b97736456ba2e6e6aaa2b49e07097cc4 SHA512 83bb9242010d49898531bb62e0d4d55439b0b6a548b57a7932f074429aca70cf252dfb195e9751384510b08c98bd6bc8eefd8cb3f82b0c8d07fa245ba66e9fe2
DIST libspectrum-1.5.0.tar.gz 602354 BLAKE2B fc62437ececfe2c86b475efa512bf7aa7c5af182e16a00f75f77f78656fca01d46a71ac90b38008ff46e5fd0710b1c671b283d65544b5556d98e8c5b66525c35 SHA512 55f4cf623bc6c469a0fd80751ada694259d834c19d98400ba244aabf2ac21fed7cdd6de069d9ed7326e099bd3bd62c42cfb8a669b64ae002f90a52563fa2dcd1
diff --git a/app-emulation/libspectrum/libspectrum-1.4.4.ebuild b/app-emulation/libspectrum/libspectrum-1.4.4.ebuild
deleted file mode 100644
index f830494fd23b..000000000000
--- a/app-emulation/libspectrum/libspectrum-1.4.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="audiofile bzip2 gcrypt zlib"
-
-RDEPEND="dev-libs/glib:2
- audiofile? ( >=media-libs/audiofile-0.3.6 )
- bzip2? ( >=app-arch/bzip2-1.0 )
- gcrypt? ( dev-libs/libgcrypt:0 )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}
- dev-lang/perl
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/remove-local-prefix.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --disable-static
- $(use_with audiofile libaudiofile)
- $(use_with bzip2)
- $(use_with gcrypt libgcrypt)
- $(use_with zlib)
- )
- econf "${myconf[@]}"
-}
-
-src_test() {
- # check only builds test executable but doesn't run it
- emake check
- ./test/test || die
-}
-
-src_install() {
- default
- dodoc doc/*.txt *.txt
-}
diff --git a/app-emulation/libspectrum/libspectrum-1.5.0.ebuild b/app-emulation/libspectrum/libspectrum-1.5.0.ebuild
index aec492d2edec..7221cd869171 100644
--- a/app-emulation/libspectrum/libspectrum-1.5.0.ebuild
+++ b/app-emulation/libspectrum/libspectrum-1.5.0.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
DESCRIPTION="Spectrum emulation library"
HOMEPAGE="http://fuse-emulator.sourceforge.net/libspectrum.php"
-SRC_URI="mirror://sourceforge/fuse-emulator/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/fuse-emulator/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86"
IUSE="audiofile bzip2 gcrypt zlib"
RDEPEND="dev-libs/glib:2
@@ -34,7 +34,6 @@ src_prepare() {
src_configure() {
local myconf=(
- --disable-static
$(use_with audiofile libaudiofile)
$(use_with bzip2)
$(use_with gcrypt libgcrypt)
@@ -52,4 +51,5 @@ src_test() {
src_install() {
default
dodoc doc/*.txt *.txt
+ find "${ED}" -type f -name "*.la" -delete || die
}
diff --git a/app-emulation/libspectrum/metadata.xml b/app-emulation/libspectrum/metadata.xml
index b019c6b4ecf0..b5a8a89f49af 100644
--- a/app-emulation/libspectrum/metadata.xml
+++ b/app-emulation/libspectrum/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
diff --git a/app-emulation/libvirt-glib/Manifest b/app-emulation/libvirt-glib/Manifest
index 01ec657f55d8..7d53986ff7c6 100644
--- a/app-emulation/libvirt-glib/Manifest
+++ b/app-emulation/libvirt-glib/Manifest
@@ -1,2 +1,2 @@
-DIST libvirt-glib-3.0.0.tar.gz 899180 BLAKE2B ef10b3d9bad48e49dd1898733aacb2f51f1826330eda9c63a7f8df5f11c96812f8cc7fe6a867961efa85a433f45c934d75cf605eb523ec723459da4646335b1a SHA512 b9e7d782c25b5c3a9b2829f1be8162352438ab3505510a1ca7dd64d741eaab158dc9206fdd4b0e3e27b0c049e4bcfc47db0c9a7fa1a84888864e23d3c35c079e
DIST libvirt-glib-4.0.0.tar.xz 161836 BLAKE2B e196d1f02f6f202b1883500241bbfda963b34ee12bd945b3fa897f84f55a049f98e0429132ccfad7168e5ba2b41245e9e7e3817a7f057e0dc40b674ca6c9b661 SHA512 e1b99e80aa671fa5a4d7f7f7a4ea70ce7c5fdaf97574407f79aa11a75dd177e1e3f92027728a83ded62e305852bbda76eb90326aaa1f5f19b77272b008351810
+DIST libvirt-glib-5.0.0.tar.xz 169416 BLAKE2B e80ac0cd8d39432d554e566f4e1e045ada14e66917735c1c8a6306a65272216d095f21170e1b5294e09f41aaf2a3259ad395b134087a1bc13b176afd675dcc26 SHA512 bb09474c0d6d4bc00844e7a1ede882f0834d0810804b70b8f8607f2e764f72cc9da14883794e58dd53640433ffaecc13dd3c1c147b82e86fa2fdca6e5903933c
diff --git a/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-Make-xmlError-structs-constant.patch b/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-Make-xmlError-structs-constant.patch
new file mode 100644
index 000000000000..654436a65d99
--- /dev/null
+++ b/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-Make-xmlError-structs-constant.patch
@@ -0,0 +1,64 @@
+From 56acbe8a0765a02418f80fb3599b3cf7160ef446 Mon Sep 17 00:00:00 2001
+Message-ID: <56acbe8a0765a02418f80fb3599b3cf7160ef446.1701156704.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Sat, 25 Nov 2023 07:13:33 +0100
+Subject: [glib PATCH 1/2] Make xmlError structs constant
+
+In libxml2 commits v2.12.0~14 and v2.12.0~77 the API changed so
+that:
+
+1) xmlGetLastError() returns pointer to a constant xmlError
+ struct, and
+
+2) xmlSetStructuredErrorFunc() changed the signature of callback
+ (gvir_xml_structured_error_nop()), it too is passed pointer to
+ a constant xmlError struct.
+
+But of course, older libxml2 expects different callback
+signature. Therefore, we need to typecast it anyway.
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ libvirt-gconfig/libvirt-gconfig-helpers.c | 2 +-
+ libvirt-gconfig/libvirt-gconfig-object.c | 5 +++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.c b/libvirt-gconfig/libvirt-gconfig-helpers.c
+index e8f9664..37075e3 100644
+--- a/libvirt-gconfig/libvirt-gconfig-helpers.c
++++ b/libvirt-gconfig/libvirt-gconfig-helpers.c
+@@ -41,7 +41,7 @@ static GError *gvir_config_error_new_literal(GQuark domain,
+ gint code,
+ const gchar *message)
+ {
+- xmlErrorPtr xerr = xmlGetLastError();
++ const xmlError *xerr = xmlGetLastError();
+
+ if (!xerr)
+ return NULL;
+diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c
+index eb8763e..1fcc667 100644
+--- a/libvirt-gconfig/libvirt-gconfig-object.c
++++ b/libvirt-gconfig/libvirt-gconfig-object.c
+@@ -59,7 +59,7 @@ static void gvir_xml_generic_error_nop(void *userData G_GNUC_UNUSED,
+ }
+
+ static void gvir_xml_structured_error_nop(void *userData G_GNUC_UNUSED,
+- xmlErrorPtr error G_GNUC_UNUSED)
++ const xmlError *error G_GNUC_UNUSED)
+ {
+ }
+
+@@ -197,7 +197,8 @@ void gvir_config_object_validate(GVirConfigObject *config,
+ priv = config->priv;
+
+ xmlSetGenericErrorFunc(NULL, gvir_xml_generic_error_nop);
+- xmlSetStructuredErrorFunc(NULL, gvir_xml_structured_error_nop);
++ /* Drop this typecast when >=libxml2-2.12.0 is required */
++ xmlSetStructuredErrorFunc(NULL, (xmlStructuredErrorFunc) gvir_xml_structured_error_nop);
+
+ if (!priv->node) {
+ gvir_config_set_error_literal(err,
+--
+2.41.0
+
diff --git a/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-libvirt-gconfig-Add-more-libxml-includes.patch b/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-libvirt-gconfig-Add-more-libxml-includes.patch
new file mode 100644
index 000000000000..7a13eb211e20
--- /dev/null
+++ b/app-emulation/libvirt-glib/files/libvirt-glib-4.0.0-libvirt-gconfig-Add-more-libxml-includes.patch
@@ -0,0 +1,50 @@
+From bcc82de1d74057f6d124c2eaff0ac97cbbf52657 Mon Sep 17 00:00:00 2001
+Message-ID: <bcc82de1d74057f6d124c2eaff0ac97cbbf52657.1701156704.git.mprivozn@redhat.com>
+In-Reply-To: <56acbe8a0765a02418f80fb3599b3cf7160ef446.1701156704.git.mprivozn@redhat.com>
+References: <56acbe8a0765a02418f80fb3599b3cf7160ef446.1701156704.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Sat, 25 Nov 2023 07:15:46 +0100
+Subject: [glib PATCH 2/2] libvirt-gconfig: Add more libxml/ includes
+
+In its 2.12.0 release, libxml reworked their header files (some
+might even call it cleaning up, I call it API incompatible
+change) and now we don't get all declarations we need by just
+including one file. Add missing includes.
+
+Resolves: https://gitlab.com/libvirt/libvirt-glib/-/issues/6
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ libvirt-gconfig/libvirt-gconfig-helpers.c | 1 +
+ libvirt-gconfig/libvirt-gconfig-object.c | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/libvirt-gconfig/libvirt-gconfig-helpers.c b/libvirt-gconfig/libvirt-gconfig-helpers.c
+index 37075e3..4dbb177 100644
+--- a/libvirt-gconfig/libvirt-gconfig-helpers.c
++++ b/libvirt-gconfig/libvirt-gconfig-helpers.c
+@@ -25,6 +25,7 @@
+
+ #include <string.h>
+
++#include <libxml/parser.h>
+ #include <libxml/xmlerror.h>
+ #include <glib/gi18n-lib.h>
+
+diff --git a/libvirt-gconfig/libvirt-gconfig-object.c b/libvirt-gconfig/libvirt-gconfig-object.c
+index 1fcc667..4dd189d 100644
+--- a/libvirt-gconfig/libvirt-gconfig-object.c
++++ b/libvirt-gconfig/libvirt-gconfig-object.c
+@@ -25,7 +25,10 @@
+
+ #include <string.h>
+
++#include <libxml/tree.h>
++#include <libxml/entities.h>
+ #include <libxml/relaxng.h>
++
+ #include <glib/gi18n-lib.h>
+
+ #include "libvirt-gconfig/libvirt-gconfig.h"
+--
+2.41.0
+
diff --git a/app-emulation/libvirt-glib/libvirt-glib-3.0.0.ebuild b/app-emulation/libvirt-glib/libvirt-glib-3.0.0.ebuild
deleted file mode 100644
index 4ac16f7d9556..000000000000
--- a/app-emulation/libvirt-glib/libvirt-glib-3.0.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit gnome2 vala
-
-DESCRIPTION="GLib and GObject mappings for libvirt"
-HOMEPAGE="http://libvirt.org/git/?p=libvirt-glib.git"
-SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="+introspection nls +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- dev-libs/libxml2:2
- >=app-emulation/libvirt-1.2.6:=
- >=dev-libs/glib-2.38.0:2
- introspection? ( >=dev-libs/gobject-introspection-1.36.0:= )"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- dev-util/gtk-doc-am
- >=dev-util/intltool-0.35.0
- virtual/pkgconfig
- vala? ( $(vala_depend) )"
-
-src_prepare() {
- gnome2_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --disable-test-coverage \
- --disable-static \
- $(use_enable introspection) \
- $(use_enable nls) \
- $(use_enable vala)
-}
diff --git a/app-emulation/libvirt-glib/libvirt-glib-4.0.0.ebuild b/app-emulation/libvirt-glib/libvirt-glib-4.0.0.ebuild
index 15bc2925d9cf..c1c823159096 100644
--- a/app-emulation/libvirt-glib/libvirt-glib-4.0.0.ebuild
+++ b/app-emulation/libvirt-glib/libvirt-glib-4.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,29 +8,34 @@ inherit meson vala
DESCRIPTION="GLib and GObject mappings for libvirt"
HOMEPAGE="https://libvirt.org/ https://gitlab.com/libvirt/libvirt-glib/"
SRC_URI="https://libvirt.org/sources/glib/${P}.tar.xz"
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ppc64 x86"
IUSE="gtk-doc +introspection test +vala"
RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
-BDEPEND="
- dev-util/glib-utils
- >=dev-util/intltool-0.35.0
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
- vala? ( $(vala_depend) )
-"
RDEPEND="
>=dev-libs/libxml2-2.9.1
>=app-emulation/libvirt-1.2.8:=
>=dev-libs/glib-2.48.0:2
introspection? ( >=dev-libs/gobject-introspection-1.48.0:= )
"
-
DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.0-Make-xmlError-structs-constant.patch
+ "${FILESDIR}"/${PN}-4.0.0-libvirt-gconfig-Add-more-libxml-includes.patch
+)
+
src_prepare() {
default
use vala && vala_src_prepare
diff --git a/app-emulation/libvirt-glib/libvirt-glib-5.0.0.ebuild b/app-emulation/libvirt-glib/libvirt-glib-5.0.0.ebuild
new file mode 100644
index 000000000000..8b22083a5ab3
--- /dev/null
+++ b/app-emulation/libvirt-glib/libvirt-glib-5.0.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson vala
+
+DESCRIPTION="GLib and GObject mappings for libvirt"
+HOMEPAGE="https://libvirt.org/ https://gitlab.com/libvirt/libvirt-glib/"
+SRC_URI="https://libvirt.org/sources/glib/${P}.tar.xz"
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="gtk-doc +introspection test +vala"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.9.1
+ >=app-emulation/libvirt-2.3.0:=
+ >=dev-libs/glib-2.48.0:2
+ introspection? ( >=dev-libs/gobject-introspection-1.48.0:= )
+"
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ default
+ use vala && vala_src_prepare
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature gtk-doc docs)
+ $(meson_feature introspection)
+ $(meson_feature test tests)
+ $(meson_feature vala vapi)
+ )
+
+ meson_src_configure
+}
diff --git a/app-emulation/libvirt-glib/metadata.xml b/app-emulation/libvirt-glib/metadata.xml
index 8f96b900ccf3..08a5f06bdf97 100644
--- a/app-emulation/libvirt-glib/metadata.xml
+++ b/app-emulation/libvirt-glib/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">libvirt/libvirt-glib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/libvirt-snmp/Manifest b/app-emulation/libvirt-snmp/Manifest
deleted file mode 100644
index 29aa01ee3da6..000000000000
--- a/app-emulation/libvirt-snmp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libvirt-snmp-0.0.4.tar.gz 157859 BLAKE2B e2c8fcdd97ba9b55bd4d318c63f7738024c1360ee10aa4e685c2ea6ca02478206febff30f3e1a82eb1a2dadaa52a377cfbce538e12e33f4ea2fe10b1a089945d SHA512 dbf47e7983f9bd6fcff205fffd1f6006268cca774cf427d39dec84dc7de37b545c0dfcbb2c6f171f55d73487cdec13341097137e24de2dea58ce90494d281162
diff --git a/app-emulation/libvirt-snmp/files/libvirt-snmp.confd b/app-emulation/libvirt-snmp/files/libvirt-snmp.confd
deleted file mode 100644
index f1685bb5e9d9..000000000000
--- a/app-emulation/libvirt-snmp/files/libvirt-snmp.confd
+++ /dev/null
@@ -1,6 +0,0 @@
-
-# Specify the URI where your libvirt instance is listening
-LIBVIRT_DEFAULT_URI="qemu:///system"
-
-# additional options
-LIBVIRT_SNMP_OPTIONS=""
diff --git a/app-emulation/libvirt-snmp/files/libvirt-snmp.initd-r1 b/app-emulation/libvirt-snmp/files/libvirt-snmp.initd-r1
deleted file mode 100644
index 27b877991ae2..000000000000
--- a/app-emulation/libvirt-snmp/files/libvirt-snmp.initd-r1
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need snmpd
- use snmptrapd
- use libvirtd
-}
-
-start() {
- ebegin "Starting libvirt subagent"
- start-stop-daemon --start \
- --env LIBVIRT_DEFAULT_URI="${LIBVIRT_DEFAULT_URI}" \
- --exec /usr/bin/libvirtMib_subagent \
- -- ${LIBVIRT_SNMP_OPTIONS}
- eend $?
-}
-
-stop() {
- ebegin "Stopping libvirt subagent"
- # "--exec /usr/bin/libvirtMib_subagent" does not work and the name gets truncated
- start-stop-daemon --stop \
- --name libvirtMib_suba
- eend $?
-}
diff --git a/app-emulation/libvirt-snmp/libvirt-snmp-0.0.4.ebuild b/app-emulation/libvirt-snmp/libvirt-snmp-0.0.4.ebuild
deleted file mode 100644
index 8539f42de690..000000000000
--- a/app-emulation/libvirt-snmp/libvirt-snmp-0.0.4.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils
-
-DESCRIPTION="Provides SNMP functionality for libvirt"
-HOMEPAGE="http://libvirt.org"
-SRC_URI="http://www.libvirt.org/sources/snmp/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}
- app-emulation/libvirt
- net-analyzer/net-snmp"
-BDEPEND="
- virtual/pkgconfig"
-
-src_install() {
- default
- newinitd "${FILESDIR}/libvirt-snmp.initd-r1" "${PN}"
- newconfd "${FILESDIR}/libvirt-snmp.confd" "${PN}"
-}
-
-pkg_postinst() {
- elog "This daemon runs as an AgentX sub-daemon for snmpd. You should therefore"
- elog "enable the AgentX functionality in snmpd by specifying the following"
- elog "in /etc/snmp/snmpd.conf:"
- elog " master agentx"
- elog "It is further recommended to send traps to the localhost as well using"
- elog "this option:"
- elog " trap2sink localhost"
- elog "More information is available here:"
- elog " http://wiki.libvirt.org/page/Libvirt-snmp"
-}
diff --git a/app-emulation/libvirt-snmp/metadata.xml b/app-emulation/libvirt-snmp/metadata.xml
deleted file mode 100644
index 1b2becffa26c..000000000000
--- a/app-emulation/libvirt-snmp/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index 1b170960177a..65274d07ac80 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,6 +1,12 @@
-DIST libvirt-7.0.0.tar.xz 8567648 BLAKE2B 0c0b360c371a14b6d82dc6bef4b228bf7a4a17db1a8425d1354128b0705365a04440217ed0862761b2a8eaf81d81494177d777e734a9045bbc87fc613b56eb05 SHA512 dd6db5ec4971cf4c6059795fd81d5a3a889b10740e34c3c92271eda1c683c99df2c8f923398065d8a7c4f987a20eb1da617d5297ba8ea5a31f154412af50c343
-DIST libvirt-7.0.0.tar.xz.asc 833 BLAKE2B 7cc16442f39de660caa38801b12994ca312b250d6c3e5bbef38613702a03cd31cb9b7eaa792af4f8c1b737d67e62f18baa02b481e7fa4d6ec8fc9a07a44db4de SHA512 fb0b6240dbb4e827456f6c573bb3466f19282383bcee5bae8ece923260eca6d252f64b1adfac9a26fdac2a57bb9390aa4c0071e54d16d3e294230b3562764f18
-DIST libvirt-7.1.0.tar.xz 8645944 BLAKE2B 97a76091616b427fc64a6a3caf5d9b04d7b9aed7ff7a6d70536ca2eb95d902f0f5ed4b5e56fbdfc6c40f443fb68f4850cff0545256826e575e78fea97158e8f7 SHA512 475b212e920bf8587db4a551126d9eb417d4e18a72550f94feb1aec94821fbac8c84d67ffd59cfe4f8289b6b10ae5f6b579ee170c0d72cb0493ec7ec52183cd6
-DIST libvirt-7.1.0.tar.xz.asc 833 BLAKE2B 2610cff98967260a5005840e1b03cff16790da82d9a51f14d6b34453db3ba89aa34915bba69d57b333f50d17e2492c77e85ee4e6282b8fe5f4cd0f7ace638334 SHA512 6c92c91bc7f23b32deee3442008b44d6469a9cabf2ed39459afcbfce9b3f2b1b655514a068c4bcdc8909ba02a0a4762e8f845ae4dba8da18719acf45614ca6da
-DIST libvirt-7.2.0.tar.xz 8661052 BLAKE2B eae6b4e7422690dd780e1647e2a39dfdff0562f3e63bce9ca5ee34540dec3755269efaad459d1b516b56fdeb1503cc966ffa60378aaa18210b972b739716fe34 SHA512 f6bb26ca7cb5a8d342f1f39afd051ed76b71414e1b934557cf50784da17e4f2fb3301c2ace3b593fcdeb6a18ad559a007ad594111c2c348b9157d3a59d475928
-DIST libvirt-7.2.0.tar.xz.asc 833 BLAKE2B c389d80ef4f7627230b88446ef77daab1bf34e49e20cfb5c5418500fdf388af23aeb2458551548cb732c868f87f35a5c28acff8c01faebe985a6953953a69149 SHA512 526955a9f9d294635e63a4ed20c3e478fb4b5f3a63150a59ff30d84ad16a286ddb4c6508d0317c56df63a0d22a099085697df344fe2b15bce07acf9f05cda331
+DIST libvirt-10.0.0.tar.xz 9395076 BLAKE2B bfbea7805a949999481293a31e52a5511bcf86db2c96486cbc3b9cb776719ec973b1208cfcb4a8ae2c9220d1d68053980eaf68893f7919c3ef354efbd1abf642 SHA512 4ab28539ff0e9a78ac231b11b4ec88b91d76ff2607cabd0226f04aaece73b05cab4aa9cfcf05073cd257ea270a377cd5d2cb915971583dbec04dadf2cf7ad252
+DIST libvirt-10.0.0.tar.xz.asc 833 BLAKE2B e6377fe80a96025fe643d9bb14b3d64da3cf7f53000d8ee55606b4bc635d735943c4a7baa3796cbb7ce5812f03e2efd700aeef72e5bfcce68938b873aeca3f1f SHA512 08681d45c39695b07c88b27fddc471284ed66caa091a73ea3957e42ec92776d435ecb4dc71b6bb18a825322468fccb09263f612aa1bde53deea3d6c5305313d8
+DIST libvirt-10.1.0.tar.xz 9444244 BLAKE2B bfdce9d067e3a319b81d867d27f1a6b4e724ab6aaa25d19d7383c9be26ad7dc92b3c0aaa92894b772f09e20c3c2eb0ea0a8707feee4c63be58578fa22854305f SHA512 08e73ae15de5681430b62db85ec9901242dca5e9a4ca9685614f4a67092c6e28f27f9187144b3ceb18ad6b40e6eb1a90b1a4b056b0888724d04a62002ee2bc48
+DIST libvirt-10.1.0.tar.xz.asc 833 BLAKE2B 1046403fb6ee084eb68e081a0fa4a1cfbf30378faf2f54591917ab6a4648a4c2a23da055cfe2577ec7ec80922c29ca7a918386259f747f052abfdfc420ff7749 SHA512 40ec184b4c33f21bf99d38fec0722e165854f723017f3cddaef63120cdf8dcf6df0c03b7e4aea5c3706f65d46f5335db667321b1ece1c123d9517fcd303b2bd8
+DIST libvirt-10.2.0.tar.xz 9466588 BLAKE2B 7ee6f4bdbb6a22f1b3c5c0326d41e269e8a5a07e41bc4f9a17fd023f3e33e46735066656dffa3004e1f36d46324270351593c89f60106933042e8a19a2aa64e6 SHA512 65faf2346e66bdba606ba99b9e4da2be8bd94ef42ac49c2801f9e9253ceea10f5fe772d5c7ada59f48aa34ff528726719b690c3acfd3e63a5c3580db17b023ae
+DIST libvirt-10.2.0.tar.xz.asc 833 BLAKE2B 34031ed3c1896d3bb86d05b3efc158a48a70084bd6ea0308df779c351142e0f04395f62d62b4bb225c731a6f259f7ccb950428292691a656799eed06ecb2c3b2 SHA512 d366b0b64642f3358bdaee0ed5e06c4c3eba8b5ce2d1791f3d83d74c139a00282e45d7382af26706657c18e32ab956761d26f5b8595e32ad545c2f27f214fb76
+DIST libvirt-10.3.0.tar.xz 9476852 BLAKE2B 8c47840113904d72aeb1e9bf900a99a8b0e3d41391c9a8fee4277f2793f18fefc50d113e8cbea52dedfd03b93f430416bcd25fe90ee6820c95ac6f468b84212f SHA512 dd2b151a19877e57e11b582b1c11542319f8b7b7cd3d7d51304442aa7d5eb1a8490d2887d340191c3ecc561320ea453773763083364579de0a40ada9c244fc59
+DIST libvirt-10.3.0.tar.xz.asc 833 BLAKE2B 4d54a3701a15383464e1be5155344f783cd2fe297f2a7cfd4ef9ead7cef9267122e91e16d08329e2448ffe77f10625a3fa3443bbeab97ba8fc83ec6e4ec250dd SHA512 d32bbc2a36b03eccfc931c3e5accae2d4ed5a59e4d40fc44f8fb269684201097ea03e0afcf6eae124efac7b8c43d32e4e79d276c13ea81809acd40b97ef3ceb9
+DIST libvirt-9.8.0.tar.xz 9307064 BLAKE2B aae47e8d4eeaf97532a0356de23ed5a9eea71b369d025eda95b5fd74576779eb4b843d05df6c87b79a14f218c341953749e319ee7244846a2db410a74a746880 SHA512 0118725073de33eec3fa3e4616d3154707f9828fdb9ec973f503fe68f18eab72b9704da660f281152630ddc95e605c786673af9d23dc9bdfc0108422e0efbd41
+DIST libvirt-9.8.0.tar.xz.asc 833 BLAKE2B 3ecd0a925992eeadd50675f7ad8e815bde532c0f66e331ea766fff8e613b6a60b002bedee82fd03684e703057bc13d4e92191268dcd5efe2611ce9bd3cf6b505 SHA512 e041db13281eae9323c22189b7a258caf8d0e2a350cbd31b6cbed7054ccaf09d05c155c3c09daea07940affdf15e8d42bb2339945480cd141a6e8cb417a78536
+DIST libvirt-9.9.0.tar.xz 9321556 BLAKE2B 21eae5a95feaf7f5c6ba8dd48732c08212904882a11c48eccfa827d85ddc3df7e064503f21710dbe1b678670e02f003674de915a43a7403fbf85685c4832e21d SHA512 77cea28acf4f3e8c92fbd5bd72ad084be183c07f14e3a9ce35d6d9d62d36ee97a30cef55fb204b3e43f282890ecd7d5827a784a517e7f4ed8b22ee502c3f09d7
+DIST libvirt-9.9.0.tar.xz.asc 833 BLAKE2B 3de3674d33c595692e71eeb9c312de76e865d3859d2482ec5b4d29d3cd7644cde080cba0001668efe7876b462f78c0233ab76076ef32943e118b34cca8c1ab4d SHA512 357fc2d1bdbbc26c6e0119a1b5c42e86a116f94bb714da855ab27ca83da0e50c7239d1b8abde3cee8a460ac537f63d518f43470d8329b727b39491771ad191e5
diff --git a/app-emulation/libvirt/files/README.gentoo-r3 b/app-emulation/libvirt/files/README.gentoo-r3
index 1fec12f0c025..0eab21d3a006 100644
--- a/app-emulation/libvirt/files/README.gentoo-r3
+++ b/app-emulation/libvirt/files/README.gentoo-r3
@@ -5,7 +5,7 @@ host. In order to reenable client handling, edit /etc/conf.d/libvirt-guests
and enable the service and start it:
$ rc-update add libvirt-guests
- $ service libvirt-guests start
+ $ rc-service libvirt-guests start
For the basic networking support (bridged and routed networks) you don't
diff --git a/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch b/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
new file mode 100644
index 000000000000..7ef0652faa38
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
@@ -0,0 +1,42 @@
+From 2127032ed8cd49001465dc0dce9f842e13467bc2 Mon Sep 17 00:00:00 2001
+Message-ID: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com>
+From: Martin Kletzander <mkletzan@redhat.com>
+Date: Tue, 27 Feb 2024 16:20:12 +0100
+Subject: [PATCH 1/2] Fix off-by-one error in udevListInterfacesByStatus
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Ever since this function was introduced in 2012 it could've tried
+filling in an extra interface name. That was made worse in 2019 when
+the caller functions started accepting NULL arrays of size 0.
+
+This is assigned CVE-2024-1441.
+
+Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
+Reported-by: Alexander Kuznetsov <kuznetsovam@altlinux.org>
+Fixes: 5a33366f5c0b18c93d161bd144f9f079de4ac8ca
+Fixes: d6064e2759a24e0802f363e3a810dc5a7d7ebb15
+Reviewed-by: Ján Tomko <jtomko@redhat.com>
+(cherry picked from commit c664015fe3a7bf59db26686e9ed69af011c6ebb8)
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/interface/interface_backend_udev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c
+index fb6799ed94..4091483060 100644
+--- a/src/interface/interface_backend_udev.c
++++ b/src/interface/interface_backend_udev.c
+@@ -222,7 +222,7 @@ udevListInterfacesByStatus(virConnectPtr conn,
+ g_autoptr(virInterfaceDef) def = NULL;
+
+ /* Ensure we won't exceed the size of our array */
+- if (count > names_len)
++ if (count >= names_len)
+ break;
+
+ path = udev_list_entry_get_name(dev_entry);
+--
+2.43.2
+
diff --git a/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch b/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
new file mode 100644
index 000000000000..3e0426634f42
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
@@ -0,0 +1,222 @@
+From 10fa5f6ba64b354b99b0f7b372e66e45bb4d9379 Mon Sep 17 00:00:00 2001
+Message-ID: <10fa5f6ba64b354b99b0f7b372e66e45bb4d9379.1713033988.git.mprivozn@redhat.com>
+In-Reply-To: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com>
+References: <2127032ed8cd49001465dc0dce9f842e13467bc2.1713033988.git.mprivozn@redhat.com>
+From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
+Date: Fri, 15 Mar 2024 10:47:50 +0000
+Subject: [PATCH 2/2] remote: check for negative array lengths before
+ allocation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+While the C API entry points will validate non-negative lengths
+for various parameters, the RPC server de-serialization code
+will need to allocate memory for arrays before entering the C
+API. These allocations will thus happen before the non-negative
+length check is performed.
+
+Passing a negative length to the g_new0 function will usually
+result in a crash due to the negative length being treated as
+a huge positive number.
+
+This was found and diagnosed by ALT Linux Team with AFLplusplus.
+
+CVE-2024-2494
+Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
+Found-by: Alexandr Shashkin <dutyrok@altlinux.org>
+Co-developed-by: Alexander Kuznetsov <kuznetsovam@altlinux.org>
+Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
+(cherry picked from commit 8a3f8d957507c1f8223fdcf25a3ff885b15557f2)
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/remote/remote_daemon_dispatch.c | 65 +++++++++++++++++++++++++++++
+ src/rpc/gendispatch.pl | 5 +++
+ 2 files changed, 70 insertions(+)
+
+diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon_dispatch.c
+index 7daf503b51..7542caa952 100644
+--- a/src/remote/remote_daemon_dispatch.c
++++ b/src/remote/remote_daemon_dispatch.c
+@@ -2291,6 +2291,10 @@ remoteDispatchDomainGetSchedulerParameters(virNetServer *server G_GNUC_UNUSED,
+ if (!conn)
+ goto cleanup;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -2339,6 +2343,10 @@ remoteDispatchDomainGetSchedulerParametersFlags(virNetServer *server G_GNUC_UNUS
+ if (!conn)
+ goto cleanup;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -2497,6 +2505,10 @@ remoteDispatchDomainBlockStatsFlags(virNetServer *server G_GNUC_UNUSED,
+ goto cleanup;
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_BLOCK_STATS_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -2717,6 +2729,14 @@ remoteDispatchDomainGetVcpuPinInfo(virNetServer *server G_GNUC_UNUSED,
+ if (!(dom = get_nonnull_domain(conn, args->dom)))
+ goto cleanup;
+
++ if (args->ncpumaps < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("ncpumaps must be non-negative"));
++ goto cleanup;
++ }
++ if (args->maplen < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maplen must be non-negative"));
++ goto cleanup;
++ }
+ if (args->ncpumaps > REMOTE_VCPUINFO_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("ncpumaps > REMOTE_VCPUINFO_MAX"));
+ goto cleanup;
+@@ -2811,6 +2831,11 @@ remoteDispatchDomainGetEmulatorPinInfo(virNetServer *server G_GNUC_UNUSED,
+ if (!(dom = get_nonnull_domain(conn, args->dom)))
+ goto cleanup;
+
++ if (args->maplen < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maplen must be non-negative"));
++ goto cleanup;
++ }
++
+ /* Allocate buffers to take the results */
+ if (args->maplen > 0)
+ cpumaps = g_new0(unsigned char, args->maplen);
+@@ -2858,6 +2883,14 @@ remoteDispatchDomainGetVcpus(virNetServer *server G_GNUC_UNUSED,
+ if (!(dom = get_nonnull_domain(conn, args->dom)))
+ goto cleanup;
+
++ if (args->maxinfo < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo must be non-negative"));
++ goto cleanup;
++ }
++ if (args->maplen < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo must be non-negative"));
++ goto cleanup;
++ }
+ if (args->maxinfo > REMOTE_VCPUINFO_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("maxinfo > REMOTE_VCPUINFO_MAX"));
+ goto cleanup;
+@@ -3096,6 +3129,10 @@ remoteDispatchDomainGetMemoryParameters(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_MEMORY_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -3156,6 +3193,10 @@ remoteDispatchDomainGetNumaParameters(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_NUMA_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -3216,6 +3257,10 @@ remoteDispatchDomainGetBlkioParameters(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_BLKIO_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -3277,6 +3322,10 @@ remoteDispatchNodeGetCPUStats(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_NODE_CPU_STATS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -3339,6 +3388,10 @@ remoteDispatchNodeGetMemoryStats(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_NODE_MEMORY_STATS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -3514,6 +3567,10 @@ remoteDispatchDomainGetBlockIoTune(virNetServer *server G_GNUC_UNUSED,
+ if (!conn)
+ goto cleanup;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_BLOCK_IO_TUNE_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -5079,6 +5136,10 @@ remoteDispatchDomainGetInterfaceParameters(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_DOMAIN_INTERFACE_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+@@ -5299,6 +5360,10 @@ remoteDispatchNodeGetMemoryParameters(virNetServer *server G_GNUC_UNUSED,
+
+ flags = args->flags;
+
++ if (args->nparams < 0) {
++ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams must be non-negative"));
++ goto cleanup;
++ }
+ if (args->nparams > REMOTE_NODE_MEMORY_PARAMETERS_MAX) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("nparams too large"));
+ goto cleanup;
+diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
+index fa45d15a92..294e21f8a1 100755
+--- a/src/rpc/gendispatch.pl
++++ b/src/rpc/gendispatch.pl
+@@ -1070,6 +1070,11 @@ elsif ($mode eq "server") {
+ print "\n";
+
+ if ($single_ret_as_list) {
++ print " if (args->$single_ret_list_max_var < 0) {\n";
++ print " virReportError(VIR_ERR_RPC,\n";
++ print " \"%s\", _(\"max$single_ret_list_name must be non-negative\"));\n";
++ print " goto cleanup;\n";
++ print " }\n";
+ print " if (args->$single_ret_list_max_var > $single_ret_list_max_define) {\n";
+ print " virReportError(VIR_ERR_RPC,\n";
+ print " \"%s\", _(\"max$single_ret_list_name > $single_ret_list_max_define\"));\n";
+--
+2.43.2
+
diff --git a/app-emulation/libvirt/files/libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch b/app-emulation/libvirt/files/libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch
new file mode 100644
index 000000000000..b151e3134e63
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch
@@ -0,0 +1,84 @@
+From cab1e71f0161fd24c5d6ff4c379d3a242ea8c2d9 Mon Sep 17 00:00:00 2001
+Message-ID: <cab1e71f0161fd24c5d6ff4c379d3a242ea8c2d9.1714995961.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Sat, 4 May 2024 05:12:54 +0200
+Subject: [PATCH] vsh: Don't init history in cmdComplete()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Recent rework of virshtest uncovered a subtle bug that was
+dormant in now vsh but before that even in monolithic virsh.
+
+In vsh.c there's this vshReadlineInit() function that's supposed
+to initialize readline library, i.e. set those global rl_*
+pointers. But it also initializes history library. Then, when
+virsh/virt-admin quits, vshReadlineDeinit() is called which
+writes history into a file (ensuring the parent directory
+exists). So far no problem.
+
+Problem arises when cmdComplete() is called (from a bash
+completer, for instance). It does not guard call to
+vshReadlineInit() with check for interactive shell (and it should
+not), but it sets ctl->historyfile which signals to
+vshReadlineDeinit() the history should be written.
+
+Now, no real history is written, because nothing was entered on
+the stdin, but the parent directory is created nevertheless. With
+recent movement in virshtest.c this means some test cases might
+create virsh history file which breaks our promise of not
+touching user's data in test suite.
+
+Resolves: https://bugs.gentoo.org/931109
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+Reviewed-by: Ján Tomko <jtomko@redhat.com>
+---
+ tools/vsh.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/tools/vsh.c b/tools/vsh.c
+index 58855f63ba..e74045c24e 100644
+--- a/tools/vsh.c
++++ b/tools/vsh.c
+@@ -2973,7 +2973,7 @@ vshReadlineInit(vshControl *ctl)
+ const char *quote_characters = "\"'";
+
+ /* initialize readline stuff only once */
+- if (ctl->historydir)
++ if (autoCompleteOpaque)
+ return 0;
+
+ /* Opaque data for autocomplete callbacks. */
+@@ -2989,6 +2989,11 @@ vshReadlineInit(vshControl *ctl)
+ rl_completer_quote_characters = quote_characters;
+ rl_char_is_quoted_p = vshReadlineCharIsQuoted;
+
++ /* Stuff below is needed only for interactive mode. */
++ if (!ctl->imode) {
++ return 0;
++ }
++
+ histsize_env = g_strdup_printf("%s_HISTSIZE", ctl->env_prefix);
+
+ /* Limit the total size of the history buffer */
+@@ -3149,7 +3154,7 @@ vshInit(vshControl *ctl, const vshCmdGrp *groups)
+ cmdGroups = groups;
+
+ if (vshInitDebug(ctl) < 0 ||
+- (ctl->imode && vshReadlineInit(ctl) < 0))
++ vshReadlineInit(ctl) < 0)
+ return false;
+
+ return true;
+@@ -3168,7 +3173,7 @@ vshInitReload(vshControl *ctl)
+
+ if (ctl->imode)
+ vshReadlineDeinit(ctl);
+- if (ctl->imode && vshReadlineInit(ctl) < 0)
++ if (vshReadlineInit(ctl) < 0)
+ return false;
+
+ return true;
+--
+2.43.2
+
diff --git a/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch
deleted file mode 100644
index f3d2e3c39162..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.7.0-do-not-use-sysconfig.patch
+++ /dev/null
@@ -1,169 +0,0 @@
---- 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/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/libvirt-6.7.0-doc-path.patch b/app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch
deleted file mode 100644
index 65eb35f3e346..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.7.0-doc-path.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/meson.build 2020-09-26 21:25:08.557345415 +0000
-+++ b/meson.build 2020-09-26 21:25:59.507348156 +0000
-@@ -84,7 +84,7 @@ sbindir = prefix / get_option('sbindir')
- sharedstatedir = prefix / get_option('sharedstatedir')
-
- confdir = sysconfdir / meson.project_name()
--docdir = datadir / 'doc' / meson.project_name()
-+docdir = datadir / 'doc' / '@0@-@1@'.format(meson.project_name(), meson.project_version())
- pkgdatadir = datadir / meson.project_name()
diff --git a/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch
deleted file mode 100644
index 18e7ef2daa0b..000000000000
--- a/app-emulation/libvirt/files/libvirt-6.7.0-fix-paths-for-apparmor.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu
-index 80986ae..d550d8c 100644
---- a/src/security/apparmor/libvirt-qemu
-+++ b/src/security/apparmor/libvirt-qemu
-@@ -88,6 +88,7 @@
- /usr/share/sgabios/** r,
- /usr/share/slof/** r,
- /usr/share/vgabios/** r,
-+ /usr/share/seavgabios/** r,
-
- # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
- /etc/pki/CA/ r,
-
---- a/src/security/apparmor/meson.build 2020-10-06 17:45:18.590000000 +0100
-+++ b/src/security/apparmor/meson.build 2020-10-06 17:45:07.044000000 +0100
-@@ -1,5 +1,5 @@
- apparmor_gen_profiles = [
-- 'usr.lib.libvirt.virt-aa-helper',
-+ 'usr.libexec.libvirt.virt-aa-helper',
- 'usr.sbin.libvirtd',
- ]
-
-@@ -32,7 +32,7 @@ install_data(
- )
-
- install_data(
-- 'usr.lib.libvirt.virt-aa-helper.local',
-+ 'usr.libexec.libvirt.virt-aa-helper.local',
- install_dir: apparmor_dir / 'local',
-- rename: 'usr.lib.libvirt.virt-aa-helper',
-+ rename: 'usr.libexec.libvirt.virt-aa-helper',
- )
-
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-similarity index 97%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-index dd18c8a..d06f9cb 100644
---- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
-+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
-@@ -69,5 +69,5 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
- /**.[iI][sS][oO] r,
- /**/disk{,.*} r,
-
-- #include <local/usr.lib.libvirt.virt-aa-helper>
-+ #include <local/usr.libexec.libvirt.virt-aa-helper>
- }
-diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
-similarity index 100%
-rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
-rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
diff --git a/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch b/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
new file mode 100644
index 000000000000..b24236be8751
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
@@ -0,0 +1,36 @@
+From 7a5f232be2269e74943a029c0e8b1b0124674a6c Mon Sep 17 00:00:00 2001
+Message-ID: <7a5f232be2269e74943a029c0e8b1b0124674a6c.1700576185.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Mon, 20 Nov 2023 03:18:12 +0100
+Subject: [PATCH] virxml: include <libxml/xmlsave.h> for xmlIndentTreeOutput
+ declaration
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+After libxml2's commit of v2.12.0~101 we no longer get
+xmlIndentTreeOutput declaration by us including just
+libxml/xpathInternals.h and libxml2's header files leakage.
+
+Resolves: https://bugs.gentoo.org/917516
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+Reviewed-by: Ján Tomko <jtomko@redhat.com>
+---
+ src/util/virxml.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/util/virxml.c b/src/util/virxml.c
+index 0c1eae8c3c..4f215a0e59 100644
+--- a/src/util/virxml.c
++++ b/src/util/virxml.c
+@@ -24,6 +24,7 @@
+ #include <math.h> /* for isnan() */
+ #include <sys/stat.h>
+
++#include <libxml/xmlsave.h>
+ #include <libxml/xpathInternals.h>
+
+ #include "virerror.h"
+--
+2.41.0
+
diff --git a/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch
new file mode 100644
index 000000000000..cfd12efb3de7
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-9.4.0-do-not-use-sysconfig.patch
@@ -0,0 +1,209 @@
+From 09e34bcb43b3c0fb3bf139f218ebc75e9e9f9a39 Mon Sep 17 00:00:00 2001
+Message-Id: <09e34bcb43b3c0fb3bf139f218ebc75e9e9f9a39.1683631803.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Wed, 2 Mar 2022 10:01:04 +0100
+Subject: [PATCH] libvirt-8.2.0-do-not-use-sysconfig.patch
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/interface/virtinterfaced.service.in | 1 -
+ src/libxl/virtxend.service.in | 1 -
+ src/locking/virtlockd.service.in | 1 -
+ src/logging/virtlogd.service.in | 1 -
+ 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 | 1 -
+ src/remote/virtproxyd.service.in | 1 -
+ src/secret/virtsecretd.service.in | 1 -
+ src/storage/virtstoraged.service.in | 1 -
+ src/vbox/virtvboxd.service.in | 1 -
+ tools/libvirt-guests.service.in | 2 +-
+ 15 files changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/src/interface/virtinterfaced.service.in b/src/interface/virtinterfaced.service.in
+index 1be3ab32dc..090b198ac7 100644
+--- a/src/interface/virtinterfaced.service.in
++++ b/src/interface/virtinterfaced.service.in
+@@ -14,7 +14,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTINTERFACED_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 abb1972777..dbbc2ab5b7 100644
+--- a/src/libxl/virtxend.service.in
++++ b/src/libxl/virtxend.service.in
+@@ -19,7 +19,6 @@ ConditionPathExists=/proc/xen/capabilities
+ [Service]
+ Type=notify
+ Environment=VIRTXEND_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 23054369d5..87193952cb 100644
+--- a/src/locking/virtlockd.service.in
++++ b/src/locking/virtlockd.service.in
+@@ -8,7 +8,6 @@ Documentation=https://libvirt.org
+
+ [Service]
+ Environment=VIRTLOCKD_ARGS=
+-EnvironmentFile=-@initconfdir@/virtlockd
+ ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
+ ExecReload=/bin/kill -USR1 $MAINPID
+ # Losing the locks is a really bad thing that will
+diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in
+index e4aecd46a7..d97a98e856 100644
+--- a/src/logging/virtlogd.service.in
++++ b/src/logging/virtlogd.service.in
+@@ -8,7 +8,6 @@ Documentation=https://libvirt.org
+
+ [Service]
+ Environment=VIRTLOGD_ARGS=
+-EnvironmentFile=-@initconfdir@/virtlogd
+ ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS
+ ExecReload=/bin/kill -USR1 $MAINPID
+ # Losing the logs is a really bad thing that will
+diff --git a/src/lxc/virtlxcd.service.in b/src/lxc/virtlxcd.service.in
+index 2623f7375a..b48ce6958a 100644
+--- a/src/lxc/virtlxcd.service.in
++++ b/src/lxc/virtlxcd.service.in
+@@ -18,7 +18,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTLXCD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 48423e777d..ee4cd9bca1 100644
+--- a/src/network/virtnetworkd.service.in
++++ b/src/network/virtnetworkd.service.in
+@@ -17,7 +17,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTNETWORKD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 3ceed30f29..7693aa52c4 100644
+--- a/src/node_device/virtnodedevd.service.in
++++ b/src/node_device/virtnodedevd.service.in
+@@ -14,7 +14,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTNODEDEVD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 37fa54d684..16d8b377b0 100644
+--- a/src/nwfilter/virtnwfilterd.service.in
++++ b/src/nwfilter/virtnwfilterd.service.in
+@@ -14,7 +14,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTNWFILTERD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 032cbcbbf0..85a1049567 100644
+--- a/src/qemu/virtqemud.service.in
++++ b/src/qemu/virtqemud.service.in
+@@ -20,7 +20,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTQEMUD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 11507207a1..9cda330e0b 100644
+--- a/src/remote/libvirtd.service.in
++++ b/src/remote/libvirtd.service.in
+@@ -28,7 +28,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=LIBVIRTD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/libvirtd
+ ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
+ ExecReload=/bin/kill -HUP $MAINPID
+ KillMode=process
+diff --git a/src/remote/virtproxyd.service.in b/src/remote/virtproxyd.service.in
+index dd3bdf3429..0eddf5ee93 100644
+--- a/src/remote/virtproxyd.service.in
++++ b/src/remote/virtproxyd.service.in
+@@ -14,7 +14,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTPROXYD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 774cfc3ecd..92e54f175f 100644
+--- a/src/secret/virtsecretd.service.in
++++ b/src/secret/virtsecretd.service.in
+@@ -14,7 +14,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTSECRETD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 e1a1ea6820..abe91e3d80 100644
+--- a/src/storage/virtstoraged.service.in
++++ b/src/storage/virtstoraged.service.in
+@@ -16,7 +16,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTSTORAGED_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/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 e73206591a..54fbd0be4a 100644
+--- a/src/vbox/virtvboxd.service.in
++++ b/src/vbox/virtvboxd.service.in
+@@ -15,7 +15,6 @@ Documentation=https://libvirt.org
+ [Service]
+ Type=notify
+ Environment=VIRTVBOXD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/virtvboxd
+ ExecStart=@sbindir@/virtvboxd $VIRTVBOXD_ARGS
+ ExecReload=/bin/kill -HUP $MAINPID
+ Restart=on-failure
+diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in
+index c547218f2a..f5a1a60abe 100644
+--- a/tools/libvirt-guests.service.in
++++ b/tools/libvirt-guests.service.in
+@@ -14,7 +14,7 @@ Documentation=man:libvirt-guests(8)
+ Documentation=https://libvirt.org
+
+ [Service]
+-EnvironmentFile=-@initconfdir@/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
+--
+2.39.3
+
diff --git a/app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch b/app-emulation/libvirt/files/libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch
index bf7a328f7759..d40d2f1b63ec 100644
--- a/app-emulation/libvirt/files/libvirt-6.0.0-fix_paths_in_libvirt-guests_sh.patch
+++ b/app-emulation/libvirt/files/libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch
@@ -1,10 +1,7 @@
-From e97700d867ffa949c97f8a635a76b9ce510e806f Mon Sep 17 00:00:00 2001
-Message-Id: <e97700d867ffa949c97f8a635a76b9ce510e806f.1580460243.git.mprivozn@redhat.com>
-In-Reply-To: <5965f20fe0275b324c9b84ab7f48dd7db0494495.1580460243.git.mprivozn@redhat.com>
-References: <5965f20fe0275b324c9b84ab7f48dd7db0494495.1580460243.git.mprivozn@redhat.com>
+From 7f22569453720994ba49ca1d3c64c010ed7cc5d0 Mon Sep 17 00:00:00 2001
From: Michal Privoznik <mprivozn@redhat.com>
Date: Fri, 31 Jan 2020 09:42:14 +0100
-Subject: [PATCH 2/3] Fix paths in libvirt-guests.sh.in
+Subject: [PATCH] Fix paths in libvirt-guests.sh.in
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
@@ -12,15 +9,15 @@ Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
-index a881f6266e..79d38b3e9a 100644
+index 016014215f..24dd706d6f 100644
--- a/tools/libvirt-guests.sh.in
+++ b/tools/libvirt-guests.sh.in
-@@ -39,11 +39,11 @@ START_DELAY=0
+@@ -40,11 +40,11 @@ START_DELAY=0
BYPASS_CACHE=0
SYNC_TIME=0
--test -f "$sysconfdir"/sysconfig/libvirt-guests &&
-- . "$sysconfdir"/sysconfig/libvirt-guests
+-test -f "$initconfdir"/libvirt-guests &&
+- . "$initconfdir"/libvirt-guests
+test -f "$sysconfdir"/libvirt/libvirt-guests.conf &&
+ . "$sysconfdir"/libvirt/libvirt-guests.conf
@@ -31,5 +28,5 @@ index a881f6266e..79d38b3e9a 100644
RETVAL=0
--
-2.24.1
+2.39.3
diff --git a/app-emulation/libvirt/files/libvirt-9.6.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-9.6.0-fix-paths-for-apparmor.patch
new file mode 100644
index 000000000000..2ffe279e74b0
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-9.6.0-fix-paths-for-apparmor.patch
@@ -0,0 +1,97 @@
+From 4927c28a30fe469b512b49346f321661ca865769 Mon Sep 17 00:00:00 2001
+Message-ID: <4927c28a30fe469b512b49346f321661ca865769.1689058931.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Tue, 15 Mar 2022 05:23:29 +0100
+Subject: [PATCH] libvirt-9.5.0-fix-paths-for-apparmor.patch
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/security/apparmor/libvirt-qemu.in | 1 +
+ src/security/apparmor/meson.build | 6 +++---
+ src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local | 1 -
+ ...t-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} | 6 +++---
+ .../apparmor/usr.libexec.libvirt.virt-aa-helper.local | 1 +
+ 5 files changed, 8 insertions(+), 7 deletions(-)
+ delete mode 100644 src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
+ rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} (92%)
+ create mode 100644 src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+
+diff --git a/src/security/apparmor/libvirt-qemu.in b/src/security/apparmor/libvirt-qemu.in
+index 53f45c3a28..7882e811fc 100644
+--- a/src/security/apparmor/libvirt-qemu.in
++++ b/src/security/apparmor/libvirt-qemu.in
+@@ -96,6 +96,7 @@
+ /usr/share/sgabios/** r,
+ /usr/share/slof/** r,
+ /usr/share/vgabios/** r,
++ /usr/share/seavgabios/** r,
+
+ # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
+ /etc/pki/CA/ r,
+diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
+index b9257c816d..c1b79fef27 100644
+--- a/src/security/apparmor/meson.build
++++ b/src/security/apparmor/meson.build
+@@ -1,5 +1,5 @@
+ apparmor_gen_profiles = [
+- 'usr.lib.libvirt.virt-aa-helper',
++ 'usr.libexec.libvirt.virt-aa-helper',
+ 'usr.sbin.libvirtd',
+ 'usr.sbin.virtqemud',
+ 'usr.sbin.virtxend',
+@@ -82,8 +82,8 @@ if not conf.has('WITH_APPARMOR_3')
+ # AppArmor 3.x, upstream's preference is to avoid creating these
+ # files in order to limit the amount of filesystem clutter.
+ install_data(
+- 'usr.lib.libvirt.virt-aa-helper.local',
++ 'usr.libexec.libvirt.virt-aa-helper.local',
+ install_dir: apparmor_dir / 'local',
+- rename: 'usr.lib.libvirt.virt-aa-helper',
++ rename: 'usr.libexec.libvirt.virt-aa-helper',
+ )
+ endif
+diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
+deleted file mode 100644
+index c0990e51d0..0000000000
+--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
++++ /dev/null
+@@ -1 +0,0 @@
+-# Site-specific additions and overrides for 'usr.lib.libvirt.virt-aa-helper'
+diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+similarity index 92%
+rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
+rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+index 26ee20a17d..38fd3bfb88 100644
+--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
++++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
+@@ -41,7 +41,7 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
+ deny /dev/mapper/* r,
+
+ @libexecdir@/virt-aa-helper mr,
+- /{usr/,}sbin/apparmor_parser Ux,
++ /{usr/,}{s,}bin/apparmor_parser Ux,
+
+ @sysconfdir@/apparmor.d/libvirt/* r,
+ @sysconfdir@/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
+@@ -72,9 +72,9 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
+ /**/disk{,.*} r,
+
+ @BEGIN_APPARMOR_3@
+- include if exists <local/usr.lib.libvirt.virt-aa-helper>
++ include if exists <local/usr.libexec.libvirt.virt-aa-helper>
+ @END_APPARMOR_3@
+ @BEGIN_APPARMOR_2@
+- #include <local/usr.lib.libvirt.virt-aa-helper>
++ #include <local/usr.libexec.libvirt.virt-aa-helper>
+ @END_APPARMOR_2@
+ }
+diff --git a/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+new file mode 100644
+index 0000000000..974653d797
+--- /dev/null
++++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
+@@ -0,0 +1 @@
++# Site-specific additions and overrides for 'usr.libexec.libvirt.virt-aa-helper'
+--
+2.41.0
+
diff --git a/app-emulation/libvirt/files/libvirt-9.9.0-do-not-use-sysconfig.patch b/app-emulation/libvirt/files/libvirt-9.9.0-do-not-use-sysconfig.patch
new file mode 100644
index 000000000000..debca8c80146
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-9.9.0-do-not-use-sysconfig.patch
@@ -0,0 +1,79 @@
+From bdc0f6b9c91615c601ea3a625220097f5cb0eeb0 Mon Sep 17 00:00:00 2001
+Message-ID: <bdc0f6b9c91615c601ea3a625220097f5cb0eeb0.1696413637.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Wed, 2 Mar 2022 10:01:04 +0100
+Subject: [PATCH] libvirt-9.9.0-do-not-use-sysconfig.patch
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ src/locking/virtlockd.service.in | 1 -
+ src/logging/virtlogd.service.in | 1 -
+ src/remote/libvirtd.service.in | 1 -
+ src/virtd.service.in | 1 -
+ tools/libvirt-guests.service.in | 2 +-
+ 5 files changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in
+index ce00b6def9..9dee9189db 100644
+--- a/src/locking/virtlockd.service.in
++++ b/src/locking/virtlockd.service.in
+@@ -10,7 +10,6 @@ After=virtlockd-admin.socket
+ [Service]
+ Type=notify
+ Environment=VIRTLOCKD_ARGS=
+-EnvironmentFile=-@initconfdir@/virtlockd
+ ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS
+ ExecReload=/bin/kill -USR1 $MAINPID
+ # Losing the locks is a really bad thing that will
+diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in
+index 52c9e5bb9e..90c63f0483 100644
+--- a/src/logging/virtlogd.service.in
++++ b/src/logging/virtlogd.service.in
+@@ -10,7 +10,6 @@ After=virtlogd-admin.socket
+ [Service]
+ Type=notify
+ Environment=VIRTLOGD_ARGS=
+-EnvironmentFile=-@initconfdir@/virtlogd
+ ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS
+ ExecReload=/bin/kill -USR1 $MAINPID
+ # Losing the logs is a really bad thing that will
+diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in
+index 24a6712b75..e4b4a189e1 100644
+--- a/src/remote/libvirtd.service.in
++++ b/src/remote/libvirtd.service.in
+@@ -28,7 +28,6 @@ Conflicts=xendomains.service
+ [Service]
+ Type=notify
+ Environment=LIBVIRTD_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/libvirtd
+ ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
+ ExecReload=/bin/kill -HUP $MAINPID
+ KillMode=process
+diff --git a/src/virtd.service.in b/src/virtd.service.in
+index 651a8d82d7..b87c7e0553 100644
+--- a/src/virtd.service.in
++++ b/src/virtd.service.in
+@@ -17,7 +17,6 @@ After=apparmor.service
+ [Service]
+ Type=notify
+ Environment=@SERVICE@_ARGS="--timeout 120"
+-EnvironmentFile=-@initconfdir@/@service@
+ ExecStart=@sbindir@/@service@ $@SERVICE@_ARGS
+ ExecReload=/bin/kill -HUP $MAINPID
+ Restart=on-failure
+diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in
+index c547218f2a..f5a1a60abe 100644
+--- a/tools/libvirt-guests.service.in
++++ b/tools/libvirt-guests.service.in
+@@ -14,7 +14,7 @@ Documentation=man:libvirt-guests(8)
+ Documentation=https://libvirt.org
+
+ [Service]
+-EnvironmentFile=-@initconfdir@/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
+--
+2.41.0
+
diff --git a/app-emulation/libvirt/files/libvirtd.init-r19 b/app-emulation/libvirt/files/libvirtd.init-r19
index 60dad6a791dc..12bd1d34fa2b 100644
--- a/app-emulation/libvirt/files/libvirtd.init-r19
+++ b/app-emulation/libvirt/files/libvirtd.init-r19
@@ -16,7 +16,7 @@ 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
+ after cgconfig corosync ebtables iptables ip6tables shorewall nfs ntp-client ntpdportmap rpc.statd sanlock xenconsoled
USE_FLAG_FIREWALLD
}
diff --git a/app-emulation/libvirt/files/virtlockd.init-r2 b/app-emulation/libvirt/files/virtlockd.init-r2
index 385dc1e62319..0445b9d02261 100644
--- a/app-emulation/libvirt/files/virtlockd.init-r2
+++ b/app-emulation/libvirt/files/virtlockd.init-r2
@@ -12,7 +12,7 @@ description_reload="re-exec the daemon, while maintaining locks and clients"
depend() {
- after ntp-client ntpd nfs nfsmount corosync
+ after ntp-client ntpd nfs corosync
}
reload() {
diff --git a/app-emulation/libvirt/files/virtlogd.init-r2 b/app-emulation/libvirt/files/virtlogd.init-r2
index 442dcb8de48c..abc293e13ae5 100644
--- a/app-emulation/libvirt/files/virtlogd.init-r2
+++ b/app-emulation/libvirt/files/virtlogd.init-r2
@@ -12,7 +12,7 @@ description_reload="re-exec the daemon, while maintaining open connections"
depend() {
- after ntp-client ntpd nfs nfsmount corosync
+ after ntp-client ntpd nfs corosync
}
reload() {
diff --git a/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild b/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild
new file mode 100644
index 000000000000..baf260598704
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+PYTHON_COMPAT=( python3_{9..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://libvirt.org/sources/${P}.tar.xz
+ verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+IUSE="
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
+"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ firewalld? ( virt-network )
+ libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ virt-network? ( libvirtd )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
+
+BDEPEND="
+ app-text/xhtml1
+ dev-lang/perl
+ dev-libs/libxslt
+ dev-perl/XML-XPath
+ dev-python/docutils
+ virtual/pkgconfig
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
+
+# 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
+ app-misc/scrub
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
+ dev-libs/libnl:3
+ >=dev-libs/libxml2-2.9.1
+ >=net-analyzer/openbsd-netcat-1.105-r1
+ >=net-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
+ >=net-misc/curl-7.18.0
+ sys-apps/dbus
+ sys-apps/dmidecode
+ sys-devel/gettext
+ >=sys-libs/readline-7.0:=
+ virtual/acl
+ apparmor? ( sys-libs/libapparmor )
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap-ng )
+ dtrace? ( dev-debug/systemtap )
+ firewalld? ( >=net-firewall/firewalld-0.6.3 )
+ fuse? ( sys-fs/fuse:= )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
+ iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
+ lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
+ 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[lvm]
+ )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
+ policykit? (
+ acct-group/libvirt
+ >=sys-auth/polkit-0.9
+ )
+ qemu? (
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
+ )
+ rbd? ( sys-cluster/ceph )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
+ selinux? ( >=sys-libs/libselinux-2.0.85 )
+ virt-network? (
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
+ net-firewall/ebtables
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-misc/radvd
+ sys-apps/iproute2[-minimal]
+ )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
+ xen? (
+ >=app-emulation/xen-4.9.0
+ app-emulation/xen-tools:=
+ )
+ udev? (
+ virtual/libudev:=
+ >=x11-libs/libpciaccess-0.10.9
+ )
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
+ "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.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 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
+ ~IP6_NF_FILTER
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
+ # 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"
+
+ ERROR_USER_NS="Optional depending on LXC configuration."
+
+ if [[ -n ${CONFIG_CHECK} ]]; then
+ linux-info_pkg_setup
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ touch "${S}/.mailmap" || die
+
+ default
+ python_fix_shebang .
+
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
+ # 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"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature apparmor)
+ $(meson_feature apparmor apparmor_profiles)
+ $(meson_feature audit)
+ $(meson_feature caps capng)
+ $(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 libssh2)
+ $(meson_feature lvm storage_lvm)
+ $(meson_feature lvm storage_mpath)
+ $(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
+ $(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 test tests)
+ $(meson_feature udev)
+ $(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)
+
+ -Dnetcf=disabled
+ -Dsanlock=disabled
+ -Dopenwsman=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"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
+ -Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ export VIR_TEST_DEBUG=1
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
+}
+
+src_install() {
+ meson_src_install
+
+ # Depending on configuration option, libvirt will create some bogus
+ # directoreis. They are either not used, or libvirtd is able to create
+ # them on demand, so let's remove them.
+ #
+ # Note, we are using -f here so that rm does not fail or warn if the
+ # directory is nonexistent.
+ rm -rf "${D}"/etc/sysconfig
+ rm -rf "${D}"/var
+ rm -rf "${D}"/run
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+
+ newtmpfiles "${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_postinst() {
+ if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+ touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
+ fi
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+ tmpfiles_process libvirtd.conf
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild
new file mode 100644
index 000000000000..128f76475972
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://libvirt.org/sources/${P}.tar.xz
+ verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+IUSE="
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
+"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ firewalld? ( virt-network )
+ libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ virt-network? ( libvirtd )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
+
+BDEPEND="
+ app-text/xhtml1
+ dev-lang/perl
+ dev-libs/libxslt
+ dev-perl/XML-XPath
+ dev-python/docutils
+ virtual/pkgconfig
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
+
+# 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
+ app-misc/scrub
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
+ dev-libs/libnl:3
+ >=dev-libs/libxml2-2.9.1
+ >=net-analyzer/openbsd-netcat-1.105-r1
+ >=net-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
+ >=net-misc/curl-7.18.0
+ sys-apps/dbus
+ sys-apps/dmidecode
+ sys-devel/gettext
+ >=sys-libs/readline-7.0:=
+ virtual/acl
+ apparmor? ( sys-libs/libapparmor )
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap-ng )
+ dtrace? ( dev-debug/systemtap )
+ firewalld? ( >=net-firewall/firewalld-0.6.3 )
+ fuse? ( sys-fs/fuse:= )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
+ iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
+ lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
+ 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[lvm]
+ )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
+ policykit? (
+ acct-group/libvirt
+ >=sys-auth/polkit-0.9
+ )
+ qemu? (
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
+ )
+ rbd? ( sys-cluster/ceph )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
+ selinux? ( >=sys-libs/libselinux-2.0.85 )
+ virt-network? (
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
+ net-firewall/ebtables
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-misc/radvd
+ sys-apps/iproute2[-minimal]
+ )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
+ xen? (
+ >=app-emulation/xen-4.9.0
+ app-emulation/xen-tools:=
+ )
+ udev? (
+ virtual/libudev:=
+ >=x11-libs/libpciaccess-0.10.9
+ )
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.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 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
+ ~IP6_NF_FILTER
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
+ # 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"
+
+ ERROR_USER_NS="Optional depending on LXC configuration."
+
+ if [[ -n ${CONFIG_CHECK} ]]; then
+ linux-info_pkg_setup
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ touch "${S}/.mailmap" || die
+
+ default
+ python_fix_shebang .
+
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
+ # 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"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature apparmor)
+ $(meson_feature apparmor apparmor_profiles)
+ $(meson_feature audit)
+ $(meson_feature caps capng)
+ $(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 libssh2)
+ $(meson_feature lvm storage_lvm)
+ $(meson_feature lvm storage_mpath)
+ $(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
+ $(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 test tests)
+ $(meson_feature udev)
+ $(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)
+
+ -Dnetcf=disabled
+ -Dsanlock=disabled
+ -Dopenwsman=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"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
+ -Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ export VIR_TEST_DEBUG=1
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
+}
+
+src_install() {
+ meson_src_install
+
+ # Depending on configuration option, libvirt will create some bogus
+ # directoreis. They are either not used, or libvirtd is able to create
+ # them on demand, so let's remove them.
+ #
+ # Note, we are using -f here so that rm does not fail or warn if the
+ # directory is nonexistent.
+ rm -rf "${D}"/etc/sysconfig
+ rm -rf "${D}"/var
+ rm -rf "${D}"/run
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+
+ newtmpfiles "${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_postinst() {
+ if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+ touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
+ fi
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+ tmpfiles_process libvirtd.conf
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/libvirt/libvirt-7.2.0.ebuild b/app-emulation/libvirt/libvirt-10.2.0.ebuild
index 56d210fe894c..f1c08714d713 100644
--- a/app-emulation/libvirt/libvirt-7.2.0.ebuild
+++ b/app-emulation/libvirt/libvirt-10.2.0.ebuild
@@ -1,34 +1,40 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
-inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- SRC_URI=""
- SLOT="0"
+ EGIT_BRANCH="master"
else
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- SLOT="0/${PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="C toolkit to manipulate virtual machines"
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
LICENSE="LGPL-2.1"
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+SLOT="0/${PV}"
IUSE="
- apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
- iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
- virtualbox +virt-network wireshark-plugins xen zfs
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
"
+RESTRICT="!test? ( test )"
REQUIRED_USE="
firewalld? ( virt-network )
@@ -47,44 +53,44 @@ BDEPEND="
dev-perl/XML-XPath
dev-python/docutils
virtual/pkgconfig
- verify-sig? ( app-crypt/openpgp-keys-libvirt )"
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
# 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
+# we must go with the most recent.
RDEPEND="
acct-user/qemu
app-misc/scrub
- >=dev-libs/glib-2.48.0
- dev-libs/libgcrypt:0
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
dev-libs/libnl:3
- >=dev-libs/libxml2-2.7.6
+ >=dev-libs/libxml2-2.9.1
>=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-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
>=net-misc/curl-7.18.0
sys-apps/dbus
sys-apps/dmidecode
sys-devel/gettext
- sys-libs/ncurses:0=
- sys-libs/readline:=
+ >=sys-libs/readline-7.0:=
virtual/acl
apparmor? ( sys-libs/libapparmor )
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
+ dtrace? ( dev-debug/systemtap )
firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( sys-block/open-iscsi )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( net-libs/libssh )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
nfs? ( net-fs/nfs-utils )
numa? (
>sys-process/numactl-2.0.2
@@ -92,46 +98,55 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
- pcap? ( >=net-libs/libpcap-1.0.0 )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
acct-group/libvirt
>=sys-auth/polkit-0.9
)
qemu? (
- >=app-emulation/qemu-1.5.0
- dev-libs/yajl
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
)
rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
selinux? ( >=sys-libs/libselinux-2.0.85 )
virt-network? (
- net-dns/dnsmasq[dhcp,ipv6,script]
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6]
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
net-misc/radvd
sys-apps/iproute2[-minimal]
)
- wireshark-plugins? ( net-analyzer/wireshark:= )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
xen? (
- >=app-emulation/xen-4.6.0
+ >=app-emulation/xen-4.9.0
app-emulation/xen-tools:=
)
udev? (
- virtual/libudev
+ virtual/libudev:=
>=x11-libs/libpciaccess-0.10.9
)
- zfs? ( sys-fs/zfs )"
-
-DEPEND="${BDEPEND}
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
${RDEPEND}
- ${PYTHON_DEPS}"
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
)
pkg_setup() {
@@ -185,10 +200,21 @@ pkg_setup() {
~IP_NF_FILTER
~IP_NF_MANGLE
~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
~IP6_NF_FILTER
~IP6_NF_MANGLE
~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
# Bandwidth Limiting Support
use virt-network && CONFIG_CHECK+="
~BRIDGE_EBT_T_NAT
@@ -215,6 +241,11 @@ src_prepare() {
default
python_fix_shebang .
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
@@ -224,7 +255,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
$(meson_feature apparmor)
- $(meson_use apparmor apparmor_profiles)
+ $(meson_feature apparmor apparmor_profiles)
$(meson_feature audit)
$(meson_feature caps capng)
$(meson_feature dtrace)
@@ -236,9 +267,11 @@ src_configure() {
$(meson_feature iscsi-direct storage_iscsi_direct)
$(meson_feature libvirtd driver_libvirtd)
$(meson_feature libssh)
+ $(meson_feature libssh2)
$(meson_feature lvm storage_lvm)
$(meson_feature lvm storage_mpath)
$(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
$(meson_feature nls)
$(meson_feature numa numactl)
$(meson_feature numa numad)
@@ -251,6 +284,7 @@ src_configure() {
$(meson_feature rbd storage_rbd)
$(meson_feature sasl)
$(meson_feature selinux)
+ $(meson_feature test tests)
$(meson_feature udev)
$(meson_feature virt-network driver_network)
$(meson_feature virtualbox driver_vbox)
@@ -260,6 +294,7 @@ src_configure() {
-Dnetcf=disabled
-Dsanlock=disabled
+ -Dopenwsman=disabled
-Ddriver_esx=enabled
-Dinit_script=systemd
@@ -270,6 +305,7 @@ src_configure() {
-Ddriver_vmware=enabled
--localstatedir="${EPREFIX}/var"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
-Drunstatedir="${EPREFIX}/run"
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
)
@@ -279,7 +315,11 @@ src_configure() {
src_test() {
export VIR_TEST_DEBUG=1
- meson_src_test
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
}
src_install() {
@@ -295,15 +335,6 @@ src_install() {
rm -rf "${D}"/var
rm -rf "${D}"/run
- # Fix up doc paths for revisions
- if [[ $PV != $PVR ]]; then
- mv "${D}"/usr/share/doc/${PN}-${PV}/* "${D}"/usr/share/doc/${PF} || die
- rmdir "${D}"/usr/share/doc/${PN}-${PV} || die
- fi
-
- newbashcomp "${S}/tools/bash-completion/vsh" virsh
- bashcomp_alias virsh virt-admin
-
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
@@ -329,6 +360,6 @@ pkg_postinst() {
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
-
+ tmpfiles_process libvirtd.conf
readme.gentoo_print_elog
}
diff --git a/app-emulation/libvirt/libvirt-7.0.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.3.0-r1.ebuild
index a8265d3b4182..5a6a2ae58357 100644
--- a/app-emulation/libvirt/libvirt-7.0.0-r1.ebuild
+++ b/app-emulation/libvirt/libvirt-10.3.0-r1.ebuild
@@ -1,34 +1,40 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
-inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- SRC_URI=""
- SLOT="0"
+ EGIT_BRANCH="master"
else
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
- SLOT="0/${PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/"
+HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
LICENSE="LGPL-2.1"
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+SLOT="0/${PV}"
IUSE="
- apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
- iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
- virtualbox +virt-network wireshark-plugins xen zfs
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
"
+RESTRICT="!test? ( test )"
REQUIRED_USE="
firewalld? ( virt-network )
@@ -47,44 +53,44 @@ BDEPEND="
dev-perl/XML-XPath
dev-python/docutils
virtual/pkgconfig
- verify-sig? ( app-crypt/openpgp-keys-libvirt )"
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
# 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
+# we must go with the most recent.
RDEPEND="
acct-user/qemu
app-misc/scrub
- >=dev-libs/glib-2.48.0
- dev-libs/libgcrypt:0
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
dev-libs/libnl:3
- >=dev-libs/libxml2-2.7.6
+ >=dev-libs/libxml2-2.9.1
>=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-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
>=net-misc/curl-7.18.0
sys-apps/dbus
sys-apps/dmidecode
sys-devel/gettext
- sys-libs/ncurses:0=
- sys-libs/readline:=
+ >=sys-libs/readline-7.0:=
virtual/acl
apparmor? ( sys-libs/libapparmor )
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
+ dtrace? ( dev-debug/systemtap )
firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( sys-block/open-iscsi )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( net-libs/libssh )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
nfs? ( net-fs/nfs-utils )
numa? (
>sys-process/numactl-2.0.2
@@ -92,47 +98,56 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
- pcap? ( >=net-libs/libpcap-1.0.0 )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
acct-group/libvirt
>=sys-auth/polkit-0.9
)
qemu? (
- >=app-emulation/qemu-1.5.0
- dev-libs/yajl
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
)
rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
selinux? ( >=sys-libs/libselinux-2.0.85 )
virt-network? (
- net-dns/dnsmasq[dhcp,ipv6,script]
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6]
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
net-misc/radvd
sys-apps/iproute2[-minimal]
)
- wireshark-plugins? ( net-analyzer/wireshark:= )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
xen? (
- >=app-emulation/xen-4.6.0
+ >=app-emulation/xen-4.9.0
app-emulation/xen-tools:=
)
udev? (
- virtual/libudev
+ virtual/libudev:=
>=x11-libs/libpciaccess-0.10.9
)
- zfs? ( sys-fs/zfs )"
-
-DEPEND="${BDEPEND}
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
${RDEPEND}
- ${PYTHON_DEPS}"
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-6.7.0-doc-path.patch
- "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch
)
pkg_setup() {
@@ -186,10 +201,21 @@ pkg_setup() {
~IP_NF_FILTER
~IP_NF_MANGLE
~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
~IP6_NF_FILTER
~IP6_NF_MANGLE
~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
# Bandwidth Limiting Support
use virt-network && CONFIG_CHECK+="
~BRIDGE_EBT_T_NAT
@@ -201,13 +227,6 @@ pkg_setup() {
~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
@@ -223,6 +242,11 @@ src_prepare() {
default
python_fix_shebang .
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
@@ -232,7 +256,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
$(meson_feature apparmor)
- $(meson_use apparmor apparmor_profiles)
+ $(meson_feature apparmor apparmor_profiles)
$(meson_feature audit)
$(meson_feature caps capng)
$(meson_feature dtrace)
@@ -244,9 +268,11 @@ src_configure() {
$(meson_feature iscsi-direct storage_iscsi_direct)
$(meson_feature libvirtd driver_libvirtd)
$(meson_feature libssh)
+ $(meson_feature libssh2)
$(meson_feature lvm storage_lvm)
$(meson_feature lvm storage_mpath)
$(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
$(meson_feature nls)
$(meson_feature numa numactl)
$(meson_feature numa numad)
@@ -259,6 +285,7 @@ src_configure() {
$(meson_feature rbd storage_rbd)
$(meson_feature sasl)
$(meson_feature selinux)
+ $(meson_feature test tests)
$(meson_feature udev)
$(meson_feature virt-network driver_network)
$(meson_feature virtualbox driver_vbox)
@@ -268,6 +295,7 @@ src_configure() {
-Dnetcf=disabled
-Dsanlock=disabled
+ -Dopenwsman=disabled
-Ddriver_esx=enabled
-Dinit_script=systemd
@@ -278,7 +306,9 @@ src_configure() {
-Ddriver_vmware=enabled
--localstatedir="${EPREFIX}/var"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
-Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
)
meson_src_configure
@@ -286,26 +316,25 @@ src_configure() {
src_test() {
export VIR_TEST_DEBUG=1
- meson_src_test
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
}
src_install() {
meson_src_install
- # Remove bogus, empty directories. They are either not used, or
- # libvirtd is able to create them on demand
- rm -rf "${D}"/etc/sysconfig || die
- rm -rf "${D}"/var || die
- rm -rf "${D}"/run || die
-
- # Fix up doc paths for revisions
- if [ ${PV} != ${PVR} ]; then
- mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
- rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
- fi
-
- newbashcomp "${S}/tools/bash-completion/vsh" virsh
- bashcomp_alias virsh virt-admin
+ # Depending on configuration option, libvirt will create some bogus
+ # directoreis. They are either not used, or libvirtd is able to create
+ # them on demand, so let's remove them.
+ #
+ # Note, we are using -f here so that rm does not fail or warn if the
+ # directory is nonexistent.
+ rm -rf "${D}"/etc/sysconfig
+ rm -rf "${D}"/var
+ rm -rf "${D}"/run
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
@@ -325,13 +354,6 @@ src_install() {
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 "${ED}"/etc/libvirt/qemu/networks/default.xml || die
- fi
-}
-
pkg_postinst() {
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
@@ -339,6 +361,6 @@ pkg_postinst() {
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
-
+ tmpfiles_process libvirtd.conf
readme.gentoo_print_elog
}
diff --git a/app-emulation/libvirt/libvirt-7.1.0.ebuild b/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild
index f82c0867dc37..500ab7f572ad 100644
--- a/app-emulation/libvirt/libvirt-7.1.0.ebuild
+++ b/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild
@@ -1,34 +1,40 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
-inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- SRC_URI=""
- SLOT="0"
+ EGIT_BRANCH="master"
else
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- SLOT="0/${PV}"
+ KEYWORDS="amd64 ~arm arm64 ppc64 x86"
fi
DESCRIPTION="C toolkit to manipulate virtual machines"
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
LICENSE="LGPL-2.1"
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+SLOT="0/${PV}"
IUSE="
- apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
- iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nfs nls numa openvz
+ parted pcap policykit +qemu rbd sasl selinux test +udev
virtualbox +virt-network wireshark-plugins xen zfs
"
+RESTRICT="!test? ( test )"
REQUIRED_USE="
firewalld? ( virt-network )
@@ -47,43 +53,43 @@ BDEPEND="
dev-perl/XML-XPath
dev-python/docutils
virtual/pkgconfig
- verify-sig? ( app-crypt/openpgp-keys-libvirt )"
+ net-libs/rpcsvc-proto
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
# 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
+# we must go with the most recent.
RDEPEND="
acct-user/qemu
app-misc/scrub
- >=dev-libs/glib-2.48.0
- dev-libs/libgcrypt:0
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
dev-libs/libnl:3
- >=dev-libs/libxml2-2.7.6
+ >=dev-libs/libxml2-2.9.1
>=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-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
>=net-misc/curl-7.18.0
sys-apps/dbus
sys-apps/dmidecode
sys-devel/gettext
- sys-libs/ncurses:0=
- sys-libs/readline:=
+ >=sys-libs/readline-7.0:=
virtual/acl
apparmor? ( sys-libs/libapparmor )
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
+ dtrace? ( dev-debug/systemtap )
firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( sys-block/open-iscsi )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( net-libs/libssh )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
nfs? ( net-fs/nfs-utils )
numa? (
@@ -92,47 +98,57 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
- pcap? ( >=net-libs/libpcap-1.0.0 )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
acct-group/libvirt
>=sys-auth/polkit-0.9
)
qemu? (
- >=app-emulation/qemu-1.5.0
- dev-libs/yajl
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
)
rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
selinux? ( >=sys-libs/libselinux-2.0.85 )
virt-network? (
- net-dns/dnsmasq[dhcp,ipv6,script]
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6]
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
net-misc/radvd
sys-apps/iproute2[-minimal]
)
- wireshark-plugins? ( net-analyzer/wireshark:= )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
xen? (
- >=app-emulation/xen-4.6.0
+ >=app-emulation/xen-4.9.0
app-emulation/xen-tools:=
)
udev? (
- virtual/libudev
+ virtual/libudev:=
>=x11-libs/libpciaccess-0.10.9
)
- zfs? ( sys-fs/zfs )"
-
-DEPEND="${BDEPEND}
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
${RDEPEND}
- ${PYTHON_DEPS}"
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-6.7.0-doc-path.patch
- "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.4.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
+ "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
+ "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch
)
pkg_setup() {
@@ -186,10 +202,21 @@ pkg_setup() {
~IP_NF_FILTER
~IP_NF_MANGLE
~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
~IP6_NF_FILTER
~IP6_NF_MANGLE
~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
# Bandwidth Limiting Support
use virt-network && CONFIG_CHECK+="
~BRIDGE_EBT_T_NAT
@@ -216,6 +243,11 @@ src_prepare() {
default
python_fix_shebang .
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
@@ -225,7 +257,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
$(meson_feature apparmor)
- $(meson_use apparmor apparmor_profiles)
+ $(meson_feature apparmor apparmor_profiles)
$(meson_feature audit)
$(meson_feature caps capng)
$(meson_feature dtrace)
@@ -237,6 +269,7 @@ src_configure() {
$(meson_feature iscsi-direct storage_iscsi_direct)
$(meson_feature libvirtd driver_libvirtd)
$(meson_feature libssh)
+ $(meson_feature libssh2)
$(meson_feature lvm storage_lvm)
$(meson_feature lvm storage_mpath)
$(meson_feature lxc driver_lxc)
@@ -252,6 +285,7 @@ src_configure() {
$(meson_feature rbd storage_rbd)
$(meson_feature sasl)
$(meson_feature selinux)
+ $(meson_feature test tests)
$(meson_feature udev)
$(meson_feature virt-network driver_network)
$(meson_feature virtualbox driver_vbox)
@@ -261,6 +295,7 @@ src_configure() {
-Dnetcf=disabled
-Dsanlock=disabled
+ -Dopenwsman=disabled
-Ddriver_esx=enabled
-Dinit_script=systemd
@@ -271,7 +306,9 @@ src_configure() {
-Ddriver_vmware=enabled
--localstatedir="${EPREFIX}/var"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
-Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
)
meson_src_configure
@@ -279,7 +316,11 @@ src_configure() {
src_test() {
export VIR_TEST_DEBUG=1
- meson_src_test
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
}
src_install() {
@@ -295,15 +336,6 @@ src_install() {
rm -rf "${D}"/var
rm -rf "${D}"/run
- # Fix up doc paths for revisions
- if [[ ${PV} != ${PVR} ]]; then
- mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
- rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
- fi
-
- newbashcomp "${S}/tools/bash-completion/vsh" virsh
- bashcomp_alias virsh virt-admin
-
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
@@ -329,6 +361,6 @@ pkg_postinst() {
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
-
+ tmpfiles_process libvirtd.conf
readme.gentoo_print_elog
}
diff --git a/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild
new file mode 100644
index 000000000000..684c0dc7afe2
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild
@@ -0,0 +1,367 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
+ EGIT_BRANCH="master"
+else
+ SRC_URI="https://libvirt.org/sources/${P}.tar.xz
+ verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+fi
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+IUSE="
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nfs nls numa openvz
+ parted pcap policykit +qemu rbd sasl selinux test +udev virtiofsd
+ virtualbox +virt-network wireshark-plugins xen zfs
+"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ firewalld? ( virt-network )
+ libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ virt-network? ( libvirtd )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
+
+BDEPEND="
+ app-text/xhtml1
+ dev-lang/perl
+ dev-libs/libxslt
+ dev-perl/XML-XPath
+ dev-python/docutils
+ virtual/pkgconfig
+ net-libs/rpcsvc-proto
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
+
+# 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
+ app-misc/scrub
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
+ dev-libs/libnl:3
+ >=dev-libs/libxml2-2.9.1
+ >=net-analyzer/openbsd-netcat-1.105-r1
+ >=net-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
+ >=net-misc/curl-7.18.0
+ sys-apps/dbus
+ sys-apps/dmidecode
+ sys-devel/gettext
+ >=sys-libs/readline-7.0:=
+ virtual/acl
+ apparmor? ( sys-libs/libapparmor )
+ audit? ( sys-process/audit )
+ caps? ( sys-libs/libcap-ng )
+ dtrace? ( dev-debug/systemtap )
+ firewalld? ( >=net-firewall/firewalld-0.6.3 )
+ fuse? ( sys-fs/fuse:= )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
+ iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
+ 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[lvm]
+ )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
+ policykit? (
+ acct-group/libvirt
+ >=sys-auth/polkit-0.9
+ )
+ qemu? (
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
+ )
+ rbd? ( sys-cluster/ceph )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
+ selinux? ( >=sys-libs/libselinux-2.0.85 )
+ virt-network? (
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
+ net-firewall/ebtables
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
+ net-misc/radvd
+ sys-apps/iproute2[-minimal]
+ )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
+ xen? (
+ >=app-emulation/xen-4.9.0
+ app-emulation/xen-tools:=
+ )
+ udev? (
+ virtual/libudev:=
+ >=x11-libs/libpciaccess-0.10.9
+ )
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch
+ "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch
+ "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.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 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
+ ~IP6_NF_FILTER
+ ~IP6_NF_MANGLE
+ ~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
+ # 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"
+
+ ERROR_USER_NS="Optional depending on LXC configuration."
+
+ if [[ -n ${CONFIG_CHECK} ]]; then
+ linux-info_pkg_setup
+ fi
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ touch "${S}/.mailmap" || die
+
+ default
+ python_fix_shebang .
+
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
+ # 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"
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature apparmor)
+ $(meson_feature apparmor apparmor_profiles)
+ $(meson_feature audit)
+ $(meson_feature caps capng)
+ $(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 libssh2)
+ $(meson_feature lvm storage_lvm)
+ $(meson_feature lvm storage_mpath)
+ $(meson_feature lxc driver_lxc)
+ $(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 test tests)
+ $(meson_feature udev)
+ $(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)
+
+ -Dnetcf=disabled
+ -Dsanlock=disabled
+ -Dopenwsman=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"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
+ -Drunstatedir="${EPREFIX}/run"
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ export VIR_TEST_DEBUG=1
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
+}
+
+src_install() {
+ meson_src_install
+
+ # Depending on configuration option, libvirt will create some bogus
+ # directoreis. They are either not used, or libvirtd is able to create
+ # them on demand, so let's remove them.
+ #
+ # Note, we are using -f here so that rm does not fail or warn if the
+ # directory is nonexistent.
+ rm -rf "${D}"/etc/sysconfig
+ rm -rf "${D}"/var
+ rm -rf "${D}"/run
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+
+ newtmpfiles "${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_postinst() {
+ if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+ touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
+ fi
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+ tmpfiles_process libvirtd.conf
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index 767580ad5f76..f1c08714d713 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -1,32 +1,40 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Packages which get releases together:
+# app-emacs/nxml-libvirt-schemas
+# dev-python/libvirt-python
+# dev-perl/Sys-Virt
+# app-emulation/libvirt
+# Please bump them together!
-inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 tmpfiles
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc
+inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
- SRC_URI=""
- SLOT="0"
+ EGIT_BRANCH="master"
else
- SRC_URI="https://libvirt.org/sources/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
- SLOT="0/${PV}"
+ SRC_URI="https://libvirt.org/sources/${P}.tar.xz
+ verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="C toolkit to manipulate virtual machines"
-HOMEPAGE="https://www.libvirt.org/"
+HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
IUSE="
- apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
- iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
- parted pcap policykit +qemu rbd sasl selinux +udev
- virtualbox +virt-network wireshark-plugins xen zfs
+ apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
+ iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa
+ openvz parted pcap policykit +qemu rbd sasl selinux test +udev
+ virtiofsd virtualbox +virt-network wireshark-plugins xen zfs
"
+RESTRICT="!test? ( test )"
REQUIRED_USE="
firewalld? ( virt-network )
@@ -44,44 +52,45 @@ BDEPEND="
dev-libs/libxslt
dev-perl/XML-XPath
dev-python/docutils
- virtual/pkgconfig"
+ virtual/pkgconfig
+ bash-completion? ( >=app-shells/bash-completion-2.0 )
+ verify-sig? ( sec-keys/openpgp-keys-libvirt )"
# 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
+# we must go with the most recent.
RDEPEND="
acct-user/qemu
app-misc/scrub
- >=dev-libs/glib-2.48.0
- dev-libs/libgcrypt:0
+ >=dev-libs/glib-2.56.0
+ dev-libs/libgcrypt
dev-libs/libnl:3
- >=dev-libs/libxml2-2.7.6
+ >=dev-libs/libxml2-2.9.1
>=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-libs/gnutls-3.2.0:=
+ net-libs/libtirpc:=
>=net-misc/curl-7.18.0
sys-apps/dbus
sys-apps/dmidecode
sys-devel/gettext
- sys-libs/ncurses:0=
- sys-libs/readline:=
+ >=sys-libs/readline-7.0:=
virtual/acl
apparmor? ( sys-libs/libapparmor )
audit? ( sys-process/audit )
caps? ( sys-libs/libcap-ng )
- dtrace? ( dev-util/systemtap )
+ dtrace? ( dev-debug/systemtap )
firewalld? ( >=net-firewall/firewalld-0.6.3 )
- fuse? ( sys-fs/fuse:0= )
+ fuse? ( sys-fs/fuse:= )
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
- iscsi? ( sys-block/open-iscsi )
+ iscsi? ( >=sys-block/open-iscsi-1.18.0 )
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
- libssh? ( net-libs/libssh )
- lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
+ libssh? ( >=net-libs/libssh-0.8.1:= )
+ libssh2? ( >=net-libs/libssh2-1.3 )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
+ nbd? ( sys-block/nbdkit )
nfs? ( net-fs/nfs-utils )
numa? (
>sys-process/numactl-2.0.2
@@ -89,46 +98,55 @@ RDEPEND="
)
parted? (
>=sys-block/parted-1.8[device-mapper]
- sys-fs/lvm2[-device-mapper-only(-)]
+ sys-fs/lvm2[lvm]
)
- pcap? ( >=net-libs/libpcap-1.0.0 )
+ pcap? ( >=net-libs/libpcap-1.8.0 )
policykit? (
acct-group/libvirt
>=sys-auth/polkit-0.9
)
qemu? (
- >=app-emulation/qemu-1.5.0
- dev-libs/yajl
+ >=app-emulation/qemu-4.2
+ app-crypt/swtpm
+ >=dev-libs/yajl-2.0.3:=
)
rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
+ sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
selinux? ( >=sys-libs/libselinux-2.0.85 )
virt-network? (
- net-dns/dnsmasq[dhcp,ipv6,script]
+ net-dns/dnsmasq[dhcp,ipv6(+),script]
net-firewall/ebtables
- >=net-firewall/iptables-1.4.10[ipv6]
+ >=net-firewall/iptables-1.4.10[ipv6(+)]
net-misc/radvd
sys-apps/iproute2[-minimal]
)
- wireshark-plugins? ( net-analyzer/wireshark:= )
+ virtiofsd? ( app-emulation/virtiofsd )
+ wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
xen? (
- >=app-emulation/xen-4.6.0
+ >=app-emulation/xen-4.9.0
app-emulation/xen-tools:=
)
udev? (
- virtual/libudev
+ virtual/libudev:=
>=x11-libs/libpciaccess-0.10.9
)
- zfs? ( sys-fs/zfs )"
-
-DEPEND="${BDEPEND}
+ zfs? ( sys-fs/zfs )
+ kernel_linux? ( sys-apps/util-linux )"
+DEPEND="
+ ${BDEPEND}
${RDEPEND}
- ${PYTHON_DEPS}"
+ ${PYTHON_DEPS}
+"
+# The 'circular' dependency on dev-python/libvirt-python is because of
+# virt-qemu-qmp-proxy.
+PDEPEND="
+ qemu? ( dev-python/libvirt-python )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
- "${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
- "${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
+ "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
+ "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch
+ "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
)
pkg_setup() {
@@ -182,10 +200,21 @@ pkg_setup() {
~IP_NF_FILTER
~IP_NF_MANGLE
~IP_NF_NAT
- ~IP_NF_TARGET_MASQUERADE
~IP6_NF_FILTER
~IP6_NF_MANGLE
~IP6_NF_NAT"
+
+ # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
+ if use virt-network ; then
+ if kernel_is -lt 5 2 ; then
+ CONFIG_CHECK+="
+ ~IP_NF_TARGET_MASQUERADE"
+ else
+ CONFIG_CHECK+="
+ ~NETFILTER_XT_TARGET_MASQUERADE"
+ fi
+ fi
+
# Bandwidth Limiting Support
use virt-network && CONFIG_CHECK+="
~BRIDGE_EBT_T_NAT
@@ -197,13 +226,6 @@ pkg_setup() {
~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
@@ -219,6 +241,11 @@ src_prepare() {
default
python_fix_shebang .
+ # Skip fragile tests which relies on pristine environment
+ # (Breaks because of sandbox environment variables)
+ # bug #802876
+ sed -i -e "/commandtest/d" tests/meson.build || die
+
# Tweak the init script:
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
@@ -228,7 +255,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
$(meson_feature apparmor)
- $(meson_use apparmor apparmor_profiles)
+ $(meson_feature apparmor apparmor_profiles)
$(meson_feature audit)
$(meson_feature caps capng)
$(meson_feature dtrace)
@@ -240,9 +267,11 @@ src_configure() {
$(meson_feature iscsi-direct storage_iscsi_direct)
$(meson_feature libvirtd driver_libvirtd)
$(meson_feature libssh)
+ $(meson_feature libssh2)
$(meson_feature lvm storage_lvm)
$(meson_feature lvm storage_mpath)
$(meson_feature lxc driver_lxc)
+ $(meson_feature nbd nbdkit)
$(meson_feature nls)
$(meson_feature numa numactl)
$(meson_feature numa numad)
@@ -255,6 +284,7 @@ src_configure() {
$(meson_feature rbd storage_rbd)
$(meson_feature sasl)
$(meson_feature selinux)
+ $(meson_feature test tests)
$(meson_feature udev)
$(meson_feature virt-network driver_network)
$(meson_feature virtualbox driver_vbox)
@@ -264,6 +294,7 @@ src_configure() {
-Dnetcf=disabled
-Dsanlock=disabled
+ -Dopenwsman=disabled
-Ddriver_esx=enabled
-Dinit_script=systemd
@@ -274,6 +305,7 @@ src_configure() {
-Ddriver_vmware=enabled
--localstatedir="${EPREFIX}/var"
+ -Dinitconfdir="${EPREFIX}/etc/systemd"
-Drunstatedir="${EPREFIX}/run"
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
)
@@ -283,20 +315,25 @@ src_configure() {
src_test() {
export VIR_TEST_DEBUG=1
- meson_src_test
+ # Don't run the syntax check tests, they're fragile and not relevant
+ # to us downstream anyway.
+ # We also crank up the timeout (as Fedora does) just to preempt failures
+ # on slower arches.
+ meson_src_test --no-suite syntax-check --timeout-multiplier 10
}
src_install() {
meson_src_install
- # Remove bogus, empty directories. They are either not used, or
- # libvirtd is able to create them on demand
- rm -rf "${D}"/etc/sysconfig || die
- rm -rf "${D}"/var || die
- rm -rf "${D}"/run || die
-
- newbashcomp "${S}/tools/bash-completion/vsh" virsh
- bashcomp_alias virsh virt-admin
+ # Depending on configuration option, libvirt will create some bogus
+ # directoreis. They are either not used, or libvirtd is able to create
+ # them on demand, so let's remove them.
+ #
+ # Note, we are using -f here so that rm does not fail or warn if the
+ # directory is nonexistent.
+ rm -rf "${D}"/etc/sysconfig
+ rm -rf "${D}"/var
+ rm -rf "${D}"/run
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
@@ -316,13 +353,6 @@ src_install() {
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 || die
- fi
-}
-
pkg_postinst() {
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
@@ -330,6 +360,6 @@ pkg_postinst() {
use libvirtd || return 0
# From here, only libvirtd-related instructions, be warned!
-
+ tmpfiles_process libvirtd.conf
readme.gentoo_print_elog
}
diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml
index 54914eb3f864..16610185fea3 100644
--- a/app-emulation/libvirt/metadata.xml
+++ b/app-emulation/libvirt/metadata.xml
@@ -1,91 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
-</maintainer>
-<maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
-</maintainer>
-<use>
- <!-- Pool backend flags -->
- <flag name="iscsi-direct">
- Allow using libiscsi for iSCSI storage pool backend
- </flag>
- <flag name="iscsi">
- Allow using an iSCSI remote storage server as pool for disk image storage
- </flag>
- <flag name="lvm">
- Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image
- storage
- </flag>
- <flag name="nfs">
- Allow using Network File System mounts as pool for disk image storage
- </flag>
- <flag name="parted">
- Allow using real disk partitions as pool for disk image storage, using
- <pkg>sys-block/parted</pkg> to create, resize and delete them.
- </flag>
- <flag name="rbd">
- Enable rados block device support via <pkg>sys-cluster/ceph</pkg>
- </flag>
- <!-- Virtualisation backends -->
- <flag name="lxc">
- Support management of Linux Containers virtualisation (<pkg>app-emulation/lxc</pkg>)
- </flag>
- <flag name="openvz">
- Support management of OpenVZ virtualisation (openvz-sources)
- </flag>
- <flag name="qemu">
- Support management of QEMU virtualisation (<pkg>app-emulation/qemu</pkg>)
- </flag>
- <flag name="xen">
- Support management of Xen virtualisation (<pkg>app-emulation/xen</pkg>)
- </flag>
- <flag name="virtualbox">
- Support management of VirtualBox virtualisation (<pkg>app-emulation/virtualbox</pkg>)
- </flag>
- <!-- Miscellaneous flags -->
- <flag name="apparmor">Enable AppArmor support</flag>
- <flag name="dtrace">Enable dtrace support via <pkg>dev-util/systemtap</pkg></flag>
- <flag name="fuse">Allow LXC to use <pkg>sys-fs/fuse</pkg> for mount
- points</flag>
- <flag name="numa">
- Use NUMA for memory segmenting via <pkg>sys-process/numactl</pkg> and
- <pkg>sys-process/numad</pkg>
- </flag>
- <flag name="libvirtd">
- Builds the libvirtd daemon as well as the client utilities instead of just the client
- utilities
- </flag>
- <flag name="libssh">
- Use <pkg>net-libs/libssh</pkg> to communicate with remote libvirtd hosts,
- for example: qemu+libssh://server/system
- </flag>
- <flag name="pcap">
- Support auto learning IP addreses for routing
- </flag>
- <flag name="virt-network">
- Enable virtual networking (NAT) support for guests. Includes all
- the dependencies for NATed network mode. Effectively any network
- setup that relies on libvirt to setup and configure network
- interfaces on your host. This can include bridged and routed
- networks ONLY if you are allowing libvirt to create and manage
- the underlying devices for you. In some cases this requires
- enabling the 'netcf' USE flag (currently unavailable).
- </flag>
- <flag name="firewalld">DBus interface to iptables/ebtables allowing
- for better runtime management of your firewall.</flag>
- <flag name="wireshark-plugins">
- Build the <pkg>net-analyzer/wireshark</pkg> plugin for the Libvirt RPC protocol
- </flag>
- <flag name="glusterfs">
- Enable GlusterFS support via <pkg>sys-cluster/glusterfs</pkg>
- </flag>
- <flag name="zfs">
- Enable ZFS backend storage <pkg>sys-fs/zfs</pkg>
- </flag>
-</use>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>michal.privoznik@gmail.com</email>
+ <name>Michal Prívozník</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <use>
+ <!-- Pool backend flags -->
+ <flag name="iscsi-direct">
+ Allow using libiscsi for iSCSI storage pool backend
+ </flag>
+ <flag name="iscsi">
+ Allow using an iSCSI remote storage server as pool for disk image storage
+ </flag>
+ <flag name="lvm">
+ Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image
+ storage
+ </flag>
+ <flag name="nbd">
+ Allow using <pkg>sys-block/nbdkit</pkg> to access network disks
+ </flag>
+ <flag name="nfs">
+ Allow using Network File System mounts as pool for disk image storage
+ </flag>
+ <flag name="parted">
+ Allow using real disk partitions as pool for disk image storage, using
+ <pkg>sys-block/parted</pkg> to create, resize and delete them.
+ </flag>
+ <flag name="rbd">
+ Enable rados block device support via <pkg>sys-cluster/ceph</pkg>
+ </flag>
+ <!-- Virtualisation backends -->
+ <flag name="lxc">
+ Support management of Linux Containers virtualisation (<pkg>app-containers/lxc</pkg>)
+ </flag>
+ <flag name="openvz">
+ Support management of OpenVZ virtualisation (openvz-sources)
+ </flag>
+ <flag name="qemu">
+ Support management of QEMU virtualisation (<pkg>app-emulation/qemu</pkg>)
+ </flag>
+ <flag name="xen">
+ Support management of Xen virtualisation (<pkg>app-emulation/xen</pkg>)
+ </flag>
+ <flag name="virtualbox">
+ Support management of VirtualBox virtualisation (<pkg>app-emulation/virtualbox</pkg>)
+ </flag>
+ <!-- Miscellaneous flags -->
+ <flag name="dtrace">Enable dtrace support via <pkg>dev-debug/systemtap</pkg></flag>
+ <flag name="fuse">Allow LXC to use <pkg>sys-fs/fuse</pkg> for mountpoints</flag>
+ <flag name="numa">
+ Use NUMA for memory segmenting via <pkg>sys-process/numactl</pkg> and
+ <pkg>sys-process/numad</pkg>
+ </flag>
+ <flag name="libvirtd">
+ Builds the libvirtd daemon as well as the client utilities instead of just the client
+ utilities
+ </flag>
+ <flag name="libssh">
+ Use <pkg>net-libs/libssh</pkg> to communicate with remote libvirtd hosts,
+ for example: qemu+libssh://server/system
+ </flag>
+ <flag name="libssh2">
+ Use <pkg>net-libs/libssh2</pkg> to communicate with remote libvirtd hosts,
+ for example: qemu+libssh2://server/system
+ </flag>
+ <flag name="pcap">
+ Support auto learning IP addreses for routing
+ </flag>
+ <flag name="virt-network">
+ Enable virtual networking (NAT) support for guests. Includes all
+ the dependencies for NATed network mode. Effectively any network
+ setup that relies on libvirt to setup and configure network
+ interfaces on your host. This can include bridged and routed
+ networks ONLY if you are allowing libvirt to create and manage
+ the underlying devices for you. In some cases this requires
+ enabling the 'netcf' USE flag (currently unavailable).
+ </flag>
+ <flag name="firewalld">DBus interface to iptables/ebtables allowing
+ for better runtime management of your firewall.</flag>
+ <flag name="wireshark-plugins">
+ Build the <pkg>net-analyzer/wireshark</pkg> plugin for the Libvirt RPC protocol
+ </flag>
+ <flag name="glusterfs">
+ Enable GlusterFS support via <pkg>sys-cluster/glusterfs</pkg>
+ </flag>
+ <flag name="zfs">
+ Enable ZFS backend storage <pkg>sys-fs/zfs</pkg>
+ </flag>
+ <flag name="virtiofsd">
+ Drag in virtiofsd dependency <pkg>app-emulation/virtiofsd</pkg>
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="gitlab">libvirt/libvirt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/lxc-templates/Manifest b/app-emulation/lxc-templates/Manifest
deleted file mode 100644
index 292a5eb8bce9..000000000000
--- a/app-emulation/lxc-templates/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST lxc-templates-3.0.4.tar.gz 257015 BLAKE2B 599c0cb083cf358c8252467b3870450e754b2aa30daf8d72e07e746ce37e2fb26fecc0adf416325c9e02b1f98f5745af5985360e9494e5ed54a242a3e17330d4 SHA512 e5b628b40e7108fca858dbd9ae92495016069ff3cba7feb34e9559c7f61dfc36944a9ef441369952a988e821f8b5d883ae97b81f6eef0683a22f1f702b5b913e
-DIST lxc-templates-3.0.4.tar.gz.asc 833 BLAKE2B a125e46200cbc1bce6a721ba338b6c896098711a7454ee18a153b9e7a3d25e08ea29cf13accf25e8af085865237fe4b20d633c92d71103213a49ba7d80de0154 SHA512 1195a3d835935606af405af77d5ee629dc7b7c0f05a17c05df191f6275c8e7ebec9eb05201bbfb46060af5a36aba4f17b53122904fd10f2d8b28524f4e5b5e71
diff --git a/app-emulation/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch b/app-emulation/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch
deleted file mode 100644
index d7e50fd3712b..000000000000
--- a/app-emulation/lxc-templates/files/lxc-templates-3.0.1-no-cache-dir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -10,9 +10,5 @@ EXTRA_DIST = \
- CONTRIBUTING \
- MAINTAINERS
-
--install-data-local:
-- $(MKDIR_P) $(DESTDIR)$(LXCPATH)
-- $(MKDIR_P) $(DESTDIR)$(localstatedir)/cache/lxc
--
- ChangeLog::
- @touch ChangeLog
diff --git a/app-emulation/lxc-templates/lxc-templates-3.0.4.ebuild b/app-emulation/lxc-templates/lxc-templates-3.0.4.ebuild
deleted file mode 100644
index 744cb45be222..000000000000
--- a/app-emulation/lxc-templates/lxc-templates-3.0.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools verify-sig
-
-DESCRIPTION="Old style template scripts for LXC"
-HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc-templates"
-SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
-
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
-LICENSE="LGPL-3"
-SLOT="0"
-
-RDEPEND=">=app-emulation/lxc-3.0"
-DEPEND="${RDEPEND}"
-BDEPEND="verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
-
-PATCHES=( "${FILESDIR}/${PN}-3.0.1-no-cache-dir.patch" )
-DOCS=()
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/app-emulation/lxc-templates/metadata.xml b/app-emulation/lxc-templates/metadata.xml
deleted file mode 100644
index 8c511deb056f..000000000000
--- a/app-emulation/lxc-templates/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>juippis@gentoo.org</email>
- <name>Joonas Niilola</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">lxc/lxc-templates</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest
deleted file mode 100644
index 3db082ff7623..000000000000
--- a/app-emulation/lxc/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST lxc-4.0.6.tar.gz 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15
-DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017ae989d47323831d467324f99801b40c3bb70f00d7521753a298e6fa339f0da039c4d72b0163d0efc815d7e7 SHA512 baeafa5b63034e2884d5ab4f11710612bed1c61cd493ac19b9b24b93365b89325518b69878015b4b752f71beda47ecabf774b698e6be9ec9aa86376df2c302db
diff --git a/app-emulation/lxc/files/lxc-2.0.5-omit-sysconfig.patch b/app-emulation/lxc/files/lxc-2.0.5-omit-sysconfig.patch
deleted file mode 100644
index 3ec81356499e..000000000000
--- a/app-emulation/lxc/files/lxc-2.0.5-omit-sysconfig.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- /config/Makefile.am.orig 2016-05-19 02:56:11.891113982 +0000
-+++ /config/Makefile.am 2016-05-19 02:56:32.596115476 +0000
-@@ -1 +1 @@
--SUBDIRS = apparmor bash etc init selinux templates yum sysconfig
-+SUBDIRS = apparmor bash etc init selinux templates yum
diff --git a/app-emulation/lxc/files/lxc-3.0.0-bash-completion.patch b/app-emulation/lxc/files/lxc-3.0.0-bash-completion.patch
deleted file mode 100644
index 2a08eedb1c2d..000000000000
--- a/app-emulation/lxc/files/lxc-3.0.0-bash-completion.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/config/bash/lxc.in b/config/bash/lxc.in
-index 43056882..0a22d4ad 100644
---- a/config/bash/lxc.in
-+++ b/config/bash/lxc.in
-@@ -1,4 +1,3 @@
--_have lxc-start && {
- _lxc_names() {
- COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) )
- }
-@@ -108,4 +107,3 @@ _have lxc-start && {
- complete -o default -F _lxc_generic_t lxc-create
-
- complete -o default -F _lxc_generic_o lxc-copy
--}
-diff --git a/configure.ac b/configure.ac
-index 50c99836..0569caec 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -395,7 +395,7 @@ AM_CONDITIONAL([ENABLE_BASH], [test "x$enable_bash" = "xyes"])
- AM_COND_IF([ENABLE_BASH],
- [AC_MSG_CHECKING([bash completion directory])
- PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
-- bashcompdir="${sysconfdir}/bash_completion.d")
-+ bashcompdir="$datadir/bash-completion/completions")
- AC_MSG_RESULT([$bashcompdir])
- AC_SUBST(bashcompdir)
- ])
diff --git a/app-emulation/lxc/files/lxc.initd.8 b/app-emulation/lxc/files/lxc.initd.8
deleted file mode 100644
index 727f6d504fb3..000000000000
--- a/app-emulation/lxc/files/lxc.initd.8
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-CONTAINER=${SVCNAME#*.}
-
-LXC_PATH=`lxc-config lxc.lxcpath`
-
-lxc_get_configfile() {
- if [ -f "${LXC_PATH}/${CONTAINER}.conf" ]; then
- echo "${LXC_PATH}/${CONTAINER}.conf"
- elif [ -f "${LXC_PATH}/${CONTAINER}/config" ]; then
- echo "${LXC_PATH}/${CONTAINER}/config"
- else
- eerror "Unable to find a suitable configuration file."
- eerror "If you set up the container in a non-standard"
- eerror "location, please set the CONFIGFILE variable."
- return 1
- fi
-}
-
-[ $CONTAINER != $SVCNAME ] && CONFIGFILE=${CONFIGFILE:-$(lxc_get_configfile)}
-
-lxc_get_var() {
- awk 'BEGIN { FS="[ \t]*=[ \t]*" } $1 == "'$1'" { print $2; exit }' ${CONFIGFILE}
-}
-
-lxc_get_net_link_type() {
- awk 'BEGIN { FS="[ \t]*=[ \t]*"; _link=""; _type="" }
- $1 == "lxc.network.type" {_type=$2;}
- $1 == "lxc.network.link" {_link=$2;}
- match($1, /lxc\.net\.[[:digit:]]+\.type/) {_type=$2;}
- match($1, /lxc\.net\.[[:digit:]]+\.link/) {_link=$2;}
- {if(_link != "" && _type != ""){
- printf("%s:%s\n", _link, _type );
- _link=""; _type="";
- }; }' <${CONFIGFILE}
-}
-
-checkconfig() {
- if [ ${CONTAINER} = ${SVCNAME} ]; then
- eerror "You have to create an init script for each container:"
- eerror " ln -s lxc /etc/init.d/lxc.container"
- return 1
- fi
-
- # no need to output anything, the function takes care of that.
- [ -z "${CONFIGFILE}" ] && return 1
-
- utsname=$(lxc_get_var lxc.uts.name)
- if [ -z "$utsname" ] ; then
- utsname=$(lxc_get_var lxc.utsname)
- fi
-
- if [ "${CONTAINER}" != "${utsname}" ]; then
- eerror "You should use the same name for the service and the"
- eerror "container. Right now the container is called ${utsname}"
- return 1
- fi
-}
-
-depend() {
- # be quiet, since we have to run depend() also for the
- # non-muxed init script, unfortunately.
- checkconfig 2>/dev/null || return 0
-
- config ${CONFIGFILE}
- need localmount
- use lxcfs
-
- local _x _if
- for _x in $(lxc_get_net_link_type); do
- _if=${_x%:*}
- case "${_x##*:}" in
- # when the network type is set to phys, we can make use of a
- # network service (for instance to set it up before we disable
- # the net_admin capability), but we might also not set it up
- # at all on the host and leave the net_admin capable service
- # to take care of it.
- phys) use net.${_if} ;;
- *) need net.${_if} ;;
- esac
- done
-}
-
-start() {
- checkconfig || return 1
- rm -f /var/log/lxc/${CONTAINER}.log
-
- rootpath=$(lxc_get_var lxc.rootfs)
-
- # Check the format of our init and the chroot's init, to see
- # if we have to use linux32 or linux64; always use setarch
- # when required, as that makes it easier to deal with
- # x32-based containers.
- case $(scanelf -BF '%a#f' ${rootpath}/sbin/init) in
- EM_X86_64) setarch=linux64;;
- EM_386) setarch=linux32;;
- esac
-
- ebegin "Starting LXC container ${CONTAINER}"
- env -i ${setarch} $(which lxc-start) -n ${CONTAINER} -f ${CONFIGFILE} -d -o /var/log/lxc/${CONTAINER}.log
- sleep 1
-
- # lxc-start -d will _always_ report a correct startup, even if it
- # failed, so rather than trust that, check that the cgroup exists.
- # fix for LXC 3.1
-
- STATE="$(lxc-info -s -H ${CONTAINER})"
- [ "$STATE" = "RUNNING" ]
-
- eend $?
-}
-
-stop() {
- checkconfig || return 1
-
- STATE="$(lxc-info -s -H ${CONTAINER})"
-
- if ! [ "$STATE" = "RUNNING" ]; then
- ewarn "${CONTAINER} doesn't seem to be started."
- return 0
- fi
-
- # 30s should be enough to shut everything down
- # lxc-stop will return back anyway as soon as successful shutdown
- # after 30s, lxc-stop sends SIGKILL (dirty shotdown)
- ebegin "Stopping LXC container ${CONTAINER}"
- lxc-stop -t 30 -n ${CONTAINER}
- eend $?
-}
diff --git a/app-emulation/lxc/files/lxc_at.service.4.0.0 b/app-emulation/lxc/files/lxc_at.service.4.0.0
deleted file mode 100644
index b354bc53e080..000000000000
--- a/app-emulation/lxc/files/lxc_at.service.4.0.0
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Linux Container %i
-After=network.target
-Wants=lxcfs.service
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/lxc-start -d -n %i -p /run/lxc-%i.pid
-PIDFile=/run/lxc-%i.pid
-ExecStop=/usr/bin/lxc-stop -n %i
-Delegate=true
-TasksMax=32768
-
-[Install]
-WantedBy=multi-user.target
diff --git a/app-emulation/lxc/lxc-4.0.6.ebuild b/app-emulation/lxc/lxc-4.0.6.ebuild
deleted file mode 100644
index ff87b65cfbfb..000000000000
--- a/app-emulation/lxc/lxc-4.0.6.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2021 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 optfeature pam readme.gentoo-r1 systemd verify-sig
-
-DESCRIPTION="A userspace interface for the Linux kernel containment features"
-HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc"
-SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
-
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
-LICENSE="LGPL-3"
-SLOT="0"
-IUSE="apparmor +caps doc examples libressl man pam selinux +ssl +tools verify-sig"
-
-RDEPEND="acct-group/lxc
- acct-user/lxc
- app-misc/pax-utils
- sys-apps/util-linux
- sys-libs/libcap
- sys-libs/libseccomp
- virtual/awk
- caps? ( sys-libs/libcap )
- pam? ( sys-libs/pam )
- selinux? ( sys-libs/libselinux )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-4
- apparmor? ( sys-apps/apparmor )"
-BDEPEND="doc? ( app-doc/doxygen )
- man? ( app-text/docbook-sgml-utils )
- verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
-
-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
-)
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
-
- 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-memfd-rexec
- --enable-seccomp
- --enable-thread-safety
-
- $(use_enable apparmor)
- $(use_enable caps capabilities)
- $(use_enable doc api-docs)
- $(use_enable examples)
- $(use_enable man doc)
- $(use_enable pam)
- $(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."
- DISABLE_AUTOFORMATTING=true
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-
- elog "Please run 'lxc-checkconfig' to see optional kernel features."
- elog
- optfeature "automatic template scripts" app-emulation/lxc-templates
- optfeature "Debian-based distribution container image support" dev-util/debootstrap
- optfeature "snapshot & restore functionality" sys-process/criu
-}
diff --git a/app-emulation/lxc/metadata.xml b/app-emulation/lxc/metadata.xml
deleted file mode 100644
index b332e72238d6..000000000000
--- a/app-emulation/lxc/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>juippis@gentoo.org</email>
- <name>Joonas Niilola</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
- <use>
- <flag name="apparmor">Enable AppArmor support</flag>
- <flag name="tools">Build and install additional command line tools</flag>
- </use>
- <upstream>
- <remote-id type="github">lxc/lxc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/lxd/Manifest b/app-emulation/lxd/Manifest
deleted file mode 100644
index 3a7e504a79d8..000000000000
--- a/app-emulation/lxd/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST lxd-4.0.4.tar.gz 14166577 BLAKE2B 5a04efa1bf70d416b328f5f85379a7c697667978a2b7571c05f8d834ccea51c65ce3df447787ccad5c0a9cc524bc396eb5c90b26b92d6252fc07a5be0157e0ea SHA512 800768b923de920e04d676d9c87beedd2ddd164661799c429616f6fa00b36f23ae1d9cff56f2ed16172585b9b3c058ee955eb3e5f8d98c84109c4405c5aae23f
-DIST lxd-4.0.4.tar.gz.asc 833 BLAKE2B bac0b63fc7fe61290bd399ef09eaf0bae12ac962b1188c49fa94c9132b002c278dcdb271d35a1784848591a315a8e88eab823c1c653ef814d454a0af607e461b SHA512 7fc9b9b27305d7637efeaf4024a8a26e2f891599fe50fa22e2f9defa6d451a015d74d068f63a9547fce312ed5fb5da82b99be9dc13601f807695cf1b675baf15
-DIST lxd-4.0.5.tar.gz 14659330 BLAKE2B 4d61885a94946d3a6018324512ea318716cb9c1bc5f40be4eb62f71ad6a0eb993cda0ef917fbefb3949c0d47a6217245cc62e0ced3abfbcf47f6d8375a7d85d0 SHA512 8b9e6742dc3383fb31dce33d9f8ffe7a0ea661d274f6c3ac710f58d4d5b90b596881386571564ec0cd8f027da43eaa3948dd675d6fa07f1095405f4cc05f1211
-DIST lxd-4.0.5.tar.gz.asc 833 BLAKE2B f5b2ead748973831ec7ba7be00c34d26b16a6b168fb88a25f07126eeab5c812cab72609acc443e9bb541ff64849952bf66f8ee207083836a2aab905f1373c1e0 SHA512 b59edaf88cd8ab34271eb0ebb52270ede1509351596449b1b955eaba70a50f6f18fdc95fcc933deca3fe545b9aa45bfda3b7aa6553a8b4f2cedc8d1a6b3a5946
diff --git a/app-emulation/lxd/files/lxd-4.0.0.confd b/app-emulation/lxd/files/lxd-4.0.0.confd
deleted file mode 100644
index 68cf344995be..000000000000
--- a/app-emulation/lxd/files/lxd-4.0.0.confd
+++ /dev/null
@@ -1,23 +0,0 @@
-# Group which owns the shared socket
-LXD_OPTIONS+=" --group lxd"
-
-# Enable cpu profiling into the specified file
-#LXD_OPTIONS+=" --cpuprofile /tmp/lxc_cpu_profile"
-
-# Enable memory profiling into the specified file
-#LXD_OPTIONS+=" --memprofile /tmp/lxc_mem_profile"
-
-# Enable debug mode
-#LXD_OPTIONS+=" --debug"
-
-# For debugging, print a complete stack trace every n seconds
-#LXD_OPTIONS+=" --print-goroutines-every 5"
-
-# Enable verbose mode
-#LXD_OPTIONS+=" -v"
-
-# Logfile to log to
-#LXD_OPTIONS+=" --logfile /var/log/lxd/lxd.log"
-
-# Enable syslog logging
-#LXD_OPTIONS+=" --syslog"
diff --git a/app-emulation/lxd/files/lxd-4.0.0.initd b/app-emulation/lxd/files/lxd-4.0.0.initd
deleted file mode 100644
index e6ae971e879f..000000000000
--- a/app-emulation/lxd/files/lxd-4.0.0.initd
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-DAEMON=/usr/sbin/lxd
-PIDFILE=/run/lxd.pid
-
-depend() {
- need net
- need lxcfs
-}
-
-start() {
- ebegin "Starting lxd service"
-
- modprobe -f loop > /dev/null 2>&1
-
- # fix permissions on /var/lib/lxd and make sure it exists
- install -d /var/lib/lxd --group lxd --owner root --mode 0775
- start-stop-daemon --start \
- --pidfile ${PIDFILE} \
- --exec ${DAEMON} \
- --background \
- --make-pidfile \
- -- \
- ${LXD_OPTIONS}
- eend ${?}
-}
-
-stop() {
- if [ "${RC_CMD}" = restart ]; then
- ebegin "Stopping lxd service (but not containers)"
- # start-stop-daemon sends SIGTERM with a timeout of 5s by default.
- # SIGTERM indicates to LXD that it will be stopped temporarily.
- # Instances will keep running.
- start-stop-daemon --stop --quiet -p "${PIDFILE}"
- eend ${?}
- else
- ebegin "Stopping lxd service and containers, waiting 40s"
- # SIGPWR indicates to LXD that the host is going down.
- # LXD will do a clean shutdown of all instances.
- # After 30s all remaining instances will be killed.
- # We wait up to 40s for LXD.
- start-stop-daemon --stop --quiet -R SIGPWR/40 -p "${PIDFILE}"
- eend ${?}
- fi
-}
diff --git a/app-emulation/lxd/files/lxd-4.0.0.service b/app-emulation/lxd/files/lxd-4.0.0.service
deleted file mode 100644
index c2e9db8aa8ae..000000000000
--- a/app-emulation/lxd/files/lxd-4.0.0.service
+++ /dev/null
@@ -1,20 +0,0 @@
-[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
deleted file mode 100644
index 3207c9453d11..000000000000
--- a/app-emulation/lxd/files/lxd-4.0.0.socket
+++ /dev/null
@@ -1,12 +0,0 @@
-[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
deleted file mode 100644
index 5e688d9c098c..000000000000
--- a/app-emulation/lxd/files/lxd-4.0.0_apparmor.service
+++ /dev/null
@@ -1,21 +0,0 @@
-[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-containers-4.0.0.service b/app-emulation/lxd/files/lxd-containers-4.0.0.service
deleted file mode 100644
index 894760c3506b..000000000000
--- a/app-emulation/lxd/files/lxd-containers-4.0.0.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[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/lxd-4.0.4-r7.ebuild b/app-emulation/lxd/lxd-4.0.4-r7.ebuild
deleted file mode 100644
index 8893eee210e9..000000000000
--- a/app-emulation/lxd/lxd-4.0.4-r7.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig
-
-DESCRIPTION="Fast, dense and secure container management"
-HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd"
-SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )"
-
-# 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 verify-sig"
-
-DEPEND="app-arch/xz-utils
- >=app-emulation/lxc-3.0.0[apparmor?,seccomp(+)]
- dev-libs/dqlite
- dev-libs/lzo
- dev-libs/raft
- 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[lzma]
- virtual/acl"
-BDEPEND="dev-lang/go
- nls? ( sys-devel/gettext )
- verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
-
-CONFIG_CHECK="
- ~CGROUPS
- ~IPC_NS
- ~NET_NS
- ~PID_NS
-
- ~SECCOMP
- ~USER_NS
- ~UTS_NS
-"
-
-ERROR_IPC_NS="CONFIG_IPC_NS is required."
-ERROR_NET_NS="CONFIG_NET_NS is required."
-ERROR_PID_NS="CONFIG_PID_NS is required."
-ERROR_SECCOMP="CONFIG_SECCOMP is required."
-ERROR_UTS_NS="CONFIG_UTS_NS is required."
-
-# Go magic.
-QA_PREBUILT="/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
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-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
-
- # Fix hardcoded ovmf file path, see bug 763180
- sed -i \
- -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
- -e "s:OVMF_VARS.ms.fd:OVMF_VARS.secboot.fd:g" \
- doc/environment.md \
- lxd/apparmor/instance_qemu.go \
- lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
-}
-
-src_configure() { :; }
-
-src_compile() {
- export GOPATH="${S}/_dist"
- export GO111MODULE=auto
-
- 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 GO111MODULE=auto
- export GOPATH="${S}/_dist"
- 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
-
- cd "${S}" || 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 "Please run 'lxc-checkconfig' to see all optional kernel features."
- elog
- 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.5.ebuild b/app-emulation/lxd/lxd-4.0.5.ebuild
deleted file mode 100644
index 753f89358e9d..000000000000
--- a/app-emulation/lxd/lxd-4.0.5.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools bash-completion-r1 linux-info optfeature systemd verify-sig
-
-DESCRIPTION="Fast, dense and secure container management"
-HOMEPAGE="https://linuxcontainers.org/lxd/introduction/ https://github.com/lxc/lxd"
-SRC_URI="https://linuxcontainers.org/downloads/lxd/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxd/${P}.tar.gz.asc )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="apparmor ipv6 nls verify-sig"
-
-DEPEND="app-arch/xz-utils
- >=app-emulation/lxc-3.0.0[apparmor?,seccomp(+)]
- dev-libs/dqlite
- dev-libs/lzo
- dev-libs/raft
- net-dns/dnsmasq[dhcp,ipv6?]"
-RDEPEND="${DEPEND}
- acct-group/lxd
- net-firewall/ebtables
- net-firewall/iptables[ipv6?]
- sys-apps/iproute2[ipv6?]
- sys-fs/fuse:*
- sys-fs/lxcfs
- sys-fs/squashfs-tools[lzma]
- virtual/acl"
-BDEPEND="dev-lang/go
- nls? ( sys-devel/gettext )
- verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
-
-CONFIG_CHECK="
- ~CGROUPS
- ~IPC_NS
- ~NET_NS
- ~PID_NS
-
- ~SECCOMP
- ~USER_NS
- ~UTS_NS
-"
-
-ERROR_IPC_NS="CONFIG_IPC_NS is required."
-ERROR_NET_NS="CONFIG_NET_NS is required."
-ERROR_PID_NS="CONFIG_PID_NS is required."
-ERROR_SECCOMP="CONFIG_SECCOMP is required."
-ERROR_UTS_NS="CONFIG_UTS_NS is required."
-
-# Go magic.
-QA_PREBUILT="/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
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-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
-
- # Fix hardcoded ovmf file path, see bug 763180
- sed -i \
- -e "s:/usr/share/OVMF:/usr/share/edk2-ovmf:g" \
- -e "s:OVMF_VARS.ms.fd:OVMF_VARS.secboot.fd:g" \
- doc/environment.md \
- lxd/apparmor/instance_qemu.go \
- lxd/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
-}
-
-src_configure() { :; }
-
-src_compile() {
- export GOPATH="${S}/_dist"
- export GO111MODULE=auto
-
- 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 GO111MODULE=auto
- export GOPATH="${S}/_dist"
- 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
-
- cd "${S}" || 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 "Please run 'lxc-checkconfig' to see all optional kernel features."
- elog
- 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
deleted file mode 100644
index db7a11f18d78..000000000000
--- a/app-emulation/lxd/metadata.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>juippis@gentoo.org</email>
- <name>Joonas Niilola</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
- <use>
- <flag name="apparmor">Enable AppArmor support</flag>
- </use>
- <longdescription>
- 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.
- </longdescription>
- <upstream>
- <remote-id type="github">lxc/lxd</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/metadata.xml b/app-emulation/metadata.xml
index 3fc882857e23..bab7a830325e 100644
--- a/app-emulation/metadata.xml
+++ b/app-emulation/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The app-emulation category contains emulation software.
diff --git a/app-emulation/nemu/Manifest b/app-emulation/nemu/Manifest
index 1a32c27e8017..4f629d031470 100644
--- a/app-emulation/nemu/Manifest
+++ b/app-emulation/nemu/Manifest
@@ -1,2 +1,3 @@
-DIST nemu-2.2.1.tar.gz 94600 BLAKE2B 16060ee1ed00f97a442d9f6b9a3f940d9777d24dea70336e382071ce7e9f7e077d58827110f4b0d64091c5777d516e95968ed0e1d4886b9fe2a3709fb466229d SHA512 e6f244c01582351f9e0f61a0a6848937a68b8d077500d0f8095784b871e9c9809bf5830c27918e84a77a64fcee3d6f81d8a06a031160f0beddc48614eb86624a
-DIST nemu-2.5.0.tar.gz 108742 BLAKE2B e68cbf50d56983873656d8e3428cb3ffaa09cafc9cbc8e545d72bf9dfb61e64a06bdc41c3f50011c4c488017efe33afe9fa1d634aae6e9151c45a7d3971c60db SHA512 081199413c41e545d23704091760c4a10b8dcdb21d9d0e6add1e549fa33bdd988490034767e08dee681eee6d06899104b8282cafc4578e06a0eabc505325bbdc
+DIST nemu-3.0.0.tar.gz 151223 BLAKE2B a71875eb727eed13bc252cee072e1c5b25bf7ea106f51ddddfb8e8bfacf21e030b1c4045de2353d40121b78756b131de1a376891197f6d553430b4b30f53bf3e SHA512 59dae5364659dda5d7c05ba6378b6e20c5d2c5b619cb919c49036918a887574b75f5d568cbfa8f21ecf790778c9de55266f5c5e3e90cc991f613a6408b10a1df
+DIST nemu-3.1.0.tar.gz 164222 BLAKE2B 32600bcdcf2a4f963612a13d89375df2cb4a49a376aec694ada01a86f6c27d6c4198250834cc924bb20e7b60b11ff8643e3bbd30aa883b437cf7828ab00509f2 SHA512 b764e94133e4ab4f052fca77d3dbc64dbbd6a52349828e8ccfe9892f1a9bb290b6578cd8afec7bac84ac339daf9ae11520fce28e842bfa649178fe471014fad1
+DIST nemu-3.3.0.tar.gz 174431 BLAKE2B 62f69bb4789d8b1ce369bca5f82f11e4fc41813ae2732d61f6ae1819bc8e3e052420e6f1a2582c5460dfccd9dd3b98c350968c5a732aad654493f7b03bcacec2 SHA512 3b497d3edccb41ca9b34d6c51079caadc893effd2c026d9b199538574fad173d1c3fe5e5db36b60f07debc774473082b338553e269d1d462203470dee292e107
diff --git a/app-emulation/nemu/metadata.xml b/app-emulation/nemu/metadata.xml
index b2ce9edb9146..29430bd2b950 100644
--- a/app-emulation/nemu/metadata.xml
+++ b/app-emulation/nemu/metadata.xml
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
+ <maintainer type="person" proxied="yes">
+ <email>mail@void.so</email>
+ <name>Pavel Balaev</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<use>
- <flag name="vnc-client">Adds support for external VNC client</flag>
- <flag name="savevm">Adds support for QEMU savevm snapshots (experimental, QEMU must be patched)</flag>
- <flag name="spice">Adds Spice protocol support</flag>
<flag name="ovf">Adds support for OVA/OVF import</flag>
<flag name="network-map">Adds possibility of exporting network map to SVG</flag>
+ <flag name="remote-api">Adds API for remote control</flag>
+ <flag name="spice">Adds Spice protocol support</flag>
+ <flag name="vnc-client">Adds support for external VNC client</flag>
</use>
</pkgmetadata>
diff --git a/app-emulation/nemu/nemu-2.5.0.ebuild b/app-emulation/nemu/nemu-3.0.0.ebuild
index 7747ae0c73a6..54d5c3502eb7 100644
--- a/app-emulation/nemu/nemu-2.5.0.ebuild
+++ b/app-emulation/nemu/nemu-3.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,27 +13,29 @@ SRC_URI="https://github.com/nemuTUI/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.g
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="dbus network-map +ovf +savevm spice +vnc-client"
+KEYWORDS="amd64 x86"
+IUSE="dbus network-map +ovf spice +vnc-client remote-api"
RDEPEND="
- app-emulation/qemu[vnc,virtfs,spice?]
+ >=app-emulation/qemu-6.0.0-r3[vnc,virtfs,spice?]
dev-db/sqlite:3=
- sys-libs/ncurses:0=[unicode]
+ dev-libs/json-c
+ sys-libs/ncurses:=[unicode(+)]
virtual/libusb:1
virtual/libudev:=
dbus? ( sys-apps/dbus )
network-map? ( media-gfx/graphviz[svg] )
ovf? (
dev-libs/libxml2:2
- app-arch/libarchive
+ app-arch/libarchive:=
)
+ remote-api? ( dev-libs/openssl )
spice? ( app-emulation/virt-viewer )
vnc-client? ( net-misc/tigervnc )
"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/gettext"
-S="${WORKDIR}/$PN-${MY_PV}/"
+S="${WORKDIR}/${PN}-${MY_PV}/"
pkg_pretend() {
if use kernel_linux; then
@@ -51,14 +53,11 @@ pkg_pretend() {
}
src_configure() {
- # -DNM_USE_UTF: Enable unicode unconditionally. We already
- # depended on ncurses[unicode].
# -DNM_WITH_QEMU: Do not embbed qemu.
local mycmakeargs=(
- -DNM_SAVEVM_SNAPSHOTS=$(usex savevm)
- -DNM_USE_UTF=on
-DNM_WITH_DBUS=$(usex dbus)
-DNM_WITH_NETWORK_MAP=$(usex network-map)
+ -DNM_WITH_REMOTE=$(usex remote-api)
-DNM_WITH_OVF_SUPPORT=$(usex ovf)
-DNM_WITH_QEMU=off
-DNM_WITH_SPICE=$(usex spice)
@@ -67,6 +66,11 @@ src_configure() {
cmake_src_configure
}
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/man/man1/nemu.1.gz
+}
+
pkg_postinst() {
elog "For non-root usage execute script:"
elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux <username>"
diff --git a/app-emulation/nemu/nemu-2.2.1.ebuild b/app-emulation/nemu/nemu-3.1.0.ebuild
index 7b191e31dc57..9bd6d23031a3 100644
--- a/app-emulation/nemu/nemu-2.2.1.ebuild
+++ b/app-emulation/nemu/nemu-3.1.0.ebuild
@@ -1,36 +1,39 @@
-# Copyright 2019-2020 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils linux-info
+inherit cmake linux-info
+
+MY_PV="${PV/_rc/-RC}"
DESCRIPTION="ncurses interface for QEMU"
-HOMEPAGE="https://lib.void.so/nemu/ https://bitbucket.org/PascalRD/nemu/"
-SRC_URI="https://lib.void.so/src/${P}.tar.gz"
+HOMEPAGE="https://github.com/nemuTUI/nemu"
+SRC_URI="https://github.com/nemuTUI/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug network-map +ovf savevm spice +vnc-client"
+KEYWORDS="amd64"
+IUSE="dbus network-map +ovf remote-api"
-RDEPEND="app-emulation/qemu[vnc,virtfs,spice?]
+RDEPEND="
+ >=app-emulation/qemu-6.0.0-r3[vnc,virtfs,spice]
dev-db/sqlite:3=
- sys-libs/ncurses:0=[unicode]
+ dev-libs/json-c
+ sys-libs/ncurses:=[unicode(+)]
virtual/libusb:1
virtual/libudev:=
- network-map? ( media-gfx/graphviz )
+ dbus? ( sys-apps/dbus )
+ network-map? ( media-gfx/graphviz[svg] )
ovf? (
-
- dev-libs/libxml2:2
- app-arch/libarchive
-
+ dev-libs/libxml2:2
+ app-arch/libarchive:=
)
- vnc-client? ( net-misc/tigervnc )"
-
+ remote-api? ( dev-libs/openssl )
+"
DEPEND="${RDEPEND}"
-
BDEPEND="sys-devel/gettext"
+S="${WORKDIR}/${PN}-${MY_PV}/"
pkg_pretend() {
if use kernel_linux; then
@@ -42,32 +45,33 @@ pkg_pretend() {
ERROR_VETH+=" into your kernel or loaded as a module to use the"
ERROR_VETH+=" local network settings feature."
ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver."
-
check_extra_config
fi
fi
}
src_configure() {
+ # -DNM_WITH_QEMU: Do not embbed qemu.
local mycmakeargs=(
- -DNM_DEBUG=$(usex debug)
+ -DNM_WITH_DBUS=$(usex dbus)
-DNM_WITH_NETWORK_MAP=$(usex network-map)
+ -DNM_WITH_REMOTE=$(usex remote-api)
-DNM_WITH_OVF_SUPPORT=$(usex ovf)
- -DNM_SAVEVM_SNAPSHOTS=$(usex savevm)
- -DNM_WITH_SPICE=$(usex spice)
- -DNM_WITH_VNC_CLIENT=$(usex vnc-client)
+ -DNM_WITH_QEMU=off
)
- cmake-utils_src_configure
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/man/man1/nemu.1.gz
}
pkg_postinst() {
elog "For non-root usage execute script:"
elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux <username>"
elog "and add udev rule:"
- elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d"
- if use savevm; then
- elog ""
- elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch"
- elog "Get this patch from nEMU repository"
- fi
+ elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /etc/udev/rules.d"
+ elog "Afterwards reboot or reload udev with"
+ elog "udevadm control --reload-rules && udevadm trigger"
}
diff --git a/app-emulation/nemu/nemu-3.3.0.ebuild b/app-emulation/nemu/nemu-3.3.0.ebuild
new file mode 100644
index 000000000000..e42882861528
--- /dev/null
+++ b/app-emulation/nemu/nemu-3.3.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake linux-info
+
+MY_PV="${PV/_rc/-RC}"
+
+DESCRIPTION="Ncurses interface for QEMU"
+HOMEPAGE="https://github.com/nemuTUI/nemu"
+SRC_URI="https://github.com/nemuTUI/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV}/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="dbus network-map +ovf remote-api +usb"
+
+RDEPEND="
+ >=app-emulation/qemu-6.0.0-r3[vnc,virtfs,spice]
+ dev-db/sqlite:3=
+ dev-libs/json-c
+ sys-libs/ncurses:=[unicode(+)]
+ usb? (
+ virtual/libusb:1
+ virtual/libudev:=
+ )
+ dbus? ( sys-apps/dbus )
+ network-map? ( media-gfx/graphviz[svg] )
+ ovf? (
+ dev-libs/libxml2:2
+ app-arch/libarchive:=
+ )
+ remote-api? ( dev-libs/openssl )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+pkg_pretend() {
+ if use kernel_linux; then
+ if ! linux_config_exists; then
+ eerror "Unable to check your kernel"
+ else
+ CONFIG_CHECK="~VETH ~MACVTAP"
+ ERROR_VETH="You will need the Virtual ethernet pair device driver compiled"
+ ERROR_VETH+=" into your kernel or loaded as a module to use the"
+ ERROR_VETH+=" local network settings feature."
+ ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver."
+ check_extra_config
+ fi
+ fi
+}
+
+src_configure() {
+ # -DNM_WITH_QEMU: Do not embbed qemu.
+ local mycmakeargs=(
+ -DNM_WITH_DBUS=$(usex dbus)
+ -DNM_WITH_NETWORK_MAP=$(usex network-map)
+ -DNM_WITH_REMOTE=$(usex remote-api)
+ -DNM_WITH_OVF_SUPPORT=$(usex ovf)
+ -DNM_WITH_QEMU=off
+ -DNM_WITH_USB=$(usex usb)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/man/man1/nemu.1.gz
+}
+
+pkg_postinst() {
+ elog "For non-root usage execute script:"
+ elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux <username>"
+ elog "and add udev rule:"
+ elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /etc/udev/rules.d"
+ elog "Afterwards reboot or reload udev with"
+ elog "udevadm control --reload-rules && udevadm trigger"
+}
diff --git a/app-emulation/nemu/nemu-9999.ebuild b/app-emulation/nemu/nemu-9999.ebuild
deleted file mode 100644
index b171fc8f123e..000000000000
--- a/app-emulation/nemu/nemu-9999.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils linux-info git-r3
-
-DESCRIPTION="ncurses interface for QEMU"
-HOMEPAGE="https://github.com/nemuTUI/nemu"
-EGIT_REPO_URI="https://github.com/nemuTUI/nemu"
-SRC_URI=""
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="+vnc-client +ovf +spice savevm svg debug"
-
-RDEPEND="
- sys-libs/ncurses:0=[unicode]
- dev-db/sqlite:3=
- virtual/libusb:1
- || ( sys-fs/eudev sys-fs/udev sys-apps/systemd )
- >=app-emulation/qemu-2.12.0[vnc,virtfs,spice?]
- ovf? (
- dev-libs/libxml2
- app-arch/libarchive
- )
- svg? ( media-gfx/graphviz[svg] )"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/gettext"
-
-src_configure() {
- local mycmakeargs=(
- -DNM_WITH_VNC_CLIENT=$(usex vnc-client)
- -DNM_DEBUG=$(usex debug)
- -DNM_SAVEVM_SNAPSHOTS=$(usex savevm)
- -DNM_WITH_OVF_SUPPORT=$(usex ovf)
- -DNM_WITH_NETWORK_MAP=$(usex svg)
- -DNM_WITH_SPICE=$(usex spice)
- )
- cmake-utils_src_configure
-}
-
-pkg_pretend() {
- if use kernel_linux; then
- if ! linux_config_exists; then
- eerror "Unable to check your kernel"
- else
- CONFIG_CHECK="~VETH ~MACVTAP"
- ERROR_VETH="You will need the Virtual ethernet pair device driver compiled"
- ERROR_VETH+=" into your kernel or loaded as a module to use the"
- ERROR_VETH+=" local network settings feature."
- ERROR_MACVTAP="You will also need support for MAC-VLAN based tap driver."
-
- check_extra_config
- fi
- fi
-}
-
-pkg_postinst() {
- elog "For non-root usage execute script:"
- elog "/usr/share/nemu/scripts/setup_nemu_nonroot.sh linux <username>"
- elog "and add udev rule:"
- elog "cp /usr/share/nemu/scripts/42-net-macvtap-perm.rules /lib/udev/rules.d"
- if use savevm; then
- elog ""
- elog "QEMU must be patched with qemu-qmp-savevm-VERSION.patch"
- elog "Get this patch from nEMU repository"
- fi
-}
diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest
index 879bf9f6a327..bdbc4e5c9a51 100644
--- a/app-emulation/open-vm-tools/Manifest
+++ b/app-emulation/open-vm-tools/Manifest
@@ -1,2 +1,2 @@
-DIST open-vm-tools-11.2.0-16938113.tar.gz 4050857 BLAKE2B b0e5e1e985d9f3d50dbbb8a4a7939d37d8968f0aa15e6d7200b7ec8511bd059d3a78a4ddd763d22965dc6da614d156e6b7ee23af73490f8bbf8e1dc2664041d3 SHA512 c950d6e8ba5218dd40e845f3c2b09eeb640ef0d33c7ea1671164027927e062dcf0b4745f6e4515a7495ec20a6d06a8fbf700819f6211073194b5ef97d7be441d
-DIST open-vm-tools-11.2.5-17337674.tar.gz 4057528 BLAKE2B 2adc5179e09a4bb501fe12c9e6dea7fee106516fd250899170a8fb3bcefb9b576136a82e4c3d3a73217b44aba8880728bb3588cedd715529f9b2991f0156ac84 SHA512 b6d4bc6522418ec7a881752181ad9240e535854df492e758abf3996c6afe245466ffbff60cc1b6cdff5cf731b5769c9f9cb96aed29f0b788d0eef05f91fcf8ab
+DIST open-vm-tools-12.2.0-21223074.tar.gz 4365836 BLAKE2B ecac1ada523b9ba6e6f9e880f700a9c35200e9093c81f3367ce3b196365166f682f7d8ba290f624417b83c3573894020fe6b4cbd82a117412ebe80df283f32db SHA512 d663d8ea455264cad7d3eaac16c5d08672e8e10f7a9171be40fff69e208ae697bc0e8af498c978d8de470ed273351b42c54994b2c552fdc05b828c80f4826b84
+DIST open-vm-tools-12.2.5-21855600.tar.gz 4365531 BLAKE2B 1df621aea3d349af45c41268f3ab9ef6dc012bc7b74b8ff399a3819f75c92b408f272c03e31ff74d7f1aceda8a88e5755064236b87403d8ef2717567de174434 SHA512 72db3b88f61624d26e8ff7e37e4fc52ecd0bec0b6f076d935870c03312321c5e0b406d05eae7012872734a50626ed760dff2cf872e26ec18ebf200aff5ed12ef
diff --git a/app-emulation/open-vm-tools/files/10.1.0-mount.vmhgfs.patch b/app-emulation/open-vm-tools/files/10.1.0-mount.vmhgfs.patch
deleted file mode 100644
index bff97811771b..000000000000
--- a/app-emulation/open-vm-tools/files/10.1.0-mount.vmhgfs.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1805ab024b10e8185175de7ce9c9b9db87fd0897 Mon Sep 17 00:00:00 2001
-From: Bernd Zeimetz <bernd@bzed.de>
-Date: Sun, 10 Jan 2016 22:18:04 +0100
-Subject: [PATCH] Fix mount.vmhgfs symlinks if DESTDIR is used
-
-Without this change symlinks in the form of
-sbin/mount.vmhgfs -> /build/open-vm-tools-10.0.5-3227872/debian/open-vm-tools/usr/sbin/mount.vmhgfs
-are being produced, if DESTDIR was uset while running make install.
----
- open-vm-tools/hgfsmounter/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am
-index e48417e..fe70892 100644
---- a/open-vm-tools/hgfsmounter/Makefile.am
-+++ b/open-vm-tools/hgfsmounter/Makefile.am
-@@ -33,14 +33,14 @@ install-exec-hook:
- mv $(DESTDIR)$(sbindir)/mount.vmhgfs \
- $(DESTDIR)$(sbindir)/mount_vmhgfs
- -$(MKDIR_P) $(DESTDIR)/sbin
-- -$(LN_S) $(DESTDIR)$(sbindir)/mount_vmhgfs \
-+ -$(LN_S) $(sbindir)/mount_vmhgfs \
- $(DESTDIR)/sbin/mount_vmhgfs &> /dev/null
- uninstall-hook:
- rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs
- else
- install-exec-hook:
- -$(MKDIR_P) $(DESTDIR)/sbin
-- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \
-+ -$(LN_S) $(sbindir)/mount.vmhgfs \
- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null
- uninstall-hook:
- rm -f $(DESTDIR)/sbin/mount.vmhgfs
diff --git a/app-emulation/open-vm-tools/files/11.3.5-icu.patch b/app-emulation/open-vm-tools/files/11.3.5-icu.patch
new file mode 100644
index 000000000000..d51c0cc60a37
--- /dev/null
+++ b/app-emulation/open-vm-tools/files/11.3.5-icu.patch
@@ -0,0 +1,26 @@
+From 08caf83eaa0e66cee8f3e49479cd201a10bb3919 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 25 Sep 2021 21:14:25 -0400
+Subject: [PATCH] lib/unicode: add ICU_LIBS to LDADD
+
+---
+ open-vm-tools/lib/unicode/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/open-vm-tools/lib/unicode/Makefile.am b/open-vm-tools/lib/unicode/Makefile.am
+index 4284c51c..40261fba 100644
+--- a/open-vm-tools/lib/unicode/Makefile.am
++++ b/open-vm-tools/lib/unicode/Makefile.am
+@@ -25,7 +25,9 @@ libUnicode_la_SOURCES += unicodeSimpleTypes.c
+ libUnicode_la_SOURCES += unicodeSimpleOperations.c
+ libUnicode_la_SOURCES += unicodeSimpleTransforms.c
+ libUnicode_la_SOURCES += unicodeStatic.c
++libUnicode_la_LIBADD =
+
+ if HAVE_ICU
+ libUnicode_la_SOURCES += unicodeICU.c
++libUnicode_la_LIBADD += @ICU_LIBS@
+ endif
+--
+2.33.0
+
diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml
index b3da7a11a515..f53e431f81a1 100644
--- a/app-emulation/open-vm-tools/metadata.xml
+++ b/app-emulation/open-vm-tools/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>floppym@gentoo.org</email>
- <name>Mike Gilbert</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
The Open Virtual Machine Tools (open-vm-tools) are the open source
implementation of VMware Tools. They are a set of guest operating system
@@ -23,5 +20,6 @@
</use>
<upstream>
<remote-id type="github">vmware/open-vm-tools</remote-id>
+ <remote-id type="cpe">cpe:/a:vmware:tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674.ebuild b/app-emulation/open-vm-tools/open-vm-tools-12.2.0.ebuild
index b67d57a32133..3b96f8c85ee9 100644
--- a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674.ebuild
+++ b/app-emulation/open-vm-tools/open-vm-tools-12.2.0.ebuild
@@ -1,18 +1,18 @@
-# Copyright 2007-2021 Gentoo Authors
+# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools linux-info pam systemd
+inherit autotools linux-info pam systemd udev
-DESCRIPTION="Opensourced tools for VMware guests"
+DESCRIPTION="Tools for VMware guests"
HOMEPAGE="https://github.com/vmware/open-vm-tools"
-MY_P="${PN}-${PV/_p/-}"
-SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz"
+MY_P="${P}-21223074"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth"
REQUIRED_USE="
multimon? ( X )
@@ -25,10 +25,11 @@ RDEPEND="
deploypkg? ( dev-libs/libmspack )
fuse? ( sys-fs/fuse:0 )
pam? ( sys-libs/pam )
- ssl? ( dev-libs/openssl:0 )
+ !pam? ( virtual/libcrypt:= )
+ ssl? ( dev-libs/openssl:0= )
vgauth? (
dev-libs/libxml2
- dev-libs/xmlsec
+ dev-libs/xmlsec:=
)
X? (
x11-libs/libXext
@@ -61,14 +62,14 @@ DEPEND="${RDEPEND}
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}/10.1.0-mount.vmhgfs.patch"
"${FILESDIR}/10.1.0-Werror.patch"
+ "${FILESDIR}/11.3.5-icu.patch"
)
pkg_setup() {
@@ -88,6 +89,7 @@ src_prepare() {
src_configure() {
local myeconfargs=(
+ --disable-glibc-check
--without-root-privileges
$(use_enable multimon)
$(use_with X x)
@@ -102,6 +104,7 @@ src_configure() {
$(use_enable vgauth)
$(use_with dnet)
$(use_with icu)
+ --with-udev-rules-dir="$(get_udevdir)/rules.d"
)
# Avoid a bug in configure.ac
use ssl || myeconfargs+=( --without-ssl )
@@ -128,10 +131,6 @@ src_install() {
systemd_dounit "${FILESDIR}"/vmtoolsd.service
fi
- # Replace mount.vmhgfs with a wrapper
- mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die
- dosbin "${FILESDIR}/mount.vmhgfs"
-
# Make fstype = vmhgfs-fuse work in fstab
dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse
@@ -140,3 +139,11 @@ src_install() {
dobin scripts/common/vmware-xdg-detect-de
fi
}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-12.2.5.ebuild
index 16c6fc0874c7..051fc71853da 100644
--- a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r1.ebuild
+++ b/app-emulation/open-vm-tools/open-vm-tools-12.2.5.ebuild
@@ -1,19 +1,19 @@
-# Copyright 2007-2021 Gentoo Authors
+# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools linux-info pam systemd
+inherit autotools linux-info pam systemd udev
-DESCRIPTION="Opensourced tools for VMware guests"
+DESCRIPTION="Tools for VMware guests"
HOMEPAGE="https://github.com/vmware/open-vm-tools"
-MY_P="${PN}-${PV/_p/-}"
-SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV%_p*}/${MY_P}.tar.gz"
+MY_P="${P}-21855600"
+SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl static-libs +vgauth"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth"
REQUIRED_USE="
multimon? ( X )
vgauth? ( ssl )
@@ -25,10 +25,11 @@ RDEPEND="
deploypkg? ( dev-libs/libmspack )
fuse? ( sys-fs/fuse:0 )
pam? ( sys-libs/pam )
- ssl? ( dev-libs/openssl:0 )
+ !pam? ( virtual/libcrypt:= )
+ ssl? ( dev-libs/openssl:0= )
vgauth? (
dev-libs/libxml2
- dev-libs/xmlsec
+ dev-libs/xmlsec:=
)
X? (
x11-libs/libXext
@@ -61,14 +62,14 @@ DEPEND="${RDEPEND}
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}/10.1.0-mount.vmhgfs.patch"
"${FILESDIR}/10.1.0-Werror.patch"
+ "${FILESDIR}/11.3.5-icu.patch"
)
pkg_setup() {
@@ -88,6 +89,7 @@ src_prepare() {
src_configure() {
local myeconfargs=(
+ --disable-glibc-check
--without-root-privileges
$(use_enable multimon)
$(use_with X x)
@@ -96,12 +98,13 @@ src_configure() {
$(use_enable doc docs)
--disable-tests
$(use_enable resolutionkms)
- $(use_enable static-libs static)
+ --disable-static
$(use_enable deploypkg)
$(use_with pam)
$(use_enable vgauth)
$(use_with dnet)
$(use_with icu)
+ --with-udev-rules-dir="$(get_udevdir)/rules.d"
)
# Avoid a bug in configure.ac
use ssl || myeconfargs+=( --without-ssl )
@@ -128,10 +131,6 @@ src_install() {
systemd_dounit "${FILESDIR}"/vmtoolsd.service
fi
- # Replace mount.vmhgfs with a wrapper
- mv "${ED}"/usr/sbin/{mount.vmhgfs,hgfsmounter} || die
- dosbin "${FILESDIR}/mount.vmhgfs"
-
# Make fstype = vmhgfs-fuse work in fstab
dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse
@@ -140,3 +139,11 @@ src_install() {
dobin scripts/common/vmware-xdg-detect-de
fi
}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/pcem/files/pcem-17-respect-cflags.patch b/app-emulation/pcem/files/pcem-17-respect-cflags.patch
index 73cac4541bf1..0e9d28885595 100644
--- a/app-emulation/pcem/files/pcem-17-respect-cflags.patch
+++ b/app-emulation/pcem/files/pcem-17-respect-cflags.patch
@@ -1,13 +1,11 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -31,8 +31,8 @@
+@@ -31,8 +31,6 @@
CXXFLAGS="-Wall -O0 -g -D_DEBUG -fcommon"
AC_MSG_RESULT([yes])
else
- CFLAGS="-O3 -fcommon"
- CXXFLAGS="-O3 -fcommon"
-+ CFLAGS?="-O3 -fcommon"
-+ CXXFLAGS?="-O3 -fcommon"
AC_MSG_RESULT([no])
fi
diff --git a/app-emulation/pcem/metadata.xml b/app-emulation/pcem/metadata.xml
index b25ac367e489..2e2c78f17257 100644
--- a/app-emulation/pcem/metadata.xml
+++ b/app-emulation/pcem/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
diff --git a/app-emulation/pcem/pcem-17.ebuild b/app-emulation/pcem/pcem-17-r2.ebuild
index 02406aa065d4..47e17b588639 100644
--- a/app-emulation/pcem/pcem-17.ebuild
+++ b/app-emulation/pcem/pcem-17-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-WX_GTK_VER="3.0-gtk3"
+WX_GTK_VER="3.2-gtk3"
inherit autotools desktop flag-o-matic wxwidgets
DESCRIPTION="A PC emulator that specializes in running old operating systems and software"
@@ -12,14 +12,13 @@ HOMEPAGE="
https://github.com/sarah-walker-pcem/pcem/
"
SRC_URI="https://pcem-emulator.co.uk/files/PCemV${PV}Linux.tar.gz"
+S="${WORKDIR}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64"
IUSE="alsa networking"
-S="${WORKDIR}"
-
RDEPEND="
alsa? ( media-libs/alsa-lib )
media-libs/libsdl2
@@ -46,6 +45,11 @@ src_configure() {
# See https://pcem-emulator.co.uk/phpBB3/viewtopic.php?f=3&t=3443
append-cflags -fcommon
+ # LTO needs to be filtered
+ # See https://bugs.gentoo.org/854528
+ filter-lto
+ append-flags -fno-strict-aliasing
+
local myeconfargs=(
--enable-release-build
$(use_enable alsa)
diff --git a/app-emulation/phpvirtualbox/metadata.xml b/app-emulation/phpvirtualbox/metadata.xml
index 2ee0da8b117c..ead318766d1d 100644
--- a/app-emulation/phpvirtualbox/metadata.xml
+++ b/app-emulation/phpvirtualbox/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="google-code">phpvirtualbox</remote-id>
+ <remote-id type="github">phpvirtualbox/phpvirtualbox</remote-id>
<remote-id type="sourceforge">phpvirtualbox</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/plus42/Manifest b/app-emulation/plus42/Manifest
new file mode 100644
index 000000000000..076480a087dc
--- /dev/null
+++ b/app-emulation/plus42/Manifest
@@ -0,0 +1,3 @@
+DIST plus42-upstream-1.1.10.tgz 7612969 BLAKE2B feeab01d4161f0f8cc183cf3c494290469c968d89670610a8848103a8ae64f81816d4456477d1900f94b0e6c5ef3ae3dbd36aa9edb3644f5ed099954fb692664 SHA512 38b263d71464b891a4dc9d32a38b8d32d96e2c1ce352348ff33348b23749ae45d341f6d36b76609b40e863e058ec2c0e5c6be394c041f27f6caba1b261d7422c
+DIST plus42-upstream-1.1.3.tgz 7610112 BLAKE2B 6c55a8c2acebbc0e442308e0f078d2ac86f9866d9dbe808a17007a3c3729114f24379401267787107d11e4f3559e14c86f39051da3a956928a7c4c97c1867c31 SHA512 05fd0fb3f330ad0842d28df46ec89d3347cbfca776c6e73092261a96f860677d8f9a6de96ee98adfed4abe5d950a45cec6e6056bb97dd471204d644cbdb82d10
+DIST plus42-upstream-1.1.9.tgz 7612675 BLAKE2B d6b05221b11705c553be2cabe8adc81b892861b86aeb3b234e7fef44bb79551b74f94caaa563f3fa55bc62f988545493d118bab488818cc835ccbfd309c95874 SHA512 bbfd519006c3f24de469a0c928271edb9a2ee92c32bf1eccb313fffb4e13e461875f608561149b8d8de57565cb835c407c7ee2bcf959b198a728669160ff85f6
diff --git a/app-emulation/plus42/files/plus42-1.0.12-fix-build-intel-lib.patch b/app-emulation/plus42/files/plus42-1.0.12-fix-build-intel-lib.patch
new file mode 100644
index 000000000000..c9cde2fbda2c
--- /dev/null
+++ b/app-emulation/plus42/files/plus42-1.0.12-fix-build-intel-lib.patch
@@ -0,0 +1,64 @@
+diff -Naur free42-nologo-3.0.16.orig/gtk/build-intel-lib.sh free42-nologo-3.0.16/gtk/build-intel-lib.sh
+--- free42-nologo-3.0.16.orig/gtk/build-intel-lib.sh 2022-10-29 17:03:11.000000000 +0200
++++ free42-nologo-3.0.16/gtk/build-intel-lib.sh 2022-11-06 22:09:42.384802729 +0100
+@@ -10,13 +10,6 @@
+ fi
+ fi
+
+-which gcc >/dev/null
+-if [ $? -eq 0 ]; then
+- CC=gcc
+-else
+- CC=cc
+-fi
+-
+ # Hack to support FreeBSD; not 100% sure what this does, but it produces a
+ # library that passes all tests.
+
+@@ -64,8 +57,10 @@
+ ;;
+ esac
+
++patch -p0 <../intel-lib-custom-cc.patch
++
+ cd LIBRARY
+-$MK $OS_ARG CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
++$MK $OS_ARG A=a AR_CMD="${AR:-ar} rv" CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
+ mv libbid.a ../../gcc111libbid.a
+ cd ../..
+ ( echo '#ifdef FREE42_FPTEST'; echo 'const char *readtest_lines[] = {'; tr -d '\r' < IntelRDFPMathLib20U1/TESTS/readtest.in | sed 's/^\(.*\)$/"\1",/'; echo '0 };'; echo '#endif' ) > readtest_lines.cc
+diff -Naur free42-nologo-3.0.16.orig/gtk/intel-lib-custom-cc.patch free42-nologo-3.0.16/gtk/intel-lib-custom-cc.patch
+--- free42-nologo-3.0.16.orig/gtk/intel-lib-custom-cc.patch 1970-01-01 01:00:00.000000000 +0100
++++ free42-nologo-3.0.16/gtk/intel-lib-custom-cc.patch 2022-11-06 22:18:35.428433045 +0100
+@@ -0,0 +1,31 @@
++diff -Naur orig/LIBRARY/makefile.iml_head LIBRARY/makefile.iml_head
++--- orig/LIBRARY/makefile.iml_head 2011-07-12 17:26:21.000000000 +0200
+++++ LIBRARY/makefile.iml_head 2022-11-06 22:18:17.048411637 +0100
++@@ -527,12 +527,8 @@
++ CC_TYPES := gcc cl
++ INTEL_CC_LIST := icc icl
++
++-CC_NAME_INDEX := $(call GetIndex,$(CC_NAME),$(CC_NAME_LIST))
++-ifeq ($(CC_NAME_INDEX),)
++- $(error "Unknown CC_NAME ($(CC_NAME)). Must be one of $(CC_NAME_LIST))
++-endif
++
++-CC_INDEX := $(call GetIndex,$(CC_NAME),$(CC_NAME_LIST))
+++CC_INDEX := 3
++ CC_TYPE := $(word $(CC_INDEX),$(CC_TYPE_LIST))
++ CC_TYPE_INDEX := $(call GetIndex,$(CC_TYPE),$(CC_TYPES))
++
++@@ -543,13 +539,6 @@
++ _CPP := $(CC_NAME) $(call CcNameSelect,-EP,-EP,-E -P,-EP)
++ _CC := $(CC_NAME) $(call CcNameSelect,, -nologo,, -nologo)
++
++-ifeq ($(origin CC),default)
++- CC := $(_CC)
++-endif
++-ifeq ($(origin CPP),default)
++- CPP := $(_CPP)
++-endif
++-
++ CselCc = $(call Cset,$1,$(call CcTypeSelect,$2,$3))
++
++ QOPT := $(call CselCc, QOPT, -, /Q )
diff --git a/app-emulation/plus42/files/plus42-1.0.9-fix-makefile.patch b/app-emulation/plus42/files/plus42-1.0.9-fix-makefile.patch
new file mode 100644
index 000000000000..b66c15b89b5a
--- /dev/null
+++ b/app-emulation/plus42/files/plus42-1.0.9-fix-makefile.patch
@@ -0,0 +1,25 @@
+diff -Naur plus42-upstream-1.0.9.orig/gtk/Makefile plus42-upstream-1.0.9/gtk/Makefile
+--- plus42-upstream-1.0.9.orig/gtk/Makefile 2022-06-19 14:44:32.000000000 +0200
++++ plus42-upstream-1.0.9/gtk/Makefile 2022-07-04 19:37:35.533799322 +0200
+@@ -40,9 +40,10 @@
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 \
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1
+
+-CXXFLAGS = $(CFLAGS) \
++CXXFLAGS := $(CFLAGS) \
+ -fno-rtti \
+- -D_WCHAR_T_DEFINED
++ -D_WCHAR_T_DEFINED \
++ ${CXXFLAGS}
+
+ LIBS = gcc111libbid.a $(shell $(PKG_CONFIG) --libs gtk+-3.0)
+
+@@ -121,7 +122,7 @@
+ ./keymap2cc
+
+ gcc111libbid.a:
+- sh ./build-intel-lib.sh
++ +sh ./build-intel-lib.sh
+ ln -s IntelRDFPMathLib20U1/TESTS/readtest.c
+
+ symlinks:
diff --git a/app-emulation/plus42/metadata.xml b/app-emulation/plus42/metadata.xml
new file mode 100644
index 000000000000..3104198ce549
--- /dev/null
+++ b/app-emulation/plus42/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">thomasokken/plus42desktop</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/plus42/plus42-1.1.10.ebuild b/app-emulation/plus42/plus42-1.1.10.ebuild
new file mode 100644
index 000000000000..3916a804001b
--- /dev/null
+++ b/app-emulation/plus42/plus42-1.1.10.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-upstream-${PV}"
+
+DESCRIPTION="An Enhanced HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/plus42/"
+SRC_URI="https://thomasokken.com/plus42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.9-fix-makefile.patch"
+ "${FILESDIR}/${PN}-1.0.12-fix-build-intel-lib.patch"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/plus42bin gtk/plus42dec
+}
diff --git a/app-emulation/plus42/plus42-1.1.3.ebuild b/app-emulation/plus42/plus42-1.1.3.ebuild
new file mode 100644
index 000000000000..b779379a5982
--- /dev/null
+++ b/app-emulation/plus42/plus42-1.1.3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-upstream-${PV}"
+
+DESCRIPTION="An Enhanced HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/plus42/"
+SRC_URI="https://thomasokken.com/plus42/upstream/${MY_PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+S="${WORKDIR}/${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.9-fix-makefile.patch"
+ "${FILESDIR}/${PN}-1.0.12-fix-build-intel-lib.patch"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/plus42bin gtk/plus42dec
+}
diff --git a/app-emulation/plus42/plus42-1.1.9.ebuild b/app-emulation/plus42/plus42-1.1.9.ebuild
new file mode 100644
index 000000000000..3916a804001b
--- /dev/null
+++ b/app-emulation/plus42/plus42-1.1.9.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-upstream-${PV}"
+
+DESCRIPTION="An Enhanced HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/plus42/"
+SRC_URI="https://thomasokken.com/plus42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.9-fix-makefile.patch"
+ "${FILESDIR}/${PN}-1.0.12-fix-build-intel-lib.patch"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/plus42bin gtk/plus42dec
+}
diff --git a/app-emulation/podman/Manifest b/app-emulation/podman/Manifest
deleted file mode 100644
index f8087bc702c9..000000000000
--- a/app-emulation/podman/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST podman-3.0.1.tar.gz 10365348 BLAKE2B 93a227bf1395145ebaec8e18aa8ad8101704e8e0f7344c8850ee9e1532b191aef96b1cbbba2e21bd716591d68969cfd16ee811621a383cb2d31e4105a44834bf SHA512 4addc986ad94b512d90b675a5a1988eeef365fff02c3449fd310582245a91d4ee96ff9fd3c56ce333a972dca627aa28fbd468a4a363c5c8963524bb67bc26754
diff --git a/app-emulation/podman/files/podman.confd b/app-emulation/podman/files/podman.confd
deleted file mode 100644
index e997d3b4000e..000000000000
--- a/app-emulation/podman/files/podman.confd
+++ /dev/null
@@ -1,11 +0,0 @@
-# Config file for /etc/init.d/podman
-
-# Sets the API service daemon log level
-# valid levels: debug, info, warn, error, fatal or panic
-#LOG_LEVEL="error"
-
-# Sets the API service daemon socket
-#SOCKET="unix:/run/${RC_SVCNAME}/podman.sock"
-
-# Configure the user[:group] the API service daemon will run as
-#RUN_AS_USER="root:root"
diff --git a/app-emulation/podman/files/podman.initd b/app-emulation/podman/files/podman.initd
deleted file mode 100644
index 7adcdab40ea3..000000000000
--- a/app-emulation/podman/files/podman.initd
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2015-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-description="Podman Remote API Service"
-LOG_PATH="/var/log/${RC_SVCNAME}"
-RUN_PATH="/run/${RC_SVCNAME}"
-: ${LOG_LEVEL:=error}
-: ${RUN_AS_USER:=root:root}
-: ${SOCKET:=unix:/run/${RC_SVCNAME}/podman.sock}
-pidfile="${RUN_PATH}/${RC_SVCNAME}.pid"
-command="/usr/bin/podman"
-command_args="--log-level ${LOG_LEVEL} system service -t 0 ${SOCKET}"
-command_background="true"
-start_stop_daemon_args="--stdout ${LOG_PATH}/${RC_SVCNAME}.log --stderr ${LOG_PATH}/${RC_SVCNAME}.log --user ${RUN_AS_USER}"
-
-start() {
- checkpath -o "${RUN_AS_USER}" -d "${RUN_PATH}" "${LOG_PATH}"
- default_start
-}
diff --git a/app-emulation/podman/files/podman.logrotated b/app-emulation/podman/files/podman.logrotated
deleted file mode 100644
index b9d723451b0a..000000000000
--- a/app-emulation/podman/files/podman.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/podman/podman.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/app-emulation/podman/metadata.xml b/app-emulation/podman/metadata.xml
deleted file mode 100644
index 64831477a766..000000000000
--- a/app-emulation/podman/metadata.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <longdescription lang="en">
- Podman (the POD MANager) is a tool for managing containers
- and images, volumes mounted into those containers, and pods
- made from groups of containers. Podman is based on libpod,
- a library for container lifecycle management that is also
- contained in this repository. The libpod library provides
- APIs for managing containers, pods, container images,
- and volumes.
- </longdescription>
- <use>
- <flag name="apparmor">
- Enable AppArmor support.
- </flag>
- <flag name="btrfs">
- Enables dependencies for the "btrfs" graph driver, including
- necessary kernel flags.
- </flag>
- <flag name="fuse">
- Enables fuse dependencies (fuse-overlayfs is especially useful
- for rootless mode).
- </flag>
- <flag name="rootless">
- Enables dependencies for running in rootless mode.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">containers/podman</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/podman/podman-3.0.1.ebuild b/app-emulation/podman/podman-3.0.1.ebuild
deleted file mode 100644
index f82494e1737f..000000000000
--- a/app-emulation/podman/podman-3.0.1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~arm64"
-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() {
- local git_commit
- git_commit=$(grep '^[[:space:]]*gitCommit[[:space:]]' vendor/k8s.io/client-go/pkg/version/base.go)
- git_commit=${git_commit#*\"}
- git_commit=${git_commit%\"*}
- [[ ${git_commit} ]] || die "failed to determine gitCommit"
-
- # 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="${git_commit}" \
- GIT_COMMIT="${git_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 vendor/github.com/containers/common/pkg/seccomp/seccomp.json
-
- newconfd "${FILESDIR}"/podman.confd podman
- newinitd "${FILESDIR}"/podman.initd podman
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/podman.logrotated" podman
-
- dobashcomp completions/bash/*
-
- insinto /usr/share/zsh/site-functions
- doins completions/zsh/*
-
- insinto /usr/share/fish/vendor_completions.d
- doins completions/fish/*
-
- keepdir /var/lib/containers
-}
-
-pkg_preinst() {
- PODMAN_ROOTLESS_UPGRADE=false
- if use rootless; then
- has_version 'app-emulation/podman[rootless]' || PODMAN_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 [[ ${PODMAN_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 <user>"
- elog "usermod --add-subgids 1065536-1131071 <user>"
- want_newline=true
- fi
-}
diff --git a/app-emulation/protontricks/Manifest b/app-emulation/protontricks/Manifest
index 219f70b98674..792b86075eb6 100644
--- a/app-emulation/protontricks/Manifest
+++ b/app-emulation/protontricks/Manifest
@@ -1,2 +1,2 @@
-DIST protontricks-1.4.3.tar.gz 43573 BLAKE2B 3a3050ba6e940182d81d98498a5558433ceaa4282f5a23fb93b3cfc299699381493eb2912c5f03bb6a8092be5c50b94bf7181208cda3d4c0f4c90c0f438f7f1b SHA512 7ca8c7c273d92f7c4526caaa8c9db6988c642913c33c6b6188d285d5cfbe30924533a9f024135865cdc1a25bd867ac00bd915b0a61417d17fe0e5ee451417e64
-DIST protontricks-1.4.4.tar.gz 45204 BLAKE2B 3fc66acae79a39e8dc7a5d507e4abcdad24da13a03e10954b667769a801ac42addb55980e3de413e71ad5395e773b065f8f1dca2e694c835a07b8993b4fb5f0e SHA512 4c61da27e97f1b46150f2808c27d1fcf7394f2cc4f272eada54abc4fdd9229443405f7466d3a1ba5603e3c40a025dbbd8fde512334c6007a64687867625abc4c
+DIST protontricks-1.10.5.tar.gz 163931 BLAKE2B 299fd6c77460de3d2fa1b585a1ad3dae857e4b78898c753007b358cc25b82918d33cb31c2028a4b1b562ee6c20b95ebafc532d97e2bc1fa5358464c6a4c1da5c SHA512 305b27ceaf428946a0ed09994173c861da1097c0bd21eebcc8b255bed3c4c50a920f0cc422601fbd44e0af373b71e928096fdd6f4cc2aa05c88126212fb4401f
+DIST protontricks-1.11.1.tar.gz 166843 BLAKE2B af6692b081d1d819bef39fd69c2108454b6dfcc29b004415a73aa0c0463e3887ddffe0e10864799f665f81fc90e5365accab1722af046f50a08bb7ba221f7e23 SHA512 eb0233180ba41c91ba78072ea2aabe9e8fea5b452fba0fd56aaf17e0282b0ee04e81d3665a7be546e3112382e0b574bb077af6b6be6ad2156dabc3112a1b831b
diff --git a/app-emulation/protontricks/files/protontricks-1.4.3_no-setuptools-scm.patch b/app-emulation/protontricks/files/protontricks-1.4.3_no-setuptools-scm.patch
deleted file mode 100644
index e8c6d75036b8..000000000000
--- a/app-emulation/protontricks/files/protontricks-1.4.3_no-setuptools-scm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Since version 1.4.1 upstream has used setuptools-scm to determine the
-current version number. Unfortunately the package in question does not
-support GitHub release archives, using GitHub VCS snapshots would require
-retrieving and updating commit hashes corresponding to release tags, and
-PyPI tarballs do not contain tests. setuptools_scm_git_archive does not
-help because it requires extra files to be included in the repository,
-which upstream has not done.
-
-Seeing as we already know the version number, bypass setuptools_scm
-altogether and create the version file ourselves. For obvious reasons the
-latter has to be done in ebuilds themselves.
-
---- a/setup.py
-+++ b/setup.py
-@@ -16,9 +16,6 @@
-
- setup(
- name="protontricks",
-- use_scm_version={
-- "write_to": "src/protontricks/_version.py"
-- },
- description=DESCRIPTION,
- long_description=LONG_DESCRIPTION,
- author=AUTHOR,
-@@ -28,7 +25,6 @@
- packages=["protontricks"],
- package_data={"": ["LICENSE"]},
- package_dir={"protontricks": "src/protontricks"},
-- setup_requires=["setuptools_scm"],
- install_requires=["vdf>=3.2"],
- entry_points={
- "console_scripts": [
diff --git a/app-emulation/protontricks/metadata.xml b/app-emulation/protontricks/metadata.xml
index 2e0c5e0f0e30..c813e008582a 100644
--- a/app-emulation/protontricks/metadata.xml
+++ b/app-emulation/protontricks/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
diff --git a/app-emulation/protontricks/protontricks-1.4.3.ebuild b/app-emulation/protontricks/protontricks-1.10.5.ebuild
index b09334a725c5..4c4ddf7953ad 100644
--- a/app-emulation/protontricks/protontricks-1.4.3.ebuild
+++ b/app-emulation/protontricks/protontricks-1.10.5.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_SETUPTOOLS=rdepend
+DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi xdg-utils
DESCRIPTION="app-emulation/winetricks wrapper for Proton (Steam Play) games"
HOMEPAGE="https://github.com/Matoking/protontricks"
-SRC_URI="https://github.com/Matoking/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
@@ -20,6 +19,8 @@ IUSE="+gui"
RDEPEND="app-emulation/winetricks
$(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/vdf[${PYTHON_USEDEP}]
')
gui? ( gnome-extra/zenity
@@ -28,21 +29,17 @@ RDEPEND="app-emulation/winetricks
app-emulation/winetricks[kde]
)
)"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.3_no-setuptools-scm.patch
-)
+BDEPEND="$(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+')"
DOCS=( CHANGELOG.md README.md )
distutils_enable_tests pytest
-python_prepare_all() {
- distutils-r1_python_prepare_all
- echo "version = '${PV}'" > "${S}"/src/${PN}/_version.py || die "Failed to generate the version file"
-}
-
pkg_postinst() {
+ xdg_desktop_database_update
+
elog
if ! use gui; then
@@ -55,3 +52,7 @@ pkg_postinst() {
elog "Make sure to run a Proton game at least once before trying to use protontricks on it."
elog
}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-emulation/protontricks/protontricks-1.4.4.ebuild b/app-emulation/protontricks/protontricks-1.11.1.ebuild
index 8aa78e9acad1..fc9689a51050 100644
--- a/app-emulation/protontricks/protontricks-1.4.4.ebuild
+++ b/app-emulation/protontricks/protontricks-1.11.1.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_SETUPTOOLS=rdepend
+DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
+inherit distutils-r1 pypi xdg-utils
DESCRIPTION="app-emulation/winetricks wrapper for Proton (Steam Play) games"
HOMEPAGE="https://github.com/Matoking/protontricks"
-SRC_URI="https://github.com/Matoking/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
@@ -20,6 +19,8 @@ IUSE="+gui"
RDEPEND="app-emulation/winetricks
$(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/vdf[${PYTHON_USEDEP}]
')
gui? ( gnome-extra/zenity
@@ -28,21 +29,17 @@ RDEPEND="app-emulation/winetricks
app-emulation/winetricks[kde]
)
)"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.3_no-setuptools-scm.patch
-)
+BDEPEND="$(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+')"
DOCS=( CHANGELOG.md README.md )
distutils_enable_tests pytest
-python_prepare_all() {
- distutils-r1_python_prepare_all
- echo "version = '${PV}'" > "${S}"/src/${PN}/_version.py || die "Failed to generate the version file"
-}
-
pkg_postinst() {
+ xdg_desktop_database_update
+
elog
if ! use gui; then
@@ -55,3 +52,7 @@ pkg_postinst() {
elog "Make sure to run a Proton game at least once before trying to use protontricks on it."
elog
}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-emulation/punes/Manifest b/app-emulation/punes/Manifest
index 36a25723e830..8161798f4ed7 100644
--- a/app-emulation/punes/Manifest
+++ b/app-emulation/punes/Manifest
@@ -1 +1 @@
-DIST punes-0.107.tar.gz 44024138 BLAKE2B 048df5bc9b019bafcd4eec75dc027de7cde9f8aa0d484ef96e5c41b091ba55c13b84ef7c7c36987b53206b1b7027758534479d0cc9fde63d89a48092c3f9d26d SHA512 eb3b7aa1c18765402e1e57e23dd4b019255320b795c0f578a4d5ae9f4e0c163613da07280e2a5abed80b9ba90e74c80b53b5fdd80e405103f0063ca55d0ee7bd
+DIST punes-0.111.tar.gz 57538299 BLAKE2B a900fe2bc9117e6739e58a43e457bfa466053d5a96ae5ad1333d7e0bc11eafb2408a96dc7e35ddf1a3cee50cafe99549a43d2abb629b106bbb1082878a845cc6 SHA512 6388cdf2b303e217adfe43b1b3b1ef66a75b6adfdb0363b213c47fc129b5815f3e96814ee25a3637147dc184203cef0438930c280f0c6249085ecac1220b435c
diff --git a/app-emulation/punes/files/punes-0.107_ffmpeg-configure.patch b/app-emulation/punes/files/punes-0.107_ffmpeg-configure.patch
deleted file mode 100644
index fd70e0d49ef0..000000000000
--- a/app-emulation/punes/files/punes-0.107_ffmpeg-configure.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 241b71fdacad10ad1e790e5a4e380ea1ffbe8a93 Mon Sep 17 00:00:00 2001
-From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
-Date: Thu, 21 Jan 2021 12:32:31 +0300
-Subject: [PATCH] Fix ffmpeg configure switch option
-
-autoconf's --with-PACKAGE/--without-PACKAGE requires $withval, not
-$enableval.
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index fd9e0365..f63d50ea 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,7 +38,7 @@ AC_ARG_WITH([ffmpeg],
- AS_HELP_STRING([--with-ffmpeg],
- [Build with support for FFmpeg [autodetect] @<:@default: yes@:>@]
- ),
-- [with_ffmpeg=$enableval], [with_ffmpeg=yes])
-+ [with_ffmpeg=$withval], [with_ffmpeg=yes])
-
- AC_ARG_ENABLE([release],
- AS_HELP_STRING([--disable-release],
---
-2.26.2
-
diff --git a/app-emulation/punes/files/punes-0.111-FULLSCREEN_RESFREQ-fix.patch b/app-emulation/punes/files/punes-0.111-FULLSCREEN_RESFREQ-fix.patch
new file mode 100644
index 000000000000..065483ad058f
--- /dev/null
+++ b/app-emulation/punes/files/punes-0.111-FULLSCREEN_RESFREQ-fix.patch
@@ -0,0 +1,33 @@
+From e1516fcefe3dcc9710ae85cce0f536fd2d9fdcd6 Mon Sep 17 00:00:00 2001
+From: Fabio Cavallo <punes.development@gmail.com>
+Date: Sat, 23 Mar 2024 10:34:34 +0100
+Subject: [PATCH] Fixed compilation with FULLSCREEN_RESFREQ disabled (#388).
+
+--- a/src/core/emu.c
++++ b/src/core/emu.c
+@@ -43,11 +43,11 @@
+ #include "recent_roms.h"
+ #include "../../c++/crc/crc.h"
+ #include "gui.h"
++#include "nes20db.h"
+ #include "video/effects/pause.h"
+ #include "video/effects/tv_noise.h"
+ #if defined (FULLSCREEN_RESFREQ)
+ #include "video/gfx_monitor.h"
+-#include "nes20db.h"
+ #endif
+
+ #define RS_SCALE (1.0f / (1.0f + (float)RAND_MAX))
+--- a/src/gui/wdgOverlayUi.cpp
++++ b/src/gui/wdgOverlayUi.cpp
+@@ -34,9 +34,9 @@
+ #include "rewind.h"
+ #include "version.h"
+ #include "nes.h"
++#include "input/standard_controller.h"
+ #if defined (FULLSCREEN_RESFREQ)
+ #include "video/gfx_monitor.h"
+-#include "input/standard_controller.h"
+ #endif
+
+ void overlay_info_append_qstring(BYTE alignment, const QString &msg);
diff --git a/app-emulation/punes/metadata.xml b/app-emulation/punes/metadata.xml
index c02689e290f6..5008ea7a724f 100644
--- a/app-emulation/punes/metadata.xml
+++ b/app-emulation/punes/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>azamat.hackimov@gmail.com</email>
diff --git a/app-emulation/punes/punes-0.107.ebuild b/app-emulation/punes/punes-0.107.ebuild
deleted file mode 100644
index db719a74f5f9..000000000000
--- a/app-emulation/punes/punes-0.107.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 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 ffmpeg"
-
-RDEPEND="
- ffmpeg? ( media-video/ffmpeg:= )
- 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}"
-
-PATCHES=(
- "${FILESDIR}/${P}_ffmpeg-configure.patch"
-)
-
-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) \
- $(use_with ffmpeg)
-}
-
-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.111.ebuild b/app-emulation/punes/punes-0.111.ebuild
new file mode 100644
index 000000000000..03071411bec5
--- /dev/null
+++ b/app-emulation/punes/punes-0.111.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+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"
+S="${WORKDIR}/puNES-${PV}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X cg ffmpeg qt6"
+
+RDEPEND="
+ media-libs/alsa-lib
+ media-libs/libglvnd[X?]
+ virtual/glu
+ virtual/udev
+ X? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ ffmpeg? ( media-video/ffmpeg:= )
+ qt6? (
+ dev-qt/qtbase:6[gui,network,opengl,widgets]
+ dev-qt/qtsvg:6
+ )
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ )"
+
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ virtual/pkgconfig
+ qt6? ( dev-qt/qttools[linguist] )
+ !qt6? ( dev-qt/linguist-tools:5 )"
+
+PATCHES=(
+ "${FILESDIR}/punes-0.111-FULLSCREEN_RESFREQ-fix.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_GIT_INFO=OFF
+ -DENABLE_QT6_LIBS=$(usex qt6)
+ -DDISABLE_PORTABLE_MODE=OFF
+ -DENABLE_FFMPEG=$(usex ffmpeg)
+ -DENABLE_FULLSCREEN_RESFREQ=$(usex X)
+ -DENABLE_OPENGL_CG=$(usex cg)
+ )
+ cmake_src_configure
+}
diff --git a/app-emulation/q4wine/Manifest b/app-emulation/q4wine/Manifest
index 354fecf5321e..5f97e112b9a9 100644
--- a/app-emulation/q4wine/Manifest
+++ b/app-emulation/q4wine/Manifest
@@ -1 +1 @@
-DIST q4wine-1.3.12.tar.bz2 2875348 BLAKE2B 0656574542c218163a0d7bef6d09459e7816a936f1d4c2fcf3ee15416aca23f6c97895b7f2f34e9a40b64f904cad579062ab173cc93f00c543a1ae861bf3f179 SHA512 c384c5c57b3bbea9f5ba2940e990c7ff28c9f410c9abd33fe1f17973b67bdf85dad4c74809ad3a225eaea49796221ab04e2e29dd81ea8ef7015e9b7adf9ab44e
+DIST q4wine-1.3.13.tar.bz2 2862153 BLAKE2B ad70ec0c4122d7eb6acc14976fc8194e1250beadd38762f726ccb9f40fe0f61e5c46fa40727fd2323521db4ba01a759c678d5ead7cb247fdd2e7da6ae47d9e05 SHA512 1e364519889713192f39115093740827c96ee33092ac0a3ee6c548790fc380687481e999bfb0e9df725e6497877d6b3808714a698f794e97ad86c360d505509b
diff --git a/app-emulation/q4wine/metadata.xml b/app-emulation/q4wine/metadata.xml
index 098a455159e2..a87d4b6faa32 100644
--- a/app-emulation/q4wine/metadata.xml
+++ b/app-emulation/q4wine/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="ico">Enable ico support via <pkg>media-gfx/icoutils</pkg></flag>
<flag name="iso">Support unprivileged mounting of ISO9660 images via <pkg>sys-fs/fuseiso</pkg></flag>
diff --git a/app-emulation/q4wine/q4wine-1.3.12.ebuild b/app-emulation/q4wine/q4wine-1.3.13.ebuild
index 81b76c34c437..cddbd8e97e50 100644
--- a/app-emulation/q4wine/q4wine-1.3.12.ebuild
+++ b/app-emulation/q4wine/q4wine-1.3.13.ebuild
@@ -1,25 +1,23 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
# Upstream names the package PV-rX. We change that to
# PV_pX so we can use portage revisions.
MY_P=${PN}-${PV/_p/-r}
-inherit xdg cmake
+inherit cmake xdg
DESCRIPTION="Qt GUI configuration tool for Wine"
HOMEPAGE="https://q4wine.brezblock.org.ua/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2"
+S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+dbus debug +ico +iso +wineappdb"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
DEPEND="
dev-qt/qtcore:5
dev-qt/qtgui:5
@@ -37,8 +35,7 @@ RDEPEND="${DEPEND}
>=sys-apps/which-2.19
iso? ( sys-fs/fuseiso )
"
-
-S="${WORKDIR}"/${MY_P}
+BDEPEND="dev-qt/linguist-tools:5"
DOCS=( AUTHORS ChangeLog README )
diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest
index 54512aa781b6..44032f6790ed 100644
--- a/app-emulation/qemu-guest-agent/Manifest
+++ b/app-emulation/qemu-guest-agent/Manifest
@@ -1,2 +1,6 @@
-DIST qemu-4.2.0.tar.xz 62222068 BLAKE2B 27c9fbcd5093af425764674817ab9299224bd03f37b5983786f6f437fff1fab3b7da247c55c4ca8b8c42726b9867005944a2f7f04f2d0d94d753961615f901ef SHA512 2a79973c2b07c53e8c57a808ea8add7b6b2cbca96488ed5d4b669ead8c9318907dec2b6109f180fc8ca8f04c0f73a56e82b3a527b5626b799d7e849f2474ec56
-DIST qemu-5.0.0.tar.xz 62426192 BLAKE2B 785d02ef79c95b5c4f0556186054885f9893d4e8a9f4b4f2d6199a4e1ae9c31d7c79dd900305469217f85d61bbe74134b601d5c6c1b0eee2b74792d010f1fd63 SHA512 21ef0cbe107c468a40f0fa2635db2a40048c8790b629dfffca5cd62bb1b502ea8eb133bfc40df5ecf1489e2bffe87f6829aee041cb8a380ff04a8afa23b39fcf
+DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4
+DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
+DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda6409673b4de9461a25ee060cfd03968a16ddeadc21d48b9262e53aa6d4e5eb645376969f97c65807fad19607b04f SHA512 1f31d1e653dec2d35f1b7a5468ee3f471553b48eca8c8afafffcf9243c6b2260e78a5b73da3fe567f9b85d4133573eebd397747b3aec501fb24076263eb07b27
+DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a
+DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3
+DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c
diff --git a/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch b/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch
new file mode 100644
index 000000000000..b6ef6214af55
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-8.1.0-find-sphinx.patch
@@ -0,0 +1,10 @@
+This gets confused by python-any-r1 and tries to find sphinx-build in ${T}.
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -1,5 +1,4 @@
+-sphinx_build = find_program(fs.parent(python.full_path()) / 'sphinx-build',
+- required: get_option('docs'))
++sphinx_build = find_program('sphinx-build', required: get_option('docs'))
+
+ # Check if tools are available to build documentation.
+ build_docs = false
diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch
deleted file mode 100644
index f69781694f1d..000000000000
--- a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-fix-shutdown.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu-4.2.0/qga/commands-posix.c.orig 2020-03-23 11:15:05.972610989 +0300
-+++ qemu-4.2.0/qga/commands-posix.c 2020-03-23 11:15:39.676015087 +0300
-@@ -108,7 +108,7 @@
- reopen_fd_to_null(1);
- reopen_fd_to_null(2);
-
-- execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
-+ execle("/sbin/shutdown", "shutdown", "-h", "now", shutdown_flag, "+0",
- "hypervisor initiated shutdown", (char*)NULL, environ);
- _exit(EXIT_FAILURE);
- } else if (pid < 0) {
diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch
deleted file mode 100644
index 94b6a2c8bb3f..000000000000
--- a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-4.2.0-sysmacros.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/580924
-
-Linux C libs are moving away from implicit header pollution with sys/types.h
-
---- a/include/qemu/osdep.h
-+++ b/include/qemu/osdep.h
-@@ -118,6 +118,10 @@ extern int daemon(int, int);
- #include <setjmp.h>
- #include <signal.h>
-
-+#ifdef __linux__
-+#include <sys/sysmacros.h>
-+#endif
-+
- #ifdef __OpenBSD__
- #include <sys/signal.h>
- #endif
diff --git a/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch
new file mode 100644
index 000000000000..dff62304a5c7
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/files/qemu-guest-agent-7.1.0-configure-Avoid-using-strings-binary.patch
@@ -0,0 +1,85 @@
+From 33ab5f24913db8d5590fe4155829bd38e7902506 Mon Sep 17 00:00:00 2001
+Message-Id: <33ab5f24913db8d5590fe4155829bd38e7902506.1666164897.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Fri, 14 Oct 2022 09:30:15 +0200
+Subject: [PATCH] configure: Avoid using strings binary
+
+When determining the endiandness of the target architecture we're
+building for a small program is compiled, which in an obfuscated
+way declares two strings. Then, we look which string is in
+correct order (using strings binary) and deduct the endiandness.
+But using the strings binary is problematic, because it's part of
+toolchain (strings is just a symlink to
+x86_64-pc-linux-gnu-strings or llvm-strings). And when
+(cross-)compiling, it requires users to set the symlink to the
+correct toolchain.
+
+Fortunately, we have a better alternative anyways. We can mimic
+what compiler.h is already doing: comparing __BYTE_ORDER__
+against values for little/big endiandness.
+
+Bug: https://bugs.gentoo.org/876933
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+Message-Id: <d6d9c7043cfe6d976d96694f2b4ecf85cf3206f1.1665732504.git.mprivozn@redhat.com>
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+---
+ configure | 35 ++++++++++++++++++-----------------
+ 1 file changed, 18 insertions(+), 17 deletions(-)
+
+diff --git a/configure b/configure
+index f9ec050bf8..81561be7c1 100755
+--- a/configure
++++ b/configure
+@@ -1423,30 +1423,31 @@ if test "$tcg" = "enabled"; then
+ git_submodules="$git_submodules tests/fp/berkeley-softfloat-3"
+ fi
+
+-# ---
++##########################################
+ # big/little endian test
+ cat > $TMPC << EOF
+-#include <stdio.h>
+-short big_endian[] = { 0x4269, 0x4765, 0x4e64, 0x4961, 0x4e00, 0, };
+-short little_endian[] = { 0x694c, 0x7454, 0x654c, 0x6e45, 0x6944, 0x6e41, 0, };
+-int main(int argc, char *argv[])
+-{
+- return printf("%s %s\n", (char *)big_endian, (char *)little_endian);
+-}
++#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++# error LITTLE
++#endif
++int main(void) { return 0; }
+ EOF
+
+-if compile_prog ; then
+- if strings -a $TMPE | grep -q BiGeNdIaN ; then
+- bigendian="yes"
+- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
+- bigendian="no"
+- else
+- echo big/little test failed
+- exit 1
+- fi
++if ! compile_prog ; then
++ bigendian="no"
+ else
++ cat > $TMPC << EOF
++#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++# error BIG
++#endif
++int main(void) { return 0; }
++EOF
++
++ if ! compile_prog ; then
++ bigendian="yes"
++ else
+ echo big/little test failed
+ exit 1
++ fi
+ fi
+
+ ##########################################
+--
+2.37.3
+
diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml
index 88bcd95b4c70..8995a7240036 100644
--- a/app-emulation/qemu-guest-agent/metadata.xml
+++ b/app-emulation/qemu-guest-agent/metadata.xml
@@ -1,7 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
+ <email>ajak@gentoo.org</email>
+ <name>John Helmert III</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
<email>tamiko@gentoo.org</email>
<name>Matthias Maier</name>
</maintainer>
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-4.2.0-r1.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild
index 0fc5ecf4a7e9..e1c778871839 100644
--- a/app-emulation/qemu-guest-agent/qemu-guest-agent-4.2.0-r1.ebuild
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-6.0.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-PYTHON_COMPAT=( python3_{7,8} )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit eutils systemd toolchain-funcs udev python-any-r1
+inherit systemd toolchain-funcs udev python-any-r1
MY_PN="qemu"
MY_P="${MY_PN}-${PV}"
@@ -27,11 +27,6 @@ DEPEND="${RDEPEND}
S="${WORKDIR}/${MY_P}"
-PATCHES=(
- "${FILESDIR}"/${PN}-4.2.0-sysmacros.patch #580924
- "${FILESDIR}"/${PN}-4.2.0-fix-shutdown.patch #681874
-)
-
src_configure() {
tc-export AR LD OBJCOPY RANLIB
@@ -44,7 +39,7 @@ src_configure() {
--disable-linux-user
--disable-system
--disable-strip
- --disable-tools
+ --enable-tools
--disable-werror
--enable-guest-agent
--python="${PYTHON}"
@@ -56,12 +51,8 @@ src_configure() {
./configure "${myconf[@]}" || die
}
-src_compile() {
- emake V=1 qemu-ga
-}
-
src_install() {
- dobin qemu-ga
+ dobin build/qga/qemu-ga
# Normal init stuff
newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
@@ -80,4 +71,9 @@ src_install() {
pkg_postinst() {
elog "You should add 'qemu-guest-agent' to the default runlevel."
elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild
new file mode 100644
index 000000000000..89b3517badc9
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-7.1.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit edo systemd toolchain-funcs python-any-r1 udev
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+
+RDEPEND="dev-libs/glib"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ app-alternatives/ninja"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.1.0-configure-Avoid-using-strings-binary.patch
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY RANLIB
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --enable-tools
+ --disable-werror
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_install() {
+ dobin build/qga/qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild
new file mode 100644
index 000000000000..4b64963e345a
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit edo systemd toolchain-funcs python-any-r1 udev
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+
+RDEPEND="dev-libs/glib"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ app-alternatives/ninja"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY RANLIB
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --enable-tools
+ --disable-werror
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_install() {
+ dobin build/qga/qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-5.0.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild
index e04781cc12fe..cbca89288f83 100644
--- a/app-emulation/qemu-guest-agent/qemu-guest-agent-5.0.0.ebuild
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.2.ebuild
@@ -1,35 +1,32 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8} )
+PYTHON_COMPAT=( python3_{9..11} )
-inherit eutils systemd toolchain-funcs udev python-any-r1
+inherit edo systemd toolchain-funcs python-any-r1 udev
MY_PN="qemu"
MY_P="${MY_PN}-${PV}"
-SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
LICENSE="GPL-2 BSD-2"
SLOT="0"
-IUSE=""
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
RDEPEND="dev-libs/glib"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ app-alternatives/ninja"
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}"/${PN}-4.2.0-sysmacros.patch #580924
- "${FILESDIR}"/${PN}-4.2.0-fix-shutdown.patch #681874
)
src_configure() {
@@ -44,7 +41,7 @@ src_configure() {
--disable-linux-user
--disable-system
--disable-strip
- --disable-tools
+ --enable-tools
--disable-werror
--enable-guest-agent
--python="${PYTHON}"
@@ -52,16 +49,12 @@ src_configure() {
--cxx="$(tc-getCXX)"
--host-cc="$(tc-getBUILD_CC)"
)
- echo "./configure ${myconf[*]}"
- ./configure "${myconf[@]}" || die
-}
-src_compile() {
- emake V=1 qemu-ga
+ edo ./configure "${myconf[@]}"
}
src_install() {
- dobin qemu-ga
+ dobin build/qga/qemu-ga
# Normal init stuff
newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
@@ -80,4 +73,9 @@ src_install() {
pkg_postinst() {
elog "You should add 'qemu-guest-agent' to the default runlevel."
elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild
new file mode 100644
index 000000000000..86f9742a3e18
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.0.3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit edo systemd toolchain-funcs python-any-r1 udev
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+
+RDEPEND="dev-libs/glib"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ app-alternatives/ninja"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY RANLIB
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --enable-tools
+ --disable-werror
+ --without-default-features
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_install() {
+ dobin build/qga/qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild
new file mode 100644
index 000000000000..7426f9441f2a
--- /dev/null
+++ b/app-emulation/qemu-guest-agent/qemu-guest-agent-8.2.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit edo systemd toolchain-funcs python-any-r1 udev
+
+MY_PN="qemu"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
+HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
+SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
+
+LICENSE="GPL-2 BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86"
+
+RDEPEND="dev-libs/glib"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ app-alternatives/ninja"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/qemu-8.1.0-find-sphinx.patch
+)
+
+src_configure() {
+ tc-export AR LD OBJCOPY RANLIB
+
+ local myconf=(
+ --prefix=/usr
+ --sysconfdir=/etc
+ --libdir="/usr/$(get_libdir)"
+ --localstatedir=/
+ --disable-bsd-user
+ --disable-linux-user
+ --disable-system
+ --disable-strip
+ --enable-tools
+ --disable-werror
+ --without-default-features
+ --enable-guest-agent
+ --python="${PYTHON}"
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --host-cc="$(tc-getBUILD_CC)"
+ )
+
+ edo ./configure "${myconf[@]}"
+}
+
+src_test() {
+ # qga only uses generic code covered by qobject tests,
+ # the full test suite requires at least one softmmu binary
+ emake check-unit
+}
+
+src_install() {
+ dobin build/qga/qemu-ga
+
+ # Normal init stuff
+ newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
+ newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
+
+ # systemd stuff
+ udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
+
+ systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
+ qemu-guest-agent.service
+}
+
+pkg_postinst() {
+ elog "You should add 'qemu-guest-agent' to the default runlevel."
+ elog "e.g. rc-update add qemu-guest-agent default"
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/qemu-init-scripts/metadata.xml b/app-emulation/qemu-init-scripts/metadata.xml
index 7a38bb900964..115e9d64a669 100644
--- a/app-emulation/qemu-init-scripts/metadata.xml
+++ b/app-emulation/qemu-init-scripts/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/app-emulation/qemu-riscv64-bin/Manifest b/app-emulation/qemu-riscv64-bin/Manifest
deleted file mode 100644
index 2f13c32ae03e..000000000000
--- a/app-emulation/qemu-riscv64-bin/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qemu-riscv64-bin-5.0.0.tar.xz 922240 BLAKE2B d4ff41c8e45ca99bc1b9e795d9e218b05be283b32d179e8ab88d07bd333a52fce7893739e6572219083d5d56a7abb7cc1870df7c585ca41af15b56a5dc30369d SHA512 1ba28679ce4bf1f11b77059dae8cb76f0095cc4427159d769947b8a1b1212c9de0a25a236c69ff9780dd111a22fa6e01519a3017b0b0a5d29069575501552f40
diff --git a/app-emulation/qemu-riscv64-bin/metadata.xml b/app-emulation/qemu-riscv64-bin/metadata.xml
deleted file mode 100644
index 304c5d2c5ff3..000000000000
--- a/app-emulation/qemu-riscv64-bin/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>riscv@gentoo.org</email>
- <name>RISC-V</name>
- </maintainer>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
-</pkgmetadata>
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
deleted file mode 100644
index 650e2af57e19..000000000000
--- a/app-emulation/qemu-riscv64-bin/qemu-riscv64-bin-5.0.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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 2157b27ec6f5..b36c72fed2f6 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -1 +1,14 @@
-DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3
+DIST berkeley-softfloat-3-b64af41c3276f97f0e181920400ee056b9c88037.tar.bz2 84094 BLAKE2B 396f9df2e6ad559545054e89916915c3a3c8ff80e5e409498fec497b564d8b3ac9dd3cb966e26dce232ddff82af18a0e84e864ca18a80c2a2f4fe47e320249c2 SHA512 93c20d50a356c90f4293d8c7593611b2e0a9bc7567b6d946319f8ae06962ae1e297c8788f66fd38a1d3a0d44661bff9a07a63eaa84c8bb40ae01a45476be446c
+DIST berkeley-testfloat-3-e7af9751d9f9fd3b47911f51a5cfd08af256a9ab.tar.bz2 90020 BLAKE2B 3dda1ba90c4a5ad5cbce2acf35e93f7adbd387ae0e0f929b2cd4cbdf263f95183103118f32be38e8c80de49d7df44c26319ee2f465061d004ae7e64e43eeeb3e SHA512 65f41f42ea563b2cdceb6c71633f41e6694a79ffd02afed4540353a8e73668ae40118dfc108163aae751acbaa7c49630ed99f423465089503c03aee76b07f221
+DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B 0ed69ad24c53bd459c8753565814bcc1cd858f20d3a046c38912a35bcb0ba6d388ef5d2b93157cd028959284b330caf5467d82071c3df56a405dd8e08fd177c7 SHA512 8f2cc14e8bd46cb045e3ebfe32e463793ab7472ebda9b57b8ea0b06fa107a1a99c3ebcacb9c4548e30698d8ec154c0e56f789385201182b680819b8068a103f2
+DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
+DIST qemu-7.2.11.tar.xz 121877020 BLAKE2B c546773b9ac7809b39a3afa51da5b1c06c3765fadb4df9d8529f8af65c26098676adf8e516620ca1b39201fa859878780edb56a445778e105cbe7db0f52b9f6a SHA512 c77ff1505128c05fe39eaa95cc11e4d2279bff06093acd613e54f71d4a13144f905551eec1d044c3a3fb751d3369c01d131d68c18b15d9a04bcc77370d93c217
+DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b
+DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054
+DIST qemu-8.0.5.tar.xz 126175064 BLAKE2B 1d1f78c185ab64b4ca946a44ad04d0bbb6ea48de058037e4ba18176abeb0f0528754c6e832f742f93227182bbce145544eca5b908a366006e7ee58876aca0bda SHA512 ec9679473dda84a2f56ae8ee0039ec4dafb056414bfc5a3a147b2b6bb45ae3b130dd80f6385e8567b5d18f4be94f3536bc8acc45c61eddf40c9678b46cb8bddc
+DIST qemu-8.1.0-docs.tar.xz 2129912 BLAKE2B 8aaf7b748538afdb5bcb6da15dbd96572d086824377c4b0e93f1ddc695f9a4775471e360a9616d2d481dbf8113e91d2601c69d92cef565fb90b65ffacfdb304e SHA512 905515742bb56a439fc8117ec48ea668e7b2bf0244587673e4352d9e8e49911eb84ff093596ff566e44787197cf9789ec8950e3d75fb7a670c5546394a322ac9
+DIST qemu-8.1.5.tar.xz 124007248 BLAKE2B 0d5db3e18c4dc1035fed442116be98b7e7bbfae905e4facef3278ef5a488332fa2d8e6599169fa1f740e96a035027e989c5cdffc0bfd4e0ca0fca1d0a537e8da SHA512 1005e0602a763979c4d0ec6e79a390e4232dcc3d0b8461fe42856c58e54ad25a2079f3850d27023fce8a2b382b36e3baa7882b69d48cbb72002984c160241c92
+DIST qemu-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5
+DIST qemu-8.2.3.tar.xz 130106716 BLAKE2B 2ec91b5111952434686064bd603880d87c4f56774d2478ee953eb0454e2b14235b1d1cca484e015b96bceae3182f90b856d222ca590059032b4989babf1dffe8 SHA512 28c789d84754b26cd86ded9db8464ec82f07cdc3b1025a988e74b8c5b05df8839a3e9990ff96cfba50e032dd967e9dc18cf75f3525baeadd0fa019cb69108d0a
+DIST qemu-9.0.0-docs.tar.xz 2290196 BLAKE2B 82d22637ff2629bee372550e86651f12051ea6b4a57e314ef83f290425d4973ef01827eaf28a85b635788f22cb7cc1c747438b7525c92c99b90b234fb8f7655c SHA512 7c0ba1f3e7bbaa4e3feebc33a1946a5c190f2c14b9ed78b15c1f642668c8124960f8c85bcf36fe54a10d4edef47d2256e500f06d9173b92b03c599811a15a073
+DIST qemu-9.0.0.tar.xz 129789856 BLAKE2B d92acb859d9ce5097fee27a4689c71869aa38f65eb0308547956d54bd8caf29efe5389d9009f334f109ad228e0ef1f1fd1444d26360f03fac4320b204b657081 SHA512 1603517cd4c93632ba60ad7261eb67374f12a744bf58f10b0e8686e46d3a02d8b6bf58a0c617f23a1868084aaba6386c24341894f75539e0b816091718721427
diff --git a/app-emulation/qemu/files/65-kvm.rules-r1 b/app-emulation/qemu/files/65-kvm.rules-r1
deleted file mode 100644
index ab3776ac29e3..000000000000
--- a/app-emulation/qemu/files/65-kvm.rules-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-KERNEL=="kvm", GROUP="kvm", MODE="0660"
-KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net"
diff --git a/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch b/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch
deleted file mode 100644
index d79570ebb8aa..000000000000
--- a/app-emulation/qemu/files/qemu-2.11.1-capstone_include_path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu-2.11.1/include/disas/capstone.h 2018-02-14 22:53:22.000000000 +0100
-+++ qemu-2.11.1/include/disas/capstone.h 2018-02-17 20:12:12.754703951 +0100
-@@ -3,7 +3,7 @@
-
- #ifdef CONFIG_CAPSTONE
-
--#include <capstone.h>
-+#include <capstone/capstone.h>
-
- #else
-
diff --git a/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch b/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch
deleted file mode 100644
index 33115f1df480..000000000000
--- a/app-emulation/qemu/files/qemu-5.2.0-cleaner-werror.patch
+++ /dev/null
@@ -1,40 +0,0 @@
--Wall -Wextra compains about unused arguments,
-causes safe-stack to be mis-detected.
---- a/configure
-+++ b/configure
-@@ -2293,7 +2293,7 @@ fi
- cat > $TMPC << EOF
- #include <stdint.h>
- #include <stdio.h>
--int main(int argc, char *argv[]) {
-+int main(void) {
- return printf("%zu", SIZE_MAX);
- }
- EOF
-@@ -4911,7 +4911,7 @@ fi
-
- if test "$safe_stack" = "yes"; then
- cat > $TMPC << EOF
--int main(int argc, char *argv[])
-+int main(void)
- {
- #if ! __has_feature(safe_stack)
- #error SafeStack Disabled
-@@ -4933,7 +4933,7 @@ EOF
- fi
- else
- cat > $TMPC << EOF
--int main(int argc, char *argv[])
-+int main(void)
- {
- #if defined(__has_feature)
- #if __has_feature(safe_stack)
-@@ -5283,7 +5283,7 @@ static const int Z = 1;
- #define TAUT(X) ((X) == Z)
- #define PAREN(X, Y) (X == Y)
- #define ID(X) (X)
--int main(int argc, char *argv[])
-+int main(void)
- {
- int x = 0, y = 0;
- x = ID(x);
diff --git a/app-emulation/qemu/files/qemu-5.2.0-dce-locks.patch b/app-emulation/qemu/files/qemu-5.2.0-dce-locks.patch
deleted file mode 100644
index 679a9f391b0b..000000000000
--- a/app-emulation/qemu/files/qemu-5.2.0-dce-locks.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix CFLAGS=-Og build break. -Og fails because gcc does not enable dead
-code elimination (but does set __OPTIMIZE__ define).
-
-The fix avoids DCE reliance downstream entirely.
-
-Reported-by: Luke-Jr
-Bug: https://bugs.gentoo.org/782364
---- a/include/qemu/lockable.h
-+++ b/include/qemu/lockable.h
-@@ -28,7 +28,7 @@ struct QemuLockable {
- * to QEMU_MAKE_LOCKABLE. For optimized builds, we can rely on dead-code elimination
- * from the compiler, and give the errors already at link time.
- */
--#if defined(__OPTIMIZE__) && !defined(__SANITIZE_ADDRESS__)
-+#if defined(__OPTIMIZE__) && !defined(__SANITIZE_ADDRESS__) && defined(VALIDATE_LOCKS_VIA_DCE)
- void unknown_lock_type(void *);
- #else
- static inline void unknown_lock_type(void *unused)
diff --git a/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch b/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch
deleted file mode 100644
index 53969833795c..000000000000
--- a/app-emulation/qemu/files/qemu-5.2.0-fix-firmware-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Se absolute filename in files like
- /usr/share/qemu/firmware/50-edk2-x86_64-secure.json
-
-Bug: https://bugs.gentoo.org/766743
-Patch-by: Jannik Glückert
---- a/pc-bios/descriptors/meson.build
-+++ b/pc-bios/descriptors/meson.build
-@@ -8,7 +8,7 @@ foreach f: [
- ]
- configure_file(input: files(f),
- output: f,
-- configuration: {'DATADIR': qemu_datadir},
-+ configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
- install: get_option('install_blobs'),
- install_dir: qemu_datadir / 'firmware')
- endforeach
diff --git a/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch b/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch
deleted file mode 100644
index f47a58790cc1..000000000000
--- a/app-emulation/qemu/files/qemu-5.2.0-no-pie-ld.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From bbd2d5a8120771ec59b86a80a1f51884e0a26e53 Mon Sep 17 00:00:00 2001
-From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-Date: Mon, 14 Dec 2020 16:09:38 +0100
-Subject: [PATCH] build: -no-pie is no functional linker flag
-
-Recent binutils changes dropping unsupported options [1] caused a build
-issue in regard to the optionroms.
-
- ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \
- -s -o multiboot.img multiboot.o
- ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
-
-This isn't really a regression in ld.bfd, filing the bug upstream
-revealed that this never worked as a ld flag [2] - in fact it seems we
-were by accident setting --nmagic).
-
-Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
-droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
-in .mak, therefore we can also remove it from being added there.
-
-[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
-[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
-
-Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com>
-Cc: qemu-stable@nongnu.org
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
----
- configure | 3 ---
- pc-bios/optionrom/Makefile | 1 -
- 2 files changed, 4 deletions(-)
-
---- a/configure
-+++ b/configure
-@@ -2137,7 +2137,6 @@ EOF
- # Check we support --no-pie first; we will need this for building ROMs.
- if compile_prog "-Werror -fno-pie" "-no-pie"; then
- CFLAGS_NOPIE="-fno-pie"
-- LDFLAGS_NOPIE="-no-pie"
- fi
-
- if test "$static" = "yes"; then
-@@ -2153,7 +2152,6 @@ if test "$static" = "yes"; then
- fi
- elif test "$pie" = "no"; then
- CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
-- CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
- elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
- CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
- CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
-@@ -6714,7 +6712,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
- echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
- echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
- echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
--echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
- echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
- echo "EXESUF=$EXESUF" >> $config_host_mak
- echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
-diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
-index 084fc10f05..30771f8d17 100644
---- a/pc-bios/optionrom/Makefile
-+++ b/pc-bios/optionrom/Makefile
-@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
-
- LD_I386_EMULATION ?= elf_i386
- override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
--override LDFLAGS += $(LDFLAGS_NOPIE)
-
- all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
-
---
-2.30.0
-
diff --git a/app-emulation/qemu/files/qemu-5.2.0-strings.patch b/app-emulation/qemu/files/qemu-5.2.0-strings.patch
deleted file mode 100644
index 0b3dcdce78c9..000000000000
--- a/app-emulation/qemu/files/qemu-5.2.0-strings.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/759310
---- a/configure
-+++ b/configure
-@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}"
- ranlib="${RANLIB-${cross_prefix}ranlib}"
- nm="${NM-${cross_prefix}nm}"
- strip="${STRIP-${cross_prefix}strip}"
-+strings="${STRINGS-${cross_prefix}strings}"
- windres="${WINDRES-${cross_prefix}windres}"
- pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
- query_pkg_config() {
-@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) {
- EOF
-
- if compile_object ; then
-- if strings -a $TMPO | grep -q BiGeNdIaN ; then
-+ if $strings -a $TMPO | grep -q BiGeNdIaN ; then
- bigendian="yes"
-- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
-+ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
- bigendian="no"
- else
- echo big/little test failed
diff --git a/app-emulation/qemu/files/qemu-6.0.0-make.patch b/app-emulation/qemu/files/qemu-6.0.0-make.patch
new file mode 100644
index 000000000000..2dac1ca11d99
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-6.0.0-make.patch
@@ -0,0 +1,14 @@
+Allow MAKE='make V=1' and similar.
+
+https://bugs.gentoo.org/795678
+--- a/configure
++++ b/configure
+@@ -1953,7 +1953,7 @@ if test -z "$python"
+ then
+ error_exit "Python not found. Use --python=/path/to/python"
+ fi
+-if ! has "$make"
++if ! has $make
+ then
+ error_exit "GNU make ($make) not found"
+ fi
diff --git a/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch b/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch
new file mode 100644
index 000000000000..b6f3078a6906
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-7.1.0-also-build-virtfs-proxy-helper.patch
@@ -0,0 +1,32 @@
+From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@43-1.org>
+Date: Mon, 4 Apr 2022 12:56:59 +0200
+Subject: [PATCH] also build virtfs-proxy-helper
+
+The Gentoo ebuild splits the qemu build into a softmmu, user and tool
+phase in order to be able to build and link some of the qemu emulators
+statically. This unfortunately has the consequence that we never
+configure with "have_virtfs" and "have_tools" at the same time.
+
+As a workaround, simply build the virtfs userland unconditionally. After
+all, it is a tiny executable
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 65a885ea69..29ce7a5a8e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1684,7 +1684,7 @@ have_virtfs = get_option('virtfs') \
+ .disable_auto_if(not have_tools and not have_system) \
+ .allowed()
+
+-have_virtfs_proxy_helper = targetos != 'darwin' and have_virtfs and have_tools
++have_virtfs_proxy_helper = have_tools and libattr.found() and libcap_ng.found()
+
+ if get_option('block_drv_ro_whitelist') == ''
+ config_host_data.set('CONFIG_BDRV_RO_WHITELIST', '')
+--
+2.35.1
+
diff --git a/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch b/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch
new file mode 100644
index 000000000000..585e798345f4
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-7.1.0-capstone-include-path.patch
@@ -0,0 +1,31 @@
+Forward ported from qemu-2.11.1-capstone_include_path.patch.
+This time also fix the capstone.h header check to use the path we're
+already patching in.
+
+Bug: https://bugs.gentoo.org/873157
+diff --git a/include/disas/capstone.h b/include/disas/capstone.h
+index e29068dd97..d8fdc5d537 100644
+--- a/include/disas/capstone.h
++++ b/include/disas/capstone.h
+@@ -3,7 +3,7 @@
+
+ #ifdef CONFIG_CAPSTONE
+
+-#include <capstone.h>
++#include <capstone/capstone.h>
+
+ #else
+
+diff --git a/meson.build b/meson.build
+index 20fddbd707..50ce96bbd1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2605,7 +2605,7 @@ if not get_option('capstone').auto() or have_system or have_user
+ # that reports a wrong -I path, causing the #include to
+ # fail later. If the system has such a broken version
+ # do not use it.
+- if capstone.found() and not cc.compiles('#include <capstone.h>',
++ if capstone.found() and not cc.compiles('#include <capstone/capstone.h>',
+ dependencies: [capstone])
+ capstone = not_found
+ if get_option('capstone').enabled()
diff --git a/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch b/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch
new file mode 100644
index 000000000000..3050228b4e0c
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-7.2.0-disable-gmp.patch
@@ -0,0 +1,45 @@
+commit 433c2acd1b9c3f7f5903273e85fed9a7f9157b23
+Author: John Helmert III <ajak@gentoo.org>
+Date: Wed Jan 4 12:25:08 2023 -0600
+
+ meson.build: disable gmp
+
+ gmp isn't required, and we want to avoid linking to it automatigcally
+ in Gentoo.
+
+ Bug: https://bugs.gentoo.org/886207
+ Signed-off-by: John Helmert III <ajak@gentoo.org>
+
+diff --git a/meson.build b/meson.build
+index 5c6b5a1c75..2f9550362d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1234,15 +1234,6 @@ if not gnutls_crypto.found()
+ endif
+ endif
+
+-gmp = dependency('gmp', required: false, method: 'pkg-config', kwargs: static_kwargs)
+-if nettle.found() and gmp.found()
+- hogweed = dependency('hogweed', version: '>=3.4',
+- method: 'pkg-config',
+- required: get_option('nettle'),
+- kwargs: static_kwargs)
+-endif
+-
+-
+ gtk = not_found
+ gtkx11 = not_found
+ vte = not_found
+diff --git a/meson_options.txt b/meson_options.txt
+index 4b749ca549..e06b274960 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -277,6 +277,8 @@ option('vduse_blk_export', type: 'feature', value: 'auto',
+
+ option('capstone', type: 'feature', value: 'auto',
+ description: 'Whether and how to find the capstone library')
++option('gmp', type: 'feature', value: 'auto',
++ description: 'Whether or not to find the gmp library')
+ option('fdt', type: 'combo', value: 'auto',
+ choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
+ description: 'Whether and how to find the libfdt library')
diff --git a/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch b/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch
new file mode 100644
index 000000000000..2a58ca1ad735
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-7.2.0-linux-headers-6.2-glibc-2.36.patch
@@ -0,0 +1,137 @@
+https://bugs.gentoo.org/895662
+https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a
+https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e
+
+From 9f0246539ae84a5e21efd1cc4516fc343f08115a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
+Date: Tue, 10 Jan 2023 12:49:00 -0500
+Subject: [PATCH] Revert "linux-user: add more compat ioctl definitions"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0.
+
+glibc has fixed (in 2.36.9000-40-g774058d729) the problem
+that caused a clash when both sys/mount.h annd linux/mount.h
+are included, and backported this to the 2.36 stable release
+too:
+
+ https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+It is saner for QEMU to remove the workaround it applied for
+glibc 2.36 and expect distros to ship the 2.36 maint release
+with the fix. This avoids needing to add a further workaround
+to QEMU to deal with the fact that linux/brtfs.h now also pulls
+in linux/mount.h via linux/fs.h since Linux 6.1
+
+Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
+Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
+Message-Id: <20230110174901.2580297-2-berrange@redhat.com>
+Signed-off-by: Laurent Vivier <laurent@vivier.eu>
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -111,31 +111,6 @@
+ #define FS_IOC32_SETFLAGS _IOW('f', 2, int)
+ #define FS_IOC32_GETVERSION _IOR('v', 1, int)
+ #define FS_IOC32_SETVERSION _IOW('v', 2, int)
+-
+-#define BLKGETSIZE64 _IOR(0x12,114,size_t)
+-#define BLKDISCARD _IO(0x12,119)
+-#define BLKIOMIN _IO(0x12,120)
+-#define BLKIOOPT _IO(0x12,121)
+-#define BLKALIGNOFF _IO(0x12,122)
+-#define BLKPBSZGET _IO(0x12,123)
+-#define BLKDISCARDZEROES _IO(0x12,124)
+-#define BLKSECDISCARD _IO(0x12,125)
+-#define BLKROTATIONAL _IO(0x12,126)
+-#define BLKZEROOUT _IO(0x12,127)
+-
+-#define FIBMAP _IO(0x00,1)
+-#define FIGETBSZ _IO(0x00,2)
+-
+-struct file_clone_range {
+- __s64 src_fd;
+- __u64 src_offset;
+- __u64 src_length;
+- __u64 dest_offset;
+-};
+-
+-#define FICLONE _IOW(0x94, 9, int)
+-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
+-
+ #else
+ #include <linux/fs.h>
+ #endif
+--
+GitLab
+
+From 6003159ce18faad4e1bc7bf9c85669019cd4950e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
+Date: Tue, 10 Jan 2023 12:49:01 -0500
+Subject: [PATCH] Revert "linux-user: fix compat with glibc >= 2.36
+ sys/mount.h"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532.
+
+glibc has fixed (in 2.36.9000-40-g774058d729) the problem
+that caused a clash when both sys/mount.h annd linux/mount.h
+are included, and backported this to the 2.36 stable release
+too:
+
+ https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+
+It is saner for QEMU to remove the workaround it applied for
+glibc 2.36 and expect distros to ship the 2.36 maint release
+with the fix. This avoids needing to add a further workaround
+to QEMU to deal with the fact that linux/brtfs.h now also pulls
+in linux/mount.h via linux/fs.h since Linux 6.1
+
+Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
+Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
+Message-Id: <20230110174901.2580297-3-berrange@redhat.com>
+Signed-off-by: Laurent Vivier <laurent@vivier.eu>
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -95,25 +95,7 @@
+ #include <linux/soundcard.h>
+ #include <linux/kd.h>
+ #include <linux/mtio.h>
+-
+-#ifdef HAVE_SYS_MOUNT_FSCONFIG
+-/*
+- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h,
+- * which in turn prevents use of linux/fs.h. So we have to
+- * define the constants ourselves for now.
+- */
+-#define FS_IOC_GETFLAGS _IOR('f', 1, long)
+-#define FS_IOC_SETFLAGS _IOW('f', 2, long)
+-#define FS_IOC_GETVERSION _IOR('v', 1, long)
+-#define FS_IOC_SETVERSION _IOW('v', 2, long)
+-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
+-#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
+-#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
+-#define FS_IOC32_GETVERSION _IOR('v', 1, int)
+-#define FS_IOC32_SETVERSION _IOW('v', 2, int)
+-#else
+ #include <linux/fs.h>
+-#endif
+ #include <linux/fd.h>
+ #if defined(CONFIG_FIEMAP)
+ #include <linux/fiemap.h>
+--- a/meson.build
++++ b/meson.build
+@@ -2046,8 +2046,6 @@ config_host_data.set('HAVE_OPTRESET',
+ cc.has_header_symbol('getopt.h', 'optreset'))
+ config_host_data.set('HAVE_IPPROTO_MPTCP',
+ cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
+-config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG',
+- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG'))
+
+ # has_member
+ config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
+--
+GitLab
diff --git a/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch b/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch
new file mode 100644
index 000000000000..6a5437056e6f
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.0.0-disable-keymap.patch
@@ -0,0 +1,29 @@
+diff --git a/meson.build b/meson.build
+index c44d05a13..5c5c09894 100644
+--- a/meson.build
++++ b/meson.build
+@@ -671,6 +671,8 @@ endif
+
+ if get_option('xkbcommon').auto() and not have_system and not have_tools
+ xkbcommon = not_found
++elif get_option('xkbcommon').disabled()
++ xkbcommon = not_found
+ else
+ xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
+ method: 'pkg-config', kwargs: static_kwargs)
+diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
+index 158a3b410..3bb318a23 100644
+--- a/pc-bios/keymaps/meson.build
++++ b/pc-bios/keymaps/meson.build
+@@ -33,8 +33,10 @@ keymaps = {
+ 'tr': '-l tr',
+ }
+
+-if meson.is_cross_build() or not xkbcommon.found()
++if meson.is_cross_build()
+ native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
++elif get_option('xkbcommon').disabled()
++ native_qemu_keymap = not_found
+ else
+ native_qemu_keymap = qemu_keymap
+ endif
diff --git a/app-emulation/qemu/files/qemu-8.0.0-make.patch b/app-emulation/qemu/files/qemu-8.0.0-make.patch
new file mode 100644
index 000000000000..40bafd490052
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.0.0-make.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index 800b5850f..331e8950d 100755
+--- a/configure
++++ b/configure
+@@ -1069,7 +1069,7 @@ then
+ fi
+ fi
+
+-if ! has "$make"
++if ! has $make
+ then
+ error_exit "GNU make ($make) not found"
+ fi
diff --git a/app-emulation/qemu/files/qemu-8.0.0-remove-python-meson-check.patch b/app-emulation/qemu/files/qemu-8.0.0-remove-python-meson-check.patch
new file mode 100644
index 000000000000..07d3836c57e4
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.0.0-remove-python-meson-check.patch
@@ -0,0 +1,40 @@
+diff --git a/configure b/configure
+index 4369fa5..7807ad5 100755
+--- a/configure
++++ b/configure
+@@ -1095,34 +1095,7 @@ has_meson() {
+ fi
+ }
+
+-if test -z "$meson"; then
+- if test "$explicit_python" = no && has_meson && version_ge "$(meson --version)" 0.61.5; then
+- meson=meson
+- elif test "$git_submodules_action" != 'ignore' ; then
+- meson=git
+- elif test -e "${source_path}/meson/meson.py" ; then
+- meson=internal
+- else
+- if test "$explicit_python" = yes; then
+- error_exit "--python requires using QEMU's embedded Meson distribution, but it was not found."
+- else
+- error_exit "Meson not found. Use --meson=/path/to/meson"
+- fi
+- fi
+-else
+- # Meson uses its own Python interpreter to invoke other Python scripts,
+- # but the user wants to use the one they specified with --python.
+- #
+- # We do not want to override the distro Python interpreter (and sometimes
+- # cannot: for example in Homebrew /usr/bin/meson is a bash script), so
+- # just require --meson=git|internal together with --python.
+- if test "$explicit_python" = yes; then
+- case "$meson" in
+- git | internal) ;;
+- *) error_exit "--python requires using QEMU's embedded Meson distribution." ;;
+- esac
+- fi
+-fi
++meson=meson
+
+ if test "$meson" = git; then
+ git_submodules="${git_submodules} meson"
diff --git a/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch b/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch
new file mode 100644
index 000000000000..61ea0f36d90a
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.1.0-also-build-virtfs-proxy-helper.patch
@@ -0,0 +1,32 @@
+From d02ea89239768c93651a161d057f2bf04d56a024 Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@43-1.org>
+Date: Mon, 4 Apr 2022 12:56:59 +0200
+Subject: [PATCH] also build virtfs-proxy-helper
+
+The Gentoo ebuild splits the qemu build into a softmmu, user and tool
+phase in order to be able to build and link some of the qemu emulators
+statically. This unfortunately has the consequence that we never
+configure with "have_virtfs" and "have_tools" at the same time.
+
+As a workaround, simply build the virtfs userland unconditionally. After
+all, it is a tiny executable
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 063c736aee..fda8639293 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2008,8 +2008,6 @@ have_virtfs = get_option('virtfs') \
+ .allowed()
+
+ have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \
+- .require(targetos != 'darwin', error_message: 'the virtfs proxy helper is incompatible with macOS') \
+- .require(have_virtfs, error_message: 'the virtfs proxy helper requires that virtfs is enabled') \
+ .disable_auto_if(not have_tools) \
+ .require(libcap_ng.found(), error_message: 'the virtfs proxy helper requires libcap-ng') \
+ .allowed()
+--
+2.35.1
+
diff --git a/app-emulation/qemu/files/qemu-8.1.0-find-sphinx.patch b/app-emulation/qemu/files/qemu-8.1.0-find-sphinx.patch
new file mode 100644
index 000000000000..b6ef6214af55
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.1.0-find-sphinx.patch
@@ -0,0 +1,10 @@
+This gets confused by python-any-r1 and tries to find sphinx-build in ${T}.
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -1,5 +1,4 @@
+-sphinx_build = find_program(fs.parent(python.full_path()) / 'sphinx-build',
+- required: get_option('docs'))
++sphinx_build = find_program('sphinx-build', required: get_option('docs'))
+
+ # Check if tools are available to build documentation.
+ build_docs = false
diff --git a/app-emulation/qemu/files/qemu-8.1.0-skip-tests.patch b/app-emulation/qemu/files/qemu-8.1.0-skip-tests.patch
new file mode 100644
index 000000000000..f668584e8d4b
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-8.1.0-skip-tests.patch
@@ -0,0 +1,64 @@
+* netdev-socket.c
+qtest-i386/netdev-socket fails with:
+```
+stderr:
+qemu-system-i386: -netdev dgram,id=st0,remote.type=inet,remote.host=230.0.0.1,remote.port=1234: can't add socket to multicast group 230.0.0.1: No such device
+Broken pipe
+../tests/qtest/libqtest.c:191: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
+```
+
+* vhost-user-test.c
+qtest-x86_64/qos-test fails with a timeout:
+```
+qemu-system-x86_64: Failed to set msg fds.
+qemu-system-x86_64: vhost VQ 0 ring restore failed: -22: Invalid argument (22)
+qemu-system-x86_64: Failed to set msg fds.
+qemu-system-x86_64: vhost VQ 1 ring restore failed: -22: Invalid argument (22)
+**
+ERROR:../tests/qtest/vhost-user-test.c:892:wait_for_rings_started: assertion failed (ctpop64(s->rings) == count): (1 == 2)
+**
+ERROR:../tests/qtest/qos-test.c:191:subprocess_run_one_test: child process (/x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-net-pci/virtio-net/virtio-net-tests/vhost-user/reconnect/subprocess [6082]) failed unexpectedl
+```
+
+--- a/tests/qtest/netdev-socket.c
++++ b/tests/qtest/netdev-socket.c
+@@ -498,6 +498,10 @@ int main(int argc, char **argv)
+ socket_init();
+ g_test_init(&argc, &argv, NULL);
+
++ /* XXX: Skip test for now on Gentoo, fails with "No such device" */
++ g_test_skip("Skipping test known to fail on Gentoo");
++ return 0;
++
+ if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
+ g_error("socket_check_protocol_support() failed\n");
+ }
+--- a/tests/qtest/vhost-user-test.c
++++ b/tests/qtest/vhost-user-test.c
+@@ -243,7 +243,7 @@ static bool wait_for_fds(TestServer *s)
+
+ g_mutex_lock(&s->data_mutex);
+
+- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
++ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
+ while (!s->fds_num) {
+ if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
+ /* timeout has passed */
+@@ -672,7 +672,7 @@ static void wait_for_log_fd(TestServer *s)
+ gint64 end_time;
+
+ g_mutex_lock(&s->data_mutex);
+- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
++ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
+ while (s->log_fd == -1) {
+ if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
+ /* timeout has passed */
+@@ -885,7 +885,7 @@ static void wait_for_rings_started(TestServer *s, size_t count)
+ gint64 end_time;
+
+ g_mutex_lock(&s->data_mutex);
+- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
++ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
+ while (ctpop64(s->rings) != count) {
+ if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
+ /* timeout has passed */
diff --git a/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch b/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch
new file mode 100644
index 000000000000..603d20c42fc8
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-also-build-virtfs-proxy-helper.patch
@@ -0,0 +1,35 @@
+From 951325a0c9519d4910d80cc6c7a5728c0dbc4946 Mon Sep 17 00:00:00 2001
+Message-ID: <951325a0c9519d4910d80cc6c7a5728c0dbc4946.1714317553.git.mprivozn@redhat.com>
+From: Matthias Maier <tamiko@43-1.org>
+Date: Mon, 4 Apr 2022 12:56:59 +0200
+Subject: [PATCH] also build virtfs-proxy-helper
+
+The Gentoo ebuild splits the qemu build into a softmmu, user and tool
+phase in order to be able to build and link some of the qemu emulators
+statically. This unfortunately has the consequence that we never
+configure with "have_virtfs" and "have_tools" at the same time.
+
+As a workaround, simply build the virtfs userland unconditionally. After
+all, it is a tiny executable.
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index c3a2be7b2d..50a5cfcf4e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2116,8 +2116,6 @@ have_virtfs = get_option('virtfs') \
+ .allowed()
+
+ have_virtfs_proxy_helper = get_option('virtfs_proxy_helper') \
+- .require(host_os != 'darwin', error_message: 'the virtfs proxy helper is incompatible with macOS') \
+- .require(have_virtfs, error_message: 'the virtfs proxy helper requires that virtfs is enabled') \
+ .disable_auto_if(not have_tools) \
+ .require(libcap_ng.found(), error_message: 'the virtfs proxy helper requires libcap-ng') \
+ .allowed()
+--
+2.43.2
+
diff --git a/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch b/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch
new file mode 100644
index 000000000000..3e0408d6b213
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-capstone-include-path.patch
@@ -0,0 +1,42 @@
+From 67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c Mon Sep 17 00:00:00 2001
+Message-ID: <67a8b35e98f5c0853f7cdf26db0ebc6ce20b929c.1714317553.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Sun, 28 Apr 2024 17:10:46 +0200
+Subject: [PATCH] Forward ported from qemu-7.1.0-capstone-include-path.patch.
+
+Bug: https://bugs.gentoo.org/873157
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ include/disas/capstone.h | 2 +-
+ meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/disas/capstone.h b/include/disas/capstone.h
+index e29068dd97..d8fdc5d537 100644
+--- a/include/disas/capstone.h
++++ b/include/disas/capstone.h
+@@ -3,7 +3,7 @@
+
+ #ifdef CONFIG_CAPSTONE
+
+-#include <capstone.h>
++#include <capstone/capstone.h>
+
+ #else
+
+diff --git a/meson.build b/meson.build
+index ea3ccff968..c3a2be7b2d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1712,7 +1712,7 @@ if not get_option('capstone').auto() or have_system or have_user
+ # that reports a wrong -I path, causing the #include to
+ # fail later. If the system has such a broken version
+ # do not use it.
+- if capstone.found() and not cc.compiles('#include <capstone.h>',
++ if capstone.found() and not cc.compiles('#include <capstone/capstone.h>',
+ dependencies: [capstone])
+ capstone = not_found
+ if get_option('capstone').enabled()
+--
+2.43.2
+
diff --git a/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch b/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch
new file mode 100644
index 000000000000..c85d213626e2
--- /dev/null
+++ b/app-emulation/qemu/files/qemu-9.0.0-disable-keymap.patch
@@ -0,0 +1,44 @@
+From 8cca781563e89facd312d622a69af124eb2757c6 Mon Sep 17 00:00:00 2001
+Message-ID: <8cca781563e89facd312d622a69af124eb2757c6.1714317553.git.mprivozn@redhat.com>
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Sun, 28 Apr 2024 17:10:13 +0200
+Subject: [PATCH] 8.0.0-disable-keymap.patch
+
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ meson.build | 2 ++
+ pc-bios/keymaps/meson.build | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 5db2dbc12e..ea3ccff968 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1098,6 +1098,8 @@ endif
+
+ if get_option('xkbcommon').auto() and not have_system and not have_tools
+ xkbcommon = not_found
++elif get_option('xkbcommon').disabled()
++ xkbcommon = not_found
+ else
+ xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
+ method: 'pkg-config')
+diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
+index 0bd8ce0077..3888f4c64f 100644
+--- a/pc-bios/keymaps/meson.build
++++ b/pc-bios/keymaps/meson.build
+@@ -33,8 +33,10 @@ keymaps = {
+ 'tr': '-l tr',
+ }
+
+-if meson.is_cross_build() or not xkbcommon.found()
++if meson.is_cross_build()
+ native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
++elif get_option('xkbcommon').disabled()
++ native_qemu_keymap = not_found
+ else
+ native_qemu_keymap = qemu_keymap
+ endif
+--
+2.43.2
+
diff --git a/app-emulation/qemu/metadata.xml b/app-emulation/qemu/metadata.xml
index ec3f45a06391..adb556795249 100644
--- a/app-emulation/qemu/metadata.xml
+++ b/app-emulation/qemu/metadata.xml
@@ -1,25 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
- </maintainer>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <maintainer type="person">
+ <email>dilfridge@gentoo.org</email>
+ <name>Andreas K. Hüttel</name>
+ </maintainer>
<use>
<flag name="accessibility">Adds support for braille displays using brltty</flag>
<flag name="aio">Enables support for Linux's Async IO</flag>
<flag name="alsa">Enable alsa output for sound emulation</flag>
+ <flag name="bpf">Enable eBPF support for RSS implementation.</flag>
<flag name="capstone">Enable disassembly support with <pkg>dev-libs/capstone</pkg></flag>
<flag name="curl">Support ISOs / -cdrom directives via HTTP or HTTPS.</flag>
<flag name="fdt">Enables firmware device tree support</flag>
+ <flag name="fuse">Enables FUSE block device export</flag>
<flag name="glusterfs">Enables GlusterFS cluster fileystem via
<pkg>sys-cluster/glusterfs</pkg></flag>
<flag name="gnutls">Enable TLS support for the VNC console server.
@@ -29,6 +27,7 @@
<pkg>net-libs/libiscsi</pkg> instead of indirectly via the Linux
block layer that <pkg>sys-block/open-iscsi</pkg> does.</flag>
<flag name="io-uring">Enable efficient I/O via <pkg>sys-libs/liburing</pkg>.</flag>
+ <flag name="keyutils">Support Linux keyrings via <pkg>sys-apps/keyutils</pkg></flag>
<flag name="multipath">Enable multipath persistent reservation passthrough via
<pkg>sys-fs/multipath-tools</pkg>.</flag>
<flag name="ncurses">Enable the ncurses-based console</flag>
@@ -37,9 +36,10 @@
<flag name="pin-upstream-blobs">Pin the versions of BIOS firmware to the version included in the upstream release.
This is needed to sanely support migration/suspend/resume/snapshotting/etc... of instances.
When the blobs are different, random corruption/bugs/crashes/etc... may be observed.</flag>
+ <flag name="pipewire">Enable pipewire output for sound emulation</flag>
<flag name="plugins">Enable qemu plugin API via shared library loading.</flag>
<flag name="pulseaudio">Enable pulseaudio output for sound emulation</flag>
- <flag name="rbd">Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD</flag>
+ <flag name="rbd">Enable rados block device backend support, see https://docs.ceph.com/en/mimic/rbd/qemu-rbd/</flag>
<flag name="sdl">Enable the SDL-based console</flag>
<flag name="sdl-image">SDL Image support for icons</flag>
<flag name="slirp">Enable TCP/IP in hypervisor via <pkg>net-libs/libslirp</pkg></flag>
@@ -54,15 +54,15 @@
<flag name="usb">Enable USB passthrough via <pkg>dev-libs/libusb</pkg></flag>
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
<flag name="vde">Enable VDE-based networking</flag>
- <flag name="vhost-net">Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet</flag>
- <flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
+ <flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
- <flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup</flag>
+ <flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
<flag name="xattr">Add support for getting and setting POSIX extended attributes, through
<pkg>sys-apps/attr</pkg>. Requisite for the virtfs backend.</flag>
<flag name="xen">Enables support for Xen backends</flag>
- <flag name="xfs">Support xfsctl() notification and syncing for XFS backed
- virtual disks.</flag>
</use>
+ <upstream>
+ <remote-id type="gitlab">qemu-project/qemu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/qemu/qemu-5.2.0-r50.ebuild b/app-emulation/qemu/qemu-7.2.11.ebuild
index 7a9f08f85398..e59ab048ded1 100644
--- a/app-emulation/qemu/qemu-5.2.0-r50.ebuild
+++ b/app-emulation/qemu/qemu-7.2.11.ebuild
@@ -1,21 +1,31 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=ajak
+QEMU_DOCS_VERSION="7.2.0"
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10,11} )
PYTHON_REQ_USE="ncurses,readline"
-FIRMWARE_ABI_VERSION="5.2.0-r50"
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
-inherit eutils linux-info toolchain-funcs multilib python-r1
-inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
-inherit flag-o-matic
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
EGIT_SUBMODULES=(
- meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
@@ -23,44 +33,93 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
SRC_URI=""
else
- SRC_URI="https://download.qemu.org/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+HOMEPAGE="https://www.qemu.org https://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
- jack jemalloc +jpeg kernel_linux
- kernel_FreeBSD lzo multipath
- ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
- usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
- xfs 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"
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
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}
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
@@ -68,14 +127,20 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
- static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
+ static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
- vhost-user-fs? ( caps seccomp )
- virtfs? ( caps xattr )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
vte? ( gtk )
multipath? ( udev )
plugins? ( !static !static-user )
"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
+done
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
@@ -86,16 +151,16 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# 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(+)]
+ dev-libs/glib:2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-util/systemtap )
+ systemtap? ( dev-debug/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(+)]
+ sys-libs/libcap-ng[static-libs(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -103,35 +168,35 @@ SOFTMMU_TOOLS_DEPEND="
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:= )
- caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
- dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
)
gtk? (
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
+ x11-libs/libX11
vte? ( x11-libs/vte:2.91 )
)
- infiniband? (
- sys-fabric/libibumad:=[static-libs(+)]
- sys-fabric/libibverbs:=[static-libs(+)]
- sys-fabric/librdmacm:=[static-libs(+)]
- )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
- jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ jpeg? ( media-libs/libjpeg-turbo:=[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(+)]
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
@@ -139,10 +204,11 @@ SOFTMMU_TOOLS_DEPEND="
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl,gbm]
+ media-libs/mesa[egl(+),gbm(+)]
)
+ pam? ( sys-libs/pam )
png? ( media-libs/libpng:0=[static-libs(+)] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@@ -159,51 +225,64 @@ SOFTMMU_TOOLS_DEPEND="
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev[static-libs(+)] )
- usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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(+)] )
"
-SEABIOS_VERSION="1.14.0"
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-202008[binary]
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
~sys-firmware/ipxe-1.21.1[binary,qemu]
- ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
- sys-firmware/edk2-ovmf
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
sys-firmware/ipxe[qemu]
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
!pin-upstream-blobs? (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
+ dev-build/meson
sys-apps/texinfo
virtual/pkgconfig
- doc? ( dev-python/sphinx )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
- sys-devel/bc
+ app-alternatives/bc
)
"
CDEPEND="
@@ -225,16 +304,17 @@ DEPEND="${CDEPEND}
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
- selinux? ( sec-policy/selinux-qemu )"
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
- "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-5.2.0-strings.patch
- "${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
- "${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
- "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
+ "${FILESDIR}"/${PN}-6.0.0-make.patch
+ "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
)
QA_PREBUILT="
@@ -263,7 +343,6 @@ QA_WX_LOAD="usr/bin/qemu-i386
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
@@ -347,7 +426,7 @@ check_targets() {
local var=$1 mak=$2
local detected sorted
- pushd "${S}"/default-configs/targets/ >/dev/null || die
+ pushd "${S}"/configs/targets/ >/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))
@@ -363,10 +442,6 @@ check_targets() {
}
src_prepare() {
- # workaround -fcommon breakage: bug #726560
- [[ ${PV} == 5.2.0 ]] || die "Check if -fcommon hack is needed"
- filter-flags -fcommon
-
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
@@ -379,8 +454,13 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
- # Remove bundled copy of libfdt
- rm -r dtc || die
+ # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
+ # this setting (-U then -D..=2) will prevent us from trying out 3, so
+ # drop it. No change to level of protection b/c we patch our toolchain.
+ sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
+
+ # Remove bundled modules
+ rm -r dtc meson roms/*/ || die
}
##
@@ -393,7 +473,7 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
- mkdir "${builddir}"
+ mkdir "${builddir}" || die
local conf_opts=(
--prefix=/usr
@@ -408,6 +488,7 @@ qemu_src_configure() {
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
+ --with-git-submodules=ignore
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
@@ -424,15 +505,19 @@ qemu_src_configure() {
# 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 alsa)
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
- $(use_enable doc docs)
+ $(use_enable jack)
$(use_enable nls gettext)
+ $(use_enable oss)
$(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
$(use_enable xattr attr)
)
@@ -461,14 +546,23 @@ qemu_src_configure() {
echo "--disable-${2:-$1}"
fi
}
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
- $(conf_notuser caps cap-ng)
$(conf_notuser curl)
+ $(conf_tools doc docs)
$(conf_notuser fdt)
+ $(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
@@ -476,7 +570,7 @@ qemu_src_configure() {
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
- $(conf_notuser jemalloc jemalloc)
+ $(conf_malloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
@@ -485,13 +579,14 @@ qemu_src_configure() {
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
- $(conf_notuser png vnc-png)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_softmmu sdl-image)
$(conf_notuser seccomp)
- $(conf_notuser slirp slirp system)
+ $(conf_notuser slirp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
@@ -501,26 +596,17 @@ qemu_src_configure() {
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
- $(conf_notuser vhost-user-fs)
- $(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
- $(conf_notuser virtfs)
+ $(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
- $(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-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=(
@@ -533,7 +619,7 @@ qemu_src_configure() {
$(usev oss)
)
conf_opts+=(
- --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
)
fi
@@ -544,6 +630,8 @@ qemu_src_configure() {
--disable-system
--disable-blobs
--disable-tools
+ --disable-cap-ng
+ --disable-seccomp
)
local static_flag="static-user"
;;
@@ -552,6 +640,8 @@ qemu_src_configure() {
--disable-linux-user
--enable-system
--disable-tools
+ --enable-cap-ng
+ --enable-seccomp
)
local static_flag="static"
;;
@@ -561,6 +651,7 @@ qemu_src_configure() {
--disable-system
--disable-blobs
--enable-tools
+ --enable-cap-ng
)
local static_flag="static"
;;
@@ -591,11 +682,6 @@ qemu_src_configure() {
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() {
@@ -630,22 +716,22 @@ src_configure() {
src_compile() {
if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
+ cd "${S}/user-build" || die
default
fi
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
default
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
pax-mark m */qemu-system-* #515550
emake check
fi
@@ -742,19 +828,24 @@ src_install() {
fi
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
emake DESTDIR="${ED}" install
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null
+ pushd "${ED}"/usr/bin >/dev/null || die
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null
+ popd >/dev/null || die
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
- cd "${S}"
+ cd "${S}" || die
dodoc MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
@@ -763,10 +854,7 @@ src_install() {
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
@@ -777,6 +865,7 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
@@ -788,13 +877,11 @@ src_install() {
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
@@ -812,7 +899,7 @@ src_install() {
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
- if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
@@ -827,16 +914,27 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin ${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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
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"
@@ -850,22 +948,24 @@ pkg_postinst() {
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"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
fi
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/seabios)"
- if has_version 'sys-firmware/seabios[binary]'; then
- echo " USE=binary"
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/seabios)"
fi
+
+ echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
+ udev_reload
}
diff --git a/app-emulation/qemu/qemu-5.2.0-r3.ebuild b/app-emulation/qemu/qemu-7.2.4.ebuild
index 820346ef579c..ecb35f27987f 100644
--- a/app-emulation/qemu/qemu-5.2.0-r3.ebuild
+++ b/app-emulation/qemu/qemu-7.2.4.ebuild
@@ -1,21 +1,31 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=ajak
+QEMU_DOCS_VERSION="7.2.0"
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10,11} )
PYTHON_REQ_USE="ncurses,readline"
-FIRMWARE_ABI_VERSION="4.0.0-r50"
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
-inherit eutils linux-info toolchain-funcs multilib python-r1
-inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
-inherit flag-o-matic
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
EGIT_SUBMODULES=(
- meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
@@ -23,44 +33,93 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
SRC_URI=""
else
- SRC_URI="https://download.qemu.org/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+HOMEPAGE="https://www.qemu.org https://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
- jack jemalloc +jpeg kernel_linux
- kernel_FreeBSD lzo multipath
- ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static static-user systemtap test udev usb
- usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
- xfs 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"
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
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}
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
@@ -68,14 +127,20 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
- static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
+ static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
- vhost-user-fs? ( caps seccomp )
- virtfs? ( caps xattr )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
vte? ( gtk )
multipath? ( udev )
plugins? ( !static !static-user )
"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
+done
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
@@ -86,16 +151,16 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# 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(+)]
+ dev-libs/glib:2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-util/systemtap )
+ systemtap? ( dev-debug/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(+)]
+ sys-libs/libcap-ng[static-libs(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -103,35 +168,35 @@ SOFTMMU_TOOLS_DEPEND="
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:= )
- caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
- dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
)
gtk? (
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
+ x11-libs/libX11
vte? ( x11-libs/vte:2.91 )
)
- infiniband? (
- sys-fabric/libibumad:=[static-libs(+)]
- sys-fabric/libibverbs:=[static-libs(+)]
- sys-fabric/librdmacm:=[static-libs(+)]
- )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
- jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ jpeg? ( media-libs/libjpeg-turbo:=[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(+)]
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
@@ -139,10 +204,11 @@ SOFTMMU_TOOLS_DEPEND="
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl,gbm]
+ media-libs/mesa[egl(+),gbm(+)]
)
+ pam? ( sys-libs/pam )
png? ( media-libs/libpng:0=[static-libs(+)] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@@ -159,49 +225,64 @@ SOFTMMU_TOOLS_DEPEND="
>=app-emulation/spice-0.12.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev[static-libs(+)] )
- usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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(+)] )
"
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
+
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-201905[binary]
- ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
- ~sys-firmware/seabios-1.12.0[binary,seavgabios]
- ~sys-firmware/sgabios-0.1_pre8[binary]
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ ~sys-firmware/ipxe-1.21.1[binary,qemu]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ ~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
- sys-firmware/edk2-ovmf
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
sys-firmware/ipxe[qemu]
- >=sys-firmware/seabios-1.10.2[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
sys-firmware/sgabios
)"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
!pin-upstream-blobs? (
- >=sys-firmware/seabios-1.10.2[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
+ dev-build/meson
sys-apps/texinfo
virtual/pkgconfig
- doc? ( dev-python/sphinx )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
- sys-devel/bc
+ app-alternatives/bc
)
"
CDEPEND="
@@ -223,15 +304,18 @@ DEPEND="${CDEPEND}
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
acct-group/kvm
- selinux? ( sec-policy/selinux-qemu )"
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )"
PATCHES=(
- "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
- "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-5.2.0-strings.patch
- "${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
- "${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
+ "${FILESDIR}"/${PN}-6.0.0-make.patch
+ "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
+ "${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch
)
QA_PREBUILT="
@@ -260,7 +344,6 @@ QA_WX_LOAD="usr/bin/qemu-i386
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
@@ -344,7 +427,7 @@ check_targets() {
local var=$1 mak=$2
local detected sorted
- pushd "${S}"/default-configs/targets/ >/dev/null || die
+ pushd "${S}"/configs/targets/ >/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))
@@ -360,10 +443,6 @@ check_targets() {
}
src_prepare() {
- # workaround -fcommon breakage: bug #726560
- [[ ${PV} == 5.2.0 ]] || die "Check if -fcommon hack is needed"
- filter-flags -fcommon
-
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
@@ -376,8 +455,13 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
- # Remove bundled copy of libfdt
- rm -r dtc || die
+ # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
+ # this setting (-U then -D..=2) will prevent us from trying out 3, so
+ # drop it. No change to level of protection b/c we patch our toolchain.
+ sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
+
+ # Remove bundled modules
+ rm -r dtc meson roms/*/ || die
}
##
@@ -390,7 +474,7 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
- mkdir "${builddir}"
+ mkdir "${builddir}" || die
local conf_opts=(
--prefix=/usr
@@ -405,6 +489,7 @@ qemu_src_configure() {
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
+ --with-git-submodules=ignore
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
@@ -421,15 +506,19 @@ qemu_src_configure() {
# 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 alsa)
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
- $(use_enable doc docs)
+ $(use_enable jack)
$(use_enable nls gettext)
+ $(use_enable oss)
$(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
$(use_enable xattr attr)
)
@@ -458,14 +547,23 @@ qemu_src_configure() {
echo "--disable-${2:-$1}"
fi
}
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
- $(conf_notuser caps cap-ng)
$(conf_notuser curl)
+ $(conf_tools doc docs)
$(conf_notuser fdt)
+ $(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
@@ -473,7 +571,7 @@ qemu_src_configure() {
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
- $(conf_notuser jemalloc jemalloc)
+ $(conf_malloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
@@ -482,13 +580,14 @@ qemu_src_configure() {
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
- $(conf_notuser png vnc-png)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_softmmu sdl-image)
$(conf_notuser seccomp)
- $(conf_notuser slirp slirp system)
+ $(conf_notuser slirp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
@@ -498,26 +597,17 @@ qemu_src_configure() {
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
- $(conf_notuser vhost-user-fs)
- $(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
- $(conf_notuser virtfs)
+ $(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
- $(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-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=(
@@ -530,7 +620,7 @@ qemu_src_configure() {
$(usev oss)
)
conf_opts+=(
- --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
)
fi
@@ -541,6 +631,8 @@ qemu_src_configure() {
--disable-system
--disable-blobs
--disable-tools
+ --disable-cap-ng
+ --disable-seccomp
)
local static_flag="static-user"
;;
@@ -549,6 +641,8 @@ qemu_src_configure() {
--disable-linux-user
--enable-system
--disable-tools
+ --enable-cap-ng
+ --enable-seccomp
)
local static_flag="static"
;;
@@ -558,6 +652,7 @@ qemu_src_configure() {
--disable-system
--disable-blobs
--enable-tools
+ --enable-cap-ng
)
local static_flag="static"
;;
@@ -588,11 +683,6 @@ qemu_src_configure() {
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() {
@@ -627,22 +717,22 @@ src_configure() {
src_compile() {
if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
+ cd "${S}/user-build" || die
default
fi
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
default
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
pax-mark m */qemu-system-* #515550
emake check
fi
@@ -739,19 +829,24 @@ src_install() {
fi
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
emake DESTDIR="${ED}" install
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null
+ pushd "${ED}"/usr/bin >/dev/null || die
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null
+ popd >/dev/null || die
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
- cd "${S}"
+ cd "${S}" || die
dodoc MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
@@ -760,10 +855,7 @@ src_install() {
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
@@ -774,6 +866,7 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
@@ -785,13 +878,11 @@ src_install() {
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
@@ -809,7 +900,7 @@ src_install() {
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
- if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
@@ -824,16 +915,27 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin ${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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
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"
@@ -847,22 +949,24 @@ pkg_postinst() {
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"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
fi
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/seabios)"
- if has_version 'sys-firmware/seabios[binary]'; then
- echo " USE=binary"
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/seabios)"
fi
+
+ echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
+ udev_reload
}
diff --git a/app-emulation/qemu/qemu-5.2.0-r2.ebuild b/app-emulation/qemu/qemu-8.0.5.ebuild
index f8958f1829c3..32cb18d7115d 100644
--- a/app-emulation/qemu/qemu-5.2.0-r2.ebuild
+++ b/app-emulation/qemu/qemu-8.0.5.ebuild
@@ -1,20 +1,31 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=sam
+QEMU_DOCS_VERSION="8.0.0"
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ncurses,readline"
-FIRMWARE_ABI_VERSION="4.0.0-r50"
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
-inherit eutils linux-info toolchain-funcs multilib python-r1 \
- udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
EGIT_SUBMODULES=(
- meson
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
@@ -22,44 +33,93 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
SRC_URI=""
else
- SRC_URI="https://download.qemu.org/${P}.tar.xz"
- KEYWORDS="amd64 arm64 ~ppc ppc64 x86"
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+HOMEPAGE="https://www.qemu.org https://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
- jack jemalloc +jpeg kernel_linux
- kernel_FreeBSD lzo multipath
- ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
- smartcard snappy spice ssh static static-user systemtap test udev usb
- usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
- xfs 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"
+ smartcard snappy spice ssh static-user systemtap test udev usb
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
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}
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
@@ -67,14 +127,19 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
- static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
static-user? ( !plugins )
- vhost-user-fs? ( caps seccomp )
- virtfs? ( caps xattr )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
vte? ( gtk )
multipath? ( udev )
- plugins? ( !static !static-user )
+ plugins? ( !static-user )
"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
+done
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
@@ -85,16 +150,16 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# 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(+)]
+ dev-libs/glib:2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-util/systemtap )
- xattr? ( sys-apps/attr[static-libs(+)] )"
+ systemtap? ( dev-debug/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(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -102,35 +167,36 @@ SOFTMMU_TOOLS_DEPEND="
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:= )
- caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
- dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
)
gtk? (
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
+ x11-libs/libX11
vte? ( x11-libs/vte:2.91 )
)
- infiniband? (
- sys-fabric/libibumad:=[static-libs(+)]
- sys-fabric/libibverbs:=[static-libs(+)]
- sys-fabric/librdmacm:=[static-libs(+)]
- )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
- jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
+ kernel_linux? ( sys-libs/libcap-ng[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(+)]
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
@@ -138,10 +204,11 @@ SOFTMMU_TOOLS_DEPEND="
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl,gbm]
+ media-libs/mesa[egl(+),gbm(+)]
)
- png? ( media-libs/libpng:0=[static-libs(+)] )
- pulseaudio? ( media-sound/pulseaudio )
+ pam? ( sys-libs/pam )
+ png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
+ pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@@ -154,83 +221,100 @@ SOFTMMU_TOOLS_DEPEND="
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(+)]
+ >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-0.14.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev[static-libs(+)] )
- usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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(+)] )
"
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
+
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-201905[binary]
- ~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
- ~sys-firmware/seabios-1.12.0[binary,seavgabios]
- ~sys-firmware/sgabios-0.1_pre8[binary]
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ ~sys-firmware/ipxe-1.21.1[binary,qemu]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ ~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
- sys-firmware/edk2-ovmf
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
sys-firmware/ipxe[qemu]
- >=sys-firmware/seabios-1.10.2[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
sys-firmware/sgabios
- )"
+ )
+"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/seabios-1.12.0[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
!pin-upstream-blobs? (
- >=sys-firmware/seabios-1.10.2[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
+ dev-build/meson
sys-apps/texinfo
virtual/pkgconfig
- doc? ( dev-python/sphinx )
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
- sys-devel/bc
+ app-alternatives/bc
)
"
CDEPEND="
- !static? (
- ${ALL_DEPEND//\[static-libs(+)]}
- ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
- )
+ ${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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
-DEPEND="${CDEPEND}
+DEPEND="
+ ${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
- static? (
- ${ALL_DEPEND}
- ${SOFTMMU_TOOLS_DEPEND}
- )
- static-user? ( ${ALL_DEPEND} )"
-RDEPEND="${CDEPEND}
+ static-user? ( ${ALL_DEPEND} )
+"
+RDEPEND="
+ ${CDEPEND}
acct-group/kvm
- selinux? ( sec-policy/selinux-qemu )"
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
- "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
- "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-5.2.0-strings.patch
- "${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
- "${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
+ "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-8.0.0-make.patch
+ "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
+ "${FILESDIR}"/${PN}-8.0.0-remove-python-meson-check.patch
)
QA_PREBUILT="
@@ -246,7 +330,8 @@ QA_PREBUILT="
usr/share/qemu/u-boot.e500
"
-QA_WX_LOAD="usr/bin/qemu-i386
+QA_WX_LOAD="
+ usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
@@ -259,7 +344,6 @@ QA_WX_LOAD="usr/bin/qemu-i386
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
@@ -312,6 +396,8 @@ pkg_pretend() {
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
+ use test && CONFIG_CHECK+=" IP_MULTICAST"
+ ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
@@ -343,7 +429,7 @@ check_targets() {
local var=$1 mak=$2
local detected sorted
- pushd "${S}"/default-configs/targets/ >/dev/null || die
+ pushd "${S}"/configs/targets/ >/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))
@@ -371,8 +457,13 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
- # Remove bundled copy of libfdt
- rm -r dtc || die
+ # We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
+ # this setting (-U then -D..=2) will prevent us from trying out 3, so
+ # drop it. No change to level of protection b/c we patch our toolchain.
+ sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
+
+ # Remove bundled modules
+ rm -r dtc meson roms/*/ || die
}
##
@@ -385,7 +476,7 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
- mkdir "${builddir}"
+ mkdir "${builddir}" || die
local conf_opts=(
--prefix=/usr
@@ -400,6 +491,7 @@ qemu_src_configure() {
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
+ --with-git-submodules=ignore
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
@@ -416,15 +508,19 @@ qemu_src_configure() {
# 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 alsa)
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
- $(use_enable doc docs)
+ $(use_enable jack)
$(use_enable nls gettext)
+ $(use_enable oss)
$(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
$(use_enable xattr attr)
)
@@ -453,14 +549,23 @@ qemu_src_configure() {
echo "--disable-${2:-$1}"
fi
}
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
- $(conf_notuser caps cap-ng)
$(conf_notuser curl)
+ $(conf_tools doc docs)
$(conf_notuser fdt)
+ $(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
@@ -468,7 +573,7 @@ qemu_src_configure() {
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
- $(conf_notuser jemalloc jemalloc)
+ $(conf_malloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
@@ -477,13 +582,14 @@ qemu_src_configure() {
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
- $(conf_notuser png vnc-png)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_softmmu sdl-image)
$(conf_notuser seccomp)
- $(conf_notuser slirp slirp system)
+ $(conf_notuser slirp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
@@ -493,26 +599,17 @@ qemu_src_configure() {
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
- $(conf_notuser vhost-user-fs)
- $(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
- $(conf_notuser virtfs)
+ $(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
- $(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-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=(
@@ -525,7 +622,7 @@ qemu_src_configure() {
$(usev oss)
)
conf_opts+=(
- --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
)
fi
@@ -534,8 +631,9 @@ qemu_src_configure() {
conf_opts+=(
--enable-linux-user
--disable-system
- --disable-blobs
--disable-tools
+ --disable-cap-ng
+ --disable-seccomp
)
local static_flag="static-user"
;;
@@ -544,17 +642,19 @@ qemu_src_configure() {
--disable-linux-user
--enable-system
--disable-tools
+ --enable-cap-ng
+ --enable-seccomp
)
- local static_flag="static"
+ local static_flag="none"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
- --disable-blobs
--enable-tools
+ --enable-cap-ng
)
- local static_flag="static"
+ local static_flag="none"
;;
esac
@@ -562,12 +662,12 @@ qemu_src_configure() {
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
- use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
+ use systemtap && conf_opts+=( --enable-trace-backends="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
+ if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
@@ -583,11 +683,6 @@ qemu_src_configure() {
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() {
@@ -622,22 +717,22 @@ src_configure() {
src_compile() {
if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
+ cd "${S}/user-build" || die
default
fi
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
default
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
pax-mark m */qemu-system-* #515550
emake check
fi
@@ -726,7 +821,7 @@ src_install() {
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
- udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
+ udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
fi
if use python; then
@@ -734,19 +829,24 @@ src_install() {
fi
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
emake DESTDIR="${ED}" install
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null
+ pushd "${ED}"/usr/bin >/dev/null || die
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null
+ popd >/dev/null || die
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
- cd "${S}"
+ cd "${S}" || die
dodoc MAINTAINERS docs/specs/pci-ids.txt
newdoc pc-bios/README README.pc-bios
@@ -755,10 +855,7 @@ src_install() {
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
@@ -769,6 +866,7 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
@@ -780,13 +878,11 @@ src_install() {
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
@@ -804,7 +900,7 @@ src_install() {
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
- if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
@@ -819,16 +915,27 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin ${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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
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"
@@ -842,22 +949,24 @@ pkg_postinst() {
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"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
fi
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/seabios)"
- if has_version 'sys-firmware/seabios[binary]'; then
- echo " USE=binary"
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/seabios)"
fi
+
+ echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
+ udev_reload
}
diff --git a/app-emulation/qemu/qemu-8.1.5.ebuild b/app-emulation/qemu/qemu-8.1.5.ebuild
new file mode 100644
index 000000000000..05d55122f855
--- /dev/null
+++ b/app-emulation/qemu/qemu-8.1.5.ebuild
@@ -0,0 +1,972 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=sam
+#QEMU_DOCS_VERSION=$(ver_cut 1-3)
+QEMU_DOCS_VERSION=8.1.0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,readline"
+
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
+ EGIT_SUBMODULES=(
+ tests/fp/berkeley-softfloat-3
+ tests/fp/berkeley-testfloat-3
+ subprojects/keycodemapdb
+ )
+ inherit git-r3
+ SRC_URI=""
+else
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg keyutils
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
+ plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+ +slirp
+ smartcard snappy spice ssh static-user systemtap test udev usb
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
+
+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 )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
+ static-user? ( !plugins )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
+ vte? ( gtk )
+ multipath? ( udev )
+ plugins? ( !static-user )
+"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
+done
+
+# 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[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-debug/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="
+ >=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 )
+ bpf? ( dev-libs/libbpf:= )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ io-uring? ( sys-libs/liburing:=[static-libs(+)] )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
+ kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
+ keyutils? ( sys-apps/keyutils[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ multipath? ( sys-fs/multipath-tools )
+ ncurses? (
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[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(+)]
+ )
+ pam? ( sys-libs/pam )
+ pipewire? ( >=media-video/pipewire-0.3.60 )
+ png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ 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[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:= )
+ spice? (
+ >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-0.14.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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:= )
+ zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
+
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ ~sys-firmware/ipxe-1.21.1[binary,qemu]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ ~sys-firmware/sgabios-0.1_pre10[binary]
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
+ sys-firmware/ipxe[qemu]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ sys-firmware/sgabios
+ )
+"
+PPC_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ )
+"
+
+# See bug #913084 for pip dep
+BDEPEND="
+ $(python_gen_impl_dep)
+ dev-lang/perl
+ >=dev-build/meson-0.63.0
+ app-alternatives/ninja
+ dev-python/pip[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ test? (
+ dev-libs/glib[utils]
+ app-alternatives/bc
+ )
+"
+CDEPEND="
+ ${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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
+"
+DEPEND="
+ ${CDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ static-user? ( ${ALL_DEPEND} )
+"
+RDEPEND="
+ ${CDEPEND}
+ acct-group/kvm
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
+ "${FILESDIR}"/${PN}-8.1.0-find-sphinx.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/opensbi-riscv64-generic-fw_dynamic.elf
+ usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ 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-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 <USER> kvm
+then have <USER> 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"
+ use test && CONFIG_CHECK+=" IP_MULTICAST"
+ ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
+
+ 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}"/configs/targets/ >/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
+}
+
+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 STRINGS
+ export WINDRES=${CHOST}-windres
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Remove bundled modules
+ rm -r subprojects/dtc roms/*/ || 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}" || die
+
+ 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
+ --localstatedir=/var
+ --disable-bsd-user
+ --disable-containers # bug #732972
+ --disable-guest-agent
+ --disable-strip
+ --disable-download
+
+ # bug #746752: TCG interpreter has a few limitations:
+ # - it does not support FPU
+ # - it's generally slower on non-self-modifying code
+ # It's advantage is support for host architectures
+ # where native codegeneration is not implemented.
+ # Gentoo has qemu keyworded only on targets with
+ # native code generation available. Avoid the interpreter.
+ --disable-tcg-interpreter
+
+ --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
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --objcc="$(tc-getCC)"
+ --host-cc="$(tc-getBUILD_CC)"
+
+ $(use_enable alsa)
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ $(use_enable jack)
+ $(use_enable nls gettext)
+ $(use_enable oss)
+ $(use_enable pipewire)
+ $(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
+ $(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
+ }
+ # Enable option only for softmmu build, but not 'user' or 'tools'
+ conf_softmmu() {
+ if [[ ${buildtype} == "softmmu" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Enable option only for tools build, but not 'user' or 'softmmu'
+ conf_tools() {
+ if [[ ${buildtype} == "tools" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
+ conf_opts+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
+ $(conf_notuser bzip2)
+ $(conf_notuser capstone)
+ $(conf_notuser curl)
+ $(conf_tools doc docs)
+ $(conf_notuser fdt)
+ $(conf_notuser fuse)
+ $(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_malloc jemalloc)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser keyutils libkeyutils)
+ $(conf_notuser lzo)
+ $(conf_notuser multipath mpath)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_softmmu sdl-image)
+ $(conf_notuser seccomp)
+ $(conf_notuser slirp)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh)
+ $(conf_notuser udev libudev)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_softmmu virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ # use prebuilt keymaps, bug #759604
+ --disable-xkbcommon
+ $(conf_notuser zstd)
+ )
+
+ 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 pipewire)
+ $(usev jack)
+ $(usev sdl)
+ $(usev alsa)
+ $(usev oss)
+ )
+ conf_opts+=(
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
+ )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-tools
+ --disable-cap-ng
+ --disable-seccomp
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ --enable-cap-ng
+ --enable-seccomp
+ )
+ local static_flag="none"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --enable-tools
+ --enable-cap-ng
+ )
+ local static_flag="none"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backends="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 [[ ${static_flag} != "none" ]] && use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ # Meson will not use a cross-file unless cross_prefix is set.
+ tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
+
+ # Plumb through equivalent of EXTRA_ECONF to allow experiments
+ # like bug #747928.
+ conf_opts+=( ${EXTRA_CONF_QEMU} )
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+}
+
+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" || die
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ default
+ fi
+
+ cd "${S}/tools-build" || die
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ 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 <<EOF >>"${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-r2 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build" || die
+ emake DESTDIR="${ED}" install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null || die
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null || die
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}" || die
+ dodoc MAINTAINERS
+ 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
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ 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"
+
+ # PPC/PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
+ 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
+ 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:"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
+ ewarn " $(best_version sys-firmware/ipxe)"
+ 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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
+ else
+ echo " $(best_version sys-firmware/seabios)"
+ fi
+
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/sgabios)"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/app-emulation/qemu/qemu-8.2.3.ebuild b/app-emulation/qemu/qemu-8.2.3.ebuild
new file mode 100644
index 000000000000..1c6bab186548
--- /dev/null
+++ b/app-emulation/qemu/qemu-8.2.3.ebuild
@@ -0,0 +1,992 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=sam
+QEMU_DOCS_VERSION=$(ver_cut 1-2).0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,readline"
+
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+ SRC_URI=""
+ declare -A SUBPROJECTS=(
+ [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6"
+ [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037"
+ [berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263"
+ )
+
+ for proj in "${!SUBPROJECTS[@]}"; do
+ c=${SUBPROJECTS[${proj}]}
+ SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2"
+ done
+else
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg keyutils
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
+ plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+ +slirp
+ smartcard snappy spice ssh static-user systemtap test udev usb
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
+
+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 )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
+ static-user? ( !plugins )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
+ vte? ( gtk )
+ multipath? ( udev )
+ plugins? ( !static-user )
+"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
+done
+
+# 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[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-debug/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="
+ >=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 )
+ bpf? ( dev-libs/libbpf:= )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ io-uring? ( sys-libs/liburing:=[static-libs(+)] )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
+ kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
+ keyutils? ( sys-apps/keyutils[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ multipath? ( sys-fs/multipath-tools )
+ ncurses? (
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[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(+)]
+ )
+ pam? ( sys-libs/pam )
+ pipewire? ( >=media-video/pipewire-0.3.60 )
+ png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ 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[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:= )
+ spice? (
+ >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-0.14.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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:= )
+ zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
+
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ ~sys-firmware/ipxe-1.21.1[binary,qemu]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ ~sys-firmware/sgabios-0.1_pre10[binary]
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
+ sys-firmware/ipxe[qemu]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ sys-firmware/sgabios
+ )
+"
+PPC_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ )
+"
+
+# See bug #913084 for pip dep
+BDEPEND="
+ $(python_gen_impl_dep)
+ dev-lang/perl
+ >=dev-build/meson-0.63.0
+ app-alternatives/ninja
+ dev-python/pip[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ test? (
+ dev-libs/glib[utils]
+ app-alternatives/bc
+ )
+"
+CDEPEND="
+ ${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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
+"
+DEPEND="
+ ${CDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ static-user? ( ${ALL_DEPEND} )
+"
+RDEPEND="
+ ${CDEPEND}
+ acct-group/kvm
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
+ "${FILESDIR}"/${PN}-8.1.0-find-sphinx.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/opensbi-riscv64-generic-fw_dynamic.elf
+ usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ 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-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 <USER> kvm
+then have <USER> 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}"/configs/targets/ >/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
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ for file in ${A}; do
+ unpack "${file}"
+ done
+ cd "${WORKDIR}" || die
+ for proj in "${!SUBPROJECTS[@]}"; do
+ mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die
+ done
+ cd "${S}" || die
+ meson subprojects packagefiles --apply || die
+ else
+ default
+ 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 STRINGS
+ export WINDRES=${CHOST}-windres
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Remove bundled modules
+ rm -r roms/*/ || 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}" || die
+
+ 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
+ --localstatedir=/var
+ --disable-bsd-user
+ --disable-containers # bug #732972
+ --disable-guest-agent
+ --disable-strip
+ --disable-download
+
+ # bug #746752: TCG interpreter has a few limitations:
+ # - it does not support FPU
+ # - it's generally slower on non-self-modifying code
+ # It's advantage is support for host architectures
+ # where native codegeneration is not implemented.
+ # Gentoo has qemu keyworded only on targets with
+ # native code generation available. Avoid the interpreter.
+ --disable-tcg-interpreter
+
+ --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
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --objcc="$(tc-getCC)"
+ --host-cc="$(tc-getBUILD_CC)"
+
+ $(use_enable alsa)
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ $(use_enable jack)
+ $(use_enable nls gettext)
+ $(use_enable oss)
+ $(use_enable pipewire)
+ $(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
+ $(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
+ }
+ # Enable option only for softmmu build, but not 'user' or 'tools'
+ conf_softmmu() {
+ if [[ ${buildtype} == "softmmu" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Enable option only for tools build, but not 'user' or 'softmmu'
+ conf_tools() {
+ if [[ ${buildtype} == "tools" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
+ conf_opts+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
+ $(conf_notuser bzip2)
+ $(conf_notuser capstone)
+ $(conf_notuser curl)
+ $(conf_tools doc docs)
+ $(conf_notuser fdt)
+ $(conf_notuser fuse)
+ $(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_malloc jemalloc)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser keyutils libkeyutils)
+ $(conf_notuser lzo)
+ $(conf_notuser multipath mpath)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_softmmu sdl-image)
+ $(conf_notuser seccomp)
+ $(conf_notuser slirp)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh)
+ $(conf_notuser udev libudev)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_softmmu virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ # use prebuilt keymaps, bug #759604
+ --disable-xkbcommon
+ $(conf_notuser zstd)
+ )
+
+ 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 pipewire)
+ $(usev jack)
+ $(usev sdl)
+ $(usev alsa)
+ $(usev oss)
+ )
+ conf_opts+=(
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
+ )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-tools
+ --disable-cap-ng
+ --disable-seccomp
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ --enable-cap-ng
+ --enable-seccomp
+ )
+ local static_flag="none"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --enable-tools
+ --enable-cap-ng
+ )
+ local static_flag="none"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backends="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 [[ ${static_flag} != "none" ]] && use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ # Meson will not use a cross-file unless cross_prefix is set.
+ tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
+
+ # Plumb through equivalent of EXTRA_ECONF to allow experiments
+ # like bug #747928.
+ conf_opts+=( ${EXTRA_CONF_QEMU} )
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+}
+
+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" || die
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ default
+ fi
+
+ cd "${S}/tools-build" || die
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ 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 <<EOF >>"${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-r2 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build" || die
+ emake DESTDIR="${ED}" install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null || die
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null || die
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}" || die
+ dodoc MAINTAINERS
+ 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
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ 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"
+
+ # PPC/PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
+ 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
+ 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:"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
+ ewarn " $(best_version sys-firmware/ipxe)"
+ 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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
+ else
+ echo " $(best_version sys-firmware/seabios)"
+ fi
+
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/sgabios)"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/app-emulation/qemu/qemu-9.0.0.ebuild b/app-emulation/qemu/qemu-9.0.0.ebuild
new file mode 100644
index 000000000000..179ca305b449
--- /dev/null
+++ b/app-emulation/qemu/qemu-9.0.0.ebuild
@@ -0,0 +1,996 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
+QEMU_DOCS_PREBUILT_DEV=sam
+QEMU_DOCS_VERSION=$(ver_cut 1-3)
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,readline"
+
+FIRMWARE_ABI_VERSION="7.2.0"
+
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+ SRC_URI=""
+ declare -A SUBPROJECTS=(
+ [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6"
+ [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037"
+ [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab"
+ )
+
+ for proj in "${!SUBPROJECTS[@]}"; do
+ c=${SUBPROJECTS[${proj}]}
+ SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2"
+ done
+else
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
+HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
+
+LICENSE="GPL-2 LGPL-2 BSD-2"
+SLOT="0"
+
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg keyutils
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
+ plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+ +slirp
+ smartcard snappy spice ssh static-user systemtap test udev usb
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
+
+COMMON_TARGETS="
+ aarch64
+ alpha
+ arm
+ cris
+ hppa
+ i386
+ loongarch64
+ 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
+ rx
+ tricore
+"
+IUSE_USER_TARGETS="
+ ${COMMON_TARGETS}
+ aarch64_be
+ armeb
+ hexagon
+ mipsn32
+ mipsn32el
+ ppc64le
+ sparc32plus
+"
+
+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 )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
+ static-user? ( !plugins )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
+ vte? ( gtk )
+ multipath? ( udev )
+ plugins? ( !static-user )
+"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
+done
+
+# 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[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ python? ( ${PYTHON_DEPS} )
+ systemtap? ( dev-debug/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="
+ >=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 )
+ bpf? ( dev-libs/libbpf:= )
+ bzip2? ( app-arch/bzip2[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
+ curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
+ glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
+ gnutls? (
+ >=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[static-libs(+)]
+ )
+ gtk? (
+ x11-libs/gtk+:3
+ vte? ( x11-libs/vte:2.91 )
+ )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
+ iscsi? ( net-libs/libiscsi )
+ io-uring? ( sys-libs/liburing:=[static-libs(+)] )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
+ kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
+ keyutils? ( sys-apps/keyutils[static-libs(+)] )
+ lzo? ( dev-libs/lzo:2[static-libs(+)] )
+ multipath? ( sys-fs/multipath-tools )
+ ncurses? (
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[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(+)]
+ )
+ pam? ( sys-libs/pam )
+ pipewire? ( >=media-video/pipewire-0.3.60 )
+ png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ 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[static-libs(+)] )
+ smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
+ snappy? ( app-arch/snappy:= )
+ spice? (
+ >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-0.14.0[static-libs(+)]
+ )
+ ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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:= )
+ zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
+"
+
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
+
+X86_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ ~sys-firmware/ipxe-1.21.1[binary,qemu]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ ~sys-firmware/sgabios-0.1_pre10[binary]
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
+ sys-firmware/ipxe[qemu]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ sys-firmware/sgabios
+ )
+"
+PPC_FIRMWARE_DEPEND="
+ pin-upstream-blobs? (
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ !pin-upstream-blobs? (
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
+ )
+"
+
+# See bug #913084 for pip dep
+BDEPEND="
+ $(python_gen_impl_dep)
+ dev-lang/perl
+ >=dev-build/meson-0.63.0
+ app-alternatives/ninja
+ dev-python/pip[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
+ gtk? ( nls? ( sys-devel/gettext ) )
+ test? (
+ dev-libs/glib[utils]
+ app-alternatives/bc
+ )
+"
+CDEPEND="
+ ${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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
+ qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
+"
+DEPEND="
+ ${CDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
+ static-user? ( ${ALL_DEPEND} )
+"
+RDEPEND="
+ ${CDEPEND}
+ acct-group/kvm
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
+ "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
+
+)
+
+QA_PREBUILT="
+ usr/share/qemu/hppa-firmware.img
+ usr/share/qemu/hppa-firmware64.img
+ usr/share/qemu/openbios-ppc
+ usr/share/qemu/openbios-sparc64
+ usr/share/qemu/openbios-sparc32
+ usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
+ usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ 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-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 <USER> kvm
+then have <USER> 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"
+ use test && CONFIG_CHECK+=" IP_MULTICAST"
+ ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
+
+ 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}"/configs/targets/ >/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
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ for file in ${A}; do
+ unpack "${file}"
+ done
+ cd "${WORKDIR}" || die
+ for proj in "${!SUBPROJECTS[@]}"; do
+ mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die
+ done
+ cd "${S}" || die
+ meson subprojects packagefiles --apply || die
+ else
+ default
+ 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 STRINGS
+ export WINDRES=${CHOST}-windres
+
+ # Verbose builds
+ MAKEOPTS+=" V=1"
+
+ # Remove bundled modules
+ rm -r roms/*/ || 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}" || die
+
+ 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
+ --localstatedir=/var
+ --disable-bsd-user
+ --disable-containers # bug #732972
+ --disable-guest-agent
+ --disable-strip
+ --disable-download
+
+ # bug #746752: TCG interpreter has a few limitations:
+ # - it does not support FPU
+ # - it's generally slower on non-self-modifying code
+ # It's advantage is support for host architectures
+ # where native codegeneration is not implemented.
+ # Gentoo has qemu keyworded only on targets with
+ # native code generation available. Avoid the interpreter.
+ --disable-tcg-interpreter
+
+ --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
+ --cc="$(tc-getCC)"
+ --cxx="$(tc-getCXX)"
+ --objcc="$(tc-getCC)"
+ --host-cc="$(tc-getBUILD_CC)"
+
+ $(use_enable alsa)
+ $(use_enable debug debug-info)
+ $(use_enable debug debug-tcg)
+ $(use_enable jack)
+ $(use_enable nls gettext)
+ $(use_enable oss)
+ $(use_enable pipewire)
+ $(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
+ $(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
+ }
+ # Enable option only for softmmu build, but not 'user' or 'tools'
+ conf_softmmu() {
+ if [[ ${buildtype} == "softmmu" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Enable option only for tools build, but not 'user' or 'softmmu'
+ conf_tools() {
+ if [[ ${buildtype} == "tools" ]] ; then
+ use_enable "$@"
+ else
+ echo "--disable-${2:-$1}"
+ fi
+ }
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
+ conf_opts+=(
+ $(conf_notuser accessibility brlapi)
+ $(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
+ $(conf_notuser bzip2)
+ $(conf_notuser capstone)
+ $(conf_notuser curl)
+ $(conf_tools doc docs)
+ $(conf_notuser fdt)
+ $(conf_notuser fuse)
+ $(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_malloc jemalloc)
+ $(conf_notuser jpeg vnc-jpeg)
+ $(conf_notuser kernel_linux kvm)
+ $(conf_notuser keyutils libkeyutils)
+ $(conf_notuser lzo)
+ $(conf_notuser multipath mpath)
+ $(conf_notuser ncurses curses)
+ $(conf_notuser nfs libnfs)
+ $(conf_notuser numa)
+ $(conf_notuser opengl)
+ $(conf_notuser pam auth-pam)
+ $(conf_notuser png)
+ $(conf_notuser rbd)
+ $(conf_notuser sasl vnc-sasl)
+ $(conf_notuser sdl)
+ $(conf_softmmu sdl-image)
+ $(conf_notuser seccomp)
+ $(conf_notuser slirp)
+ $(conf_notuser smartcard)
+ $(conf_notuser snappy)
+ $(conf_notuser spice)
+ $(conf_notuser ssh libssh)
+ $(conf_notuser udev libudev)
+ $(conf_notuser usb libusb)
+ $(conf_notuser usbredir usb-redir)
+ $(conf_notuser vde)
+ $(conf_notuser vhost-net)
+ $(conf_notuser virgl virglrenderer)
+ $(conf_softmmu virtfs)
+ $(conf_notuser vnc)
+ $(conf_notuser vte)
+ $(conf_notuser xen)
+ $(conf_notuser xen xen-pci-passthrough)
+ # use prebuilt keymaps, bug #759604
+ --disable-xkbcommon
+ $(conf_notuser zstd)
+ )
+
+ 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 pipewire)
+ $(usev jack)
+ $(usev sdl)
+ $(usev alsa)
+ $(usev oss)
+ )
+ conf_opts+=(
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
+ )
+ fi
+
+ case ${buildtype} in
+ user)
+ conf_opts+=(
+ --enable-linux-user
+ --disable-system
+ --disable-tools
+ --disable-cap-ng
+ --disable-seccomp
+ )
+ local static_flag="static-user"
+ ;;
+ softmmu)
+ conf_opts+=(
+ --disable-linux-user
+ --enable-system
+ --disable-tools
+ --enable-cap-ng
+ --enable-seccomp
+ )
+ local static_flag="none"
+ ;;
+ tools)
+ conf_opts+=(
+ --disable-linux-user
+ --disable-system
+ --enable-tools
+ --enable-cap-ng
+ )
+ local static_flag="none"
+ ;;
+ esac
+
+ local targets="${buildtype}_targets"
+ [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
+
+ # Add support for SystemTAP
+ use systemtap && conf_opts+=( --enable-trace-backends="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 [[ ${static_flag} != "none" ]] && use ${static_flag}; then
+ conf_opts+=( --static --disable-pie )
+ else
+ tc-enables-pie && conf_opts+=( --enable-pie )
+ fi
+
+ # Meson will not use a cross-file unless cross_prefix is set.
+ tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
+
+ # Plumb through equivalent of EXTRA_ECONF to allow experiments
+ # like bug #747928.
+ conf_opts+=( ${EXTRA_CONF_QEMU} )
+
+ echo "../configure ${conf_opts[*]}"
+ cd "${builddir}"
+ ../configure "${conf_opts[@]}" || die "configure failed"
+}
+
+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" || die
+ default
+ fi
+
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ default
+ fi
+
+ cd "${S}/tools-build" || die
+ default
+}
+
+src_test() {
+ if [[ -n ${softmmu_targets} ]]; then
+ cd "${S}/softmmu-build" || die
+ 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 <<EOF >>"${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-r2 65-kvm.rules
+ fi
+
+ if use python; then
+ python_foreach_impl qemu_python_install
+ fi
+ fi
+
+ cd "${S}/tools-build" || die
+ emake DESTDIR="${ED}" install
+
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
+ # Disable mprotect on the qemu binaries as they use JITs to be fast #459348
+ pushd "${ED}"/usr/bin >/dev/null || die
+ pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
+ popd >/dev/null || die
+
+ # Install config file example for qemu-bridge-helper
+ insinto "/etc/qemu"
+ doins "${FILESDIR}/bridge.conf"
+
+ cd "${S}" || die
+ dodoc MAINTAINERS
+ 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
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
+ 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"
+
+ # PPC/PPC64 loads vgabios-stdvga
+ if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || 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
+ 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
+ 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:"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
+ ewarn " $(best_version sys-firmware/ipxe)"
+ 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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ echo " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
+ else
+ echo " $(best_version sys-firmware/seabios)"
+ fi
+
+ echo " $(best_version sys-firmware/ipxe)"
+ echo " $(best_version sys-firmware/sgabios)"
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ udev_reload
+}
diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild
index 9970b1a031f7..02a65ccd518a 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -1,47 +1,73 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-0}
+QEMU_DOCS_PREBUILT_DEV=sam
+QEMU_DOCS_VERSION=$(ver_cut 1-3)
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+# bug #830088
+QEMU_DOC_USEFLAG="+doc"
+
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ncurses,readline"
-FIRMWARE_ABI_VERSION="5.2.0-r50"
+FIRMWARE_ABI_VERSION="7.2.0"
-inherit eutils linux-info toolchain-funcs multilib python-r1
-inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
+inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
+ pax-utils xdg-utils
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
- EGIT_SUBMODULES=(
- meson
- tests/fp/berkeley-softfloat-3
- tests/fp/berkeley-testfloat-3
- ui/keycodemapdb
- )
+if [[ ${PV} == *9999* ]]; then
+ QEMU_DOCS_PREBUILT=0
+
+ EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
+ EGIT_SUBMODULES=()
inherit git-r3
SRC_URI=""
+ declare -A SUBPROJECTS=(
+ [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6"
+ [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037"
+ [berkeley-testfloat-3]="e7af9751d9f9fd3b47911f51a5cfd08af256a9ab"
+ )
+
+ for proj in "${!SUBPROJECTS[@]}"; do
+ c=${SUBPROJECTS[${proj}]}
+ SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2"
+ done
else
- SRC_URI="https://download.qemu.org/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+ MY_P="${PN}-${PV/_rc/-rc}"
+ SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
+
+ if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
+HOMEPAGE="https://www.qemu.org https://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
- jack jemalloc +jpeg kernel_linux
- kernel_FreeBSD lzo multipath
- ncurses nfs nls numa opengl +oss +pin-upstream-blobs
+[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
+
+IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+ +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
+ jack jemalloc +jpeg keyutils
+ lzo multipath
+ ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
- smartcard snappy spice ssh static static-user systemtap test udev usb
- usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
- xfs zstd"
+ smartcard snappy spice ssh static-user systemtap test udev usb
+ usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
+ zstd"
COMMON_TARGETS="
aarch64
@@ -50,6 +76,7 @@ COMMON_TARGETS="
cris
hppa
i386
+ loongarch64
m68k
microblaze
microblazeel
@@ -57,7 +84,6 @@ COMMON_TARGETS="
mips64
mips64el
mipsel
- nios2
or1k
ppc
ppc64
@@ -75,11 +101,8 @@ COMMON_TARGETS="
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
- lm32
- moxie
rx
tricore
- unicore32
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
@@ -88,7 +111,6 @@ IUSE_USER_TARGETS="
hexagon
mipsn32
mipsn32el
- ppc64abi32
ppc64le
sparc32plus
"
@@ -98,9 +120,11 @@ 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}
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
@@ -108,14 +132,19 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
- static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
+ qemu_softmmu_targets_x86_64? ( fdt )
+ sdl-image? ( sdl )
static-user? ( !plugins )
- vhost-user-fs? ( caps seccomp )
- virtfs? ( caps xattr )
+ virgl? ( opengl )
+ virtfs? ( xattr )
+ vnc? ( gnutls )
vte? ( gtk )
multipath? ( udev )
- plugins? ( !static !static-user )
+ plugins? ( !static-user )
"
+for smname in ${IUSE_SOFTMMU_TARGETS} ; do
+ REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
+done
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
@@ -126,16 +155,16 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# 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(+)]
+ dev-libs/glib:2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
- systemtap? ( dev-util/systemtap )
- xattr? ( sys-apps/attr[static-libs(+)] )"
+ systemtap? ( dev-debug/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(+)]
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
@@ -143,35 +172,34 @@ SOFTMMU_TOOLS_DEPEND="
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
- capstone? ( dev-libs/capstone:= )
- caps? ( sys-libs/libcap-ng[static-libs(+)] )
+ capstone? ( dev-libs/capstone:=[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
- fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
+ fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
+ fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
- dev-libs/nettle:=[static-libs(+)]
>=net-libs/gnutls-3.0:=[static-libs(+)]
+ dev-libs/nettle:=[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(+)]
- )
+ infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
- jpeg? ( virtual/jpeg:0=[static-libs(+)] )
+ jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
+ kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
+ keyutils? ( sys-apps/keyutils[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(+)]
+ sys-libs/ncurses:=[unicode(+)]
+ sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
@@ -179,10 +207,12 @@ SOFTMMU_TOOLS_DEPEND="
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
- media-libs/mesa[egl,gbm]
+ media-libs/mesa[egl(+),gbm(+)]
)
- png? ( media-libs/libpng:0=[static-libs(+)] )
- pulseaudio? ( media-sound/pulseaudio )
+ pam? ( sys-libs/pam )
+ pipewire? ( >=media-video/pipewire-0.3.60 )
+ png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
+ pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
@@ -195,88 +225,107 @@ SOFTMMU_TOOLS_DEPEND="
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(+)]
+ >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-0.14.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
- udev? ( virtual/libudev[static-libs(+)] )
- usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
+ udev? ( virtual/libudev:= )
+ usb? ( >=virtual/libusb-1-r2:1[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(+)] )
"
-SEABIOS_VERSION="1.14.0"
+EDK2_OVMF_VERSION="202202"
+SEABIOS_VERSION="1.16.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/edk2-ovmf-202008[binary]
+ ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
~sys-firmware/ipxe-1.21.1[binary,qemu]
- ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
- sys-firmware/edk2-ovmf
+ || (
+ >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
+ >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
+ )
sys-firmware/ipxe[qemu]
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
sys-firmware/sgabios
- )"
+ )
+"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
- ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
+ ~sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
!pin-upstream-blobs? (
- >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ || (
+ >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
+ >=sys-firmware/seabios-bin-${SEABIOS_VERSION}
+ )
)
"
+# See bug #913084 for pip dep
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
- sys-apps/texinfo
+ >=dev-build/meson-0.63.0
+ app-alternatives/ninja
+ dev-python/pip[${PYTHON_USEDEP}]
virtual/pkgconfig
- doc? ( dev-python/sphinx )
+ doc? (
+ >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ )
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
- sys-devel/bc
+ app-alternatives/bc
)
"
CDEPEND="
- !static? (
- ${ALL_DEPEND//\[static-libs(+)]}
- ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
- )
+ ${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_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
-DEPEND="${CDEPEND}
+DEPEND="
+ ${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
- static? (
- ${ALL_DEPEND}
- ${SOFTMMU_TOOLS_DEPEND}
- )
- static-user? ( ${ALL_DEPEND} )"
-RDEPEND="${CDEPEND}
+ static-user? ( ${ALL_DEPEND} )
+"
+RDEPEND="
+ ${CDEPEND}
acct-group/kvm
- selinux? ( sec-policy/selinux-qemu )"
+ selinux? (
+ sec-policy/selinux-qemu
+ sys-libs/libselinux
+ )
+"
PATCHES=(
- "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
- "${FILESDIR}"/${PN}-5.2.0-strings.patch
- "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
- "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
- "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
+ "${FILESDIR}"/${PN}-9.0.0-disable-keymap.patch
+ "${FILESDIR}"/${PN}-9.0.0-capstone-include-path.patch
+ "${FILESDIR}"/${PN}-9.0.0-also-build-virtfs-proxy-helper.patch
+ "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
+ "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
+
)
QA_PREBUILT="
usr/share/qemu/hppa-firmware.img
+ usr/share/qemu/hppa-firmware64.img
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
@@ -288,7 +337,8 @@ QA_PREBUILT="
usr/share/qemu/u-boot.e500
"
-QA_WX_LOAD="usr/bin/qemu-i386
+QA_WX_LOAD="
+ usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
@@ -301,7 +351,6 @@ QA_WX_LOAD="usr/bin/qemu-i386
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
@@ -354,6 +403,8 @@ pkg_pretend() {
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
+ use test && CONFIG_CHECK+=" IP_MULTICAST"
+ ERROR_IP_MULTICAST="Test suite requires IP_MULTICAST"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
@@ -385,7 +436,7 @@ check_targets() {
local var=$1 mak=$2
local detected sorted
- pushd "${S}"/default-configs/targets/ >/dev/null || die
+ pushd "${S}"/configs/targets/ >/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))
@@ -400,6 +451,23 @@ check_targets() {
popd >/dev/null
}
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ for file in ${A}; do
+ unpack "${file}"
+ done
+ cd "${WORKDIR}" || die
+ for proj in "${!SUBPROJECTS[@]}"; do
+ mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die
+ done
+ cd "${S}" || die
+ meson subprojects packagefiles --apply || die
+ else
+ default
+ fi
+}
+
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
@@ -413,8 +481,8 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
- # Remove bundled copy of libfdt
- rm -r dtc || die
+ # Remove bundled modules
+ rm -r roms/*/ || die
}
##
@@ -427,7 +495,7 @@ qemu_src_configure() {
local buildtype=$1
local builddir="${S}/${buildtype}-build"
- mkdir "${builddir}"
+ mkdir "${builddir}" || die
local conf_opts=(
--prefix=/usr
@@ -442,6 +510,7 @@ qemu_src_configure() {
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
+ --disable-download
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
@@ -458,15 +527,21 @@ qemu_src_configure() {
# 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)"
+ --objcc="$(tc-getCC)"
--host-cc="$(tc-getBUILD_CC)"
+
+ $(use_enable alsa)
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
- $(use_enable doc docs)
+ $(use_enable jack)
$(use_enable nls gettext)
+ $(use_enable oss)
+ $(use_enable pipewire)
$(use_enable plugins)
+ $(use_enable pulseaudio pa)
+ $(use_enable selinux)
$(use_enable xattr attr)
)
@@ -495,14 +570,23 @@ qemu_src_configure() {
echo "--disable-${2:-$1}"
fi
}
+ # Special case for the malloc flag, because the --disable flag does
+ # not exist and trying like above will break configuring.
+ conf_malloc() {
+ if [[ ! ${buildtype} == "user" ]] ; then
+ usex "${1}" "--enable-malloc=${1}" ""
+ fi
+ }
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
+ $(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
- $(conf_notuser caps cap-ng)
$(conf_notuser curl)
+ $(conf_tools doc docs)
$(conf_notuser fdt)
+ $(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
@@ -510,22 +594,24 @@ qemu_src_configure() {
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
- $(conf_notuser jemalloc jemalloc)
+ $(conf_malloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
+ $(conf_notuser keyutils libkeyutils)
$(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 pam auth-pam)
+ $(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_softmmu sdl-image)
$(conf_notuser seccomp)
- $(conf_notuser slirp slirp system)
+ $(conf_notuser slirp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
@@ -535,39 +621,31 @@ qemu_src_configure() {
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
- $(conf_notuser vhost-user-fs)
- $(conf_tools vhost-user-fs virtiofsd)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
- $(conf_notuser xfs xfsctl)
# use prebuilt keymaps, bug #759604
--disable-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 pipewire)
$(usev jack)
$(usev sdl)
$(usev alsa)
$(usev oss)
)
conf_opts+=(
- --audio-drv-list=$(printf "%s," "${audio_opts[@]}")
+ --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
)
fi
@@ -576,8 +654,9 @@ qemu_src_configure() {
conf_opts+=(
--enable-linux-user
--disable-system
- --disable-blobs
--disable-tools
+ --disable-cap-ng
+ --disable-seccomp
)
local static_flag="static-user"
;;
@@ -586,17 +665,19 @@ qemu_src_configure() {
--disable-linux-user
--enable-system
--disable-tools
+ --enable-cap-ng
+ --enable-seccomp
)
- local static_flag="static"
+ local static_flag="none"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
- --disable-blobs
--enable-tools
+ --enable-cap-ng
)
- local static_flag="static"
+ local static_flag="none"
;;
esac
@@ -604,12 +685,12 @@ qemu_src_configure() {
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
- use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
+ use systemtap && conf_opts+=( --enable-trace-backends="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
+ if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
@@ -625,11 +706,6 @@ qemu_src_configure() {
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() {
@@ -664,22 +740,22 @@ src_configure() {
src_compile() {
if [[ -n ${user_targets} ]]; then
- cd "${S}/user-build"
+ cd "${S}/user-build" || die
default
fi
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
default
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
- cd "${S}/softmmu-build"
+ cd "${S}/softmmu-build" || die
pax-mark m */qemu-system-* #515550
emake check
fi
@@ -776,20 +852,25 @@ src_install() {
fi
fi
- cd "${S}/tools-build"
+ cd "${S}/tools-build" || die
emake DESTDIR="${ED}" install
+ # If USE=doc, there'll be newly generated docs which we install instead.
+ if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
+ fi
+
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
- pushd "${ED}"/usr/bin >/dev/null
+ pushd "${ED}"/usr/bin >/dev/null || die
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
- popd >/dev/null
+ popd >/dev/null || die
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
- cd "${S}"
- dodoc MAINTAINERS docs/specs/pci-ids.txt
+ cd "${S}" || die
+ dodoc MAINTAINERS
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.
@@ -797,10 +878,7 @@ src_install() {
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
@@ -811,6 +889,7 @@ src_install() {
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
+
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
@@ -822,13 +901,11 @@ src_install() {
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
@@ -846,7 +923,7 @@ src_install() {
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
- if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
+ if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
@@ -861,16 +938,27 @@ pkg_postinst() {
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
- fcaps cap_net_admin ${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)"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
+ else
+ ewarn " $(best_version sys-firmware/edk2-ovmf)"
+ fi
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ ewarn " $(best_version sys-firmware/seabios-bin)"
+ else
+ ewarn " $(best_version sys-firmware/seabios)"
+ fi
+
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"
@@ -884,22 +972,24 @@ pkg_postinst() {
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"
+
+ if has_version 'sys-firmware/edk2-ovmf-bin'; then
+ echo " $(best_version sys-firmware/edk2-ovmf-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/edk2-ovmf)"
fi
- echo " $(best_version sys-firmware/ipxe)"
- echo " $(best_version sys-firmware/seabios)"
- if has_version 'sys-firmware/seabios[binary]'; then
- echo " USE=binary"
+
+ if has_version 'sys-firmware/seabios-bin'; then
+ echo " $(best_version sys-firmware/seabios-bin)"
else
- echo " USE=''"
+ echo " $(best_version sys-firmware/seabios)"
fi
+
+ echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
+ udev_reload
}
diff --git a/app-emulation/qtrvsim/Manifest b/app-emulation/qtrvsim/Manifest
new file mode 100644
index 000000000000..762a7e2d5b7d
--- /dev/null
+++ b/app-emulation/qtrvsim/Manifest
@@ -0,0 +1 @@
+DIST qtrvsim-0.9.7.tar.gz 1421805 BLAKE2B 9128dbe513860eafd01e0f37a99547797d385b57a404e06aea310404012e66e6be802920cdea62acb914d355fc842cd3759fc794d2cd417257b941f9ec62fbec SHA512 0d53e21681630cbf97db472472bd96dfe4914e0d275a1094cb18a7f0372cef23b0dea3c33092b6ab6d2403737070ef0b6f2b1f5d9d35eea8923b24a80ac6adfe
diff --git a/app-emulation/qtrvsim/metadata.xml b/app-emulation/qtrvsim/metadata.xml
new file mode 100644
index 000000000000..38cc1db28ca8
--- /dev/null
+++ b/app-emulation/qtrvsim/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cvut/qtrvsim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/qtrvsim/qtrvsim-0.9.7.ebuild b/app-emulation/qtrvsim/qtrvsim-0.9.7.ebuild
new file mode 100644
index 000000000000..a9c2875d59f6
--- /dev/null
+++ b/app-emulation/qtrvsim/qtrvsim-0.9.7.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="RISC-V CPU simulator for education"
+HOMEPAGE="https://github.com/cvut/qtrvsim"
+SRC_URI="https://github.com/cvut/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ dev-qt/qtbase:6[gui,widgets]
+ virtual/libelf:=
+"
+RDEPEND="${DEPEND}"
+
+CMAKE_SKIP_TESTS=(
+ # Fails in 0.9.7, but not in master.
+ cli_stalls
+)
diff --git a/app-emulation/reg/Manifest b/app-emulation/reg/Manifest
deleted file mode 100644
index aa259755a17d..000000000000
--- a/app-emulation/reg/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST github.com-go-yaml-yaml-eb3733d160e7.tar.gz 64789 BLAKE2B a59db73ba751c932695913770550e115d46df28c4cff402325cf5324c97069e3acccb9faf39826a5da416f8c5b0cc69377cef41a6b1451afa82c7ae8bd620544 SHA512 9e34c34c907d1177e072eb5f3b421b8a3af0e68b490508691d745cdcf1145d9bcfd2592d909a4b05e7f12bfb62355d49861f6d2e1bd29b69cf026ef631965289
-DIST reg-0.16.1.tar.gz 3163977 BLAKE2B b161200e7b96b26054e121853bafb4751865de1146f07fa48418a6624beeebd10eb8fcde1af90f9dd3c20ffd8d5807a106d012bf996944c96b5ff841b0079fb4 SHA512 77fbd543de6e94c504e98a0364895b19099e3cde55a85a4413730de58de8e84f50889fdcfaffa1c76ae412a603ed6d5f4b1d57566ec814cf88df70278e91aee6
diff --git a/app-emulation/reg/files/reg-0.16.0-config.patch b/app-emulation/reg/files/reg-0.16.0-config.patch
deleted file mode 100644
index 3ec1bf44d032..000000000000
--- a/app-emulation/reg/files/reg-0.16.0-config.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From 0ab86b565f437b9dede5d3a7cef56690d8d19bbb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
-Date: Tue, 18 Sep 2018 15:42:24 +0200
-Subject: [PATCH 2/2] server: Read config from file
-
----
- README.md | 4 ++
- config.yml.example | 37 ++++++++++++++++
- server.go | 107 +++++++++++++++++++++++++++++++--------------
- 3 files changed, 114 insertions(+), 34 deletions(-)
- create mode 100644 config.yml.example
-
-diff --git a/README.md b/README.md
-index 3b1b661f..5e0f0175 100644
---- a/README.md
-+++ b/README.md
-@@ -228,6 +228,7 @@ Flags:
- -u, --username username for the registry (default: <none>)
- --listen-address address to listen on (default: <none>)
- --asset-path Path to assets and templates (default: <none>)
-+ --config Path to config file (default: <none>)
- -f, --force-non-ssl force allow use of non-ssl (default: false)
- --once generate the templates once and then exit (default: false)
- --skip-ping skip pinging the registry while establishing connection (default: false)
-@@ -243,6 +244,9 @@ Flags:
- -p, --password password for the registry (default: <none>)
- ```
-
-+Alternatively you can provide configuration to `reg server` via a file passed to
-+`reg server` via as `--config`. See also config.yml.example in this repository.
-+
- **Screenshots:**
-
- ![home.png](server/home.png)
-diff --git a/config.yml.example b/config.yml.example
-new file mode 100644
-index 00000000..9d4be25f
---- /dev/null
-+++ b/config.yml.example
-@@ -0,0 +1,37 @@
-+### Reg Server Settings
-+
-+## Path to server TLS certificate:
-+# cert:
-+## Path to server TLS key:
-+# key:
-+## Address to listen on:
-+# listen-address: 0.0.0.0
-+## Port to listen on:
-+# port: 8080
-+## Path Assets are stored under:
-+# asset-path: /var/lib/reg
-+## Generate static website and exit:
-+# once: false
-+## Refresh interval:
-+# interval: 1h0m0s
-+## Debug output
-+# debug: false
-+## Skip initial ping
-+# skip-ping: false
-+## Timeout
-+# timeout: 1m0s
-+
-+
-+### Registry and Clair Server Settings
-+## Registry Server:
-+# registry: r.j3ss.co
-+## Username to authenticate against registry server
-+# username:
-+## Password to authenticate against registry server
-+# password:
-+## If true, do not verify TLS certificates
-+# insecure: false
-+## Force allow use of non-TLS connections
-+# force-nonssl: false
-+## Clair Server:
-+# clair:
-diff --git a/server.go b/server.go
-index fcd4cd71..0c84d85d 100644
---- a/server.go
-+++ b/server.go
-@@ -4,7 +4,9 @@ import (
- "context"
- "flag"
- "fmt"
-+ "gopkg.in/yaml.v2"
- "html/template"
-+ "io/ioutil"
- "net/http"
- "os"
- "path/filepath"
-@@ -29,39 +31,76 @@ func (cmd *serverCommand) LongHelp() string { return serverHelp }
- func (cmd *serverCommand) Hidden() bool { return false }
-
- func (cmd *serverCommand) Register(fs *flag.FlagSet) {
-- fs.DurationVar(&cmd.interval, "interval", time.Hour, "interval to generate new index.html's at")
-+ fs.DurationVar(&cmd.Interval, "interval", time.Hour, "interval to generate new index.html's at")
-
-- fs.StringVar(&cmd.registryServer, "registry", "", "URL to the private registry (ex. r.j3ss.co)")
-- fs.StringVar(&cmd.registryServer, "r", "", "URL to the private registry (ex. r.j3ss.co)")
-+ fs.StringVar(&cmd.RegistryServer, "registry", "", "URL to the private registry (ex. r.j3ss.co)")
-+ fs.StringVar(&cmd.RegistryServer, "r", "", "URL to the private registry (ex. r.j3ss.co)")
-
-- fs.StringVar(&cmd.clairServer, "clair", "", "url to clair instance")
-+ fs.StringVar(&cmd.ClairServer, "clair", "", "url to clair instance")
-
-- fs.StringVar(&cmd.cert, "cert", "", "path to ssl cert")
-- fs.StringVar(&cmd.key, "key", "", "path to ssl key")
-- fs.StringVar(&cmd.listenAddress, "listen-address", "", "address to listen on")
-- fs.StringVar(&cmd.port, "port", "8080", "port for server to run on")
-- fs.StringVar(&cmd.assetPath, "asset-path", "", "Path to assets and templates")
-+ fs.StringVar(&cmd.Cert, "cert", "", "path to ssl cert")
-+ fs.StringVar(&cmd.Key, "key", "", "path to ssl key")
-+ fs.StringVar(&cmd.ListenAddress, "listen-address", "", "address to listen on")
-+ fs.StringVar(&cmd.Port, "port", "8080", "port for server to run on")
-
-- fs.BoolVar(&cmd.generateAndExit, "once", false, "generate the templates once and then exit")
-+ fs.StringVar(&cmd.AssetPath, "asset-path", "", "Path to assets and templates")
-+ fs.StringVar(&cmd.configPath, "config", "", "Path to config file")
-+
-+ fs.BoolVar(&cmd.GenerateAndExit, "once", false, "generate the templates once and then exit")
- }
-
- type serverCommand struct {
-- interval time.Duration
-- registryServer string
-- clairServer string
--
-- generateAndExit bool
--
-- cert string
-- key string
-- listenAddress string
-- port string
-- assetPath string
-+ Interval time.Duration `yaml:"interval"`
-+ RegistryServer string `yaml:"registry"`
-+ ClairServer string `yaml:"clair"`
-+ GenerateAndExit bool `yaml:"once"`
-+ Cert string `yaml:"cert"`
-+ Key string `yaml:"key"`
-+ ListenAddress string `yaml:"listen-address"`
-+ Port string `yaml:"port"`
-+ AssetPath string `yaml:"asset-path"`
-+ configPath string
-+
-+ Password string `yaml:"password"`
-+ Username string `yaml:"username"`
-+ Insecure bool `yaml:"insecure"`
-+ Debug bool `yaml:"debug"`
-+ SkipPing bool `yaml:"skip-ping"`
-+ ForceNonSSL bool `yaml:"force-nonssl"`
-+ Timeout time.Duration `yaml:"timeout"`
- }
-
- func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
- // Create the registry client.
-- r, err := createRegistryClient(ctx, cmd.registryServer)
-+ if len(cmd.configPath) > 0 {
-+ config, err := ioutil.ReadFile(cmd.configPath)
-+ if err != nil {
-+ return err
-+ }
-+ yaml.Unmarshal(config, cmd)
-+ if err != nil {
-+ return err
-+ }
-+ if len(cmd.Username) > 0 {
-+ username = cmd.Username
-+ }
-+ if len(cmd.Password) > 0 {
-+ password = cmd.Password
-+ }
-+ if cmd.Debug {
-+ debug = cmd.Debug
-+ }
-+ if cmd.Insecure {
-+ insecure = cmd.Insecure
-+ }
-+ if cmd.SkipPing {
-+ skipPing = cmd.SkipPing
-+ }
-+ if cmd.Timeout != 0 {
-+ timeout = cmd.Timeout
-+ }
-+ }
-+ r, err := createRegistryClient(ctx, cmd.RegistryServer)
- if err != nil {
- return err
- }
-@@ -69,25 +108,25 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
- // Create the registry controller for the handlers.
- rc := registryController{
- reg: r,
-- generateOnly: cmd.generateAndExit,
-+ generateOnly: cmd.GenerateAndExit,
- }
-
- // Create a clair client if the user passed in a server address.
-- if len(cmd.clairServer) > 0 {
-- rc.cl, err = clair.New(cmd.clairServer, clair.Opt{
-+ if len(cmd.ClairServer) > 0 {
-+ rc.cl, err = clair.New(cmd.ClairServer, clair.Opt{
- Insecure: insecure,
- Debug: debug,
- Timeout: timeout,
- })
- if err != nil {
-- return fmt.Errorf("creation of clair client at %s failed: %v", cmd.clairServer, err)
-+ return fmt.Errorf("creation of clair client at %s failed: %v", cmd.ClairServer, err)
- }
- } else {
- rc.cl = nil
- }
- // Get the path to the asset directory.
-- assetDir := cmd.assetPath
-- if len(cmd.assetPath) <= 0 {
-+ assetDir := cmd.AssetPath
-+ if len(cmd.AssetPath) <= 0 {
- assetDir, err = os.Getwd()
- if err != nil {
- return err
-@@ -131,12 +170,12 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
- return fmt.Errorf("creating index failed: %v", err)
- }
-
-- if cmd.generateAndExit {
-+ if cmd.GenerateAndExit {
- logrus.Info("output generated, exiting...")
- return nil
- }
-
-- rc.interval = cmd.interval
-+ rc.interval = cmd.Interval
- ticker := time.NewTicker(rc.interval)
- go func() {
- // Create more indexes every X minutes based off interval.
-@@ -174,12 +213,12 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
-
- // Set up the server.
- server := &http.Server{
-- Addr: cmd.listenAddress + ":" + cmd.port,
-+ Addr: cmd.ListenAddress + ":" + cmd.Port,
- Handler: mux,
- }
-- logrus.Infof("Starting server on port %q", cmd.port)
-- if len(cmd.cert) > 0 && len(cmd.key) > 0 {
-- return server.ListenAndServeTLS(cmd.cert, cmd.key)
-+ logrus.Infof("Starting server on port %q", cmd.Port)
-+ if len(cmd.Cert) > 0 && len(cmd.Key) > 0 {
-+ return server.ListenAndServeTLS(cmd.Cert, cmd.Key)
- }
- return server.ListenAndServe()
- }
diff --git a/app-emulation/reg/files/reg.confd b/app-emulation/reg/files/reg.confd
deleted file mode 100644
index 1bd2475decc4..000000000000
--- a/app-emulation/reg/files/reg.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# arguments for reg server
-command_args="--asset-path=/var/lib/reg"
diff --git a/app-emulation/reg/files/reg.initd b/app-emulation/reg/files/reg.initd
deleted file mode 100644
index 7759f44f376c..000000000000
--- a/app-emulation/reg/files/reg.initd
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2016-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="Reg server - providing a UI for Docker Registry"
-pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
-user=${user:-${RC_SVCNAME}}
-group=${group:-${RC_SVCNAME}}
-
-command="/usr/bin/reg server"
-command_args="${command_args:---asset-path=/var/lib/reg}"
-command_background="true"
-start_stop_daemon_args="--user ${user} --group ${group} \
- --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
- --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
-
-depend() {
- after net
-}
diff --git a/app-emulation/reg/metadata.xml b/app-emulation/reg/metadata.xml
deleted file mode 100644
index 7496d961803e..000000000000
--- a/app-emulation/reg/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <upstream>
- <remote-id type="github">genuinetools/reg</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/reg/reg-0.16.1.ebuild b/app-emulation/reg/reg-0.16.1.ebuild
deleted file mode 100644
index bfd5ac25d064..000000000000
--- a/app-emulation/reg/reg-0.16.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_VENDOR=( "gopkg.in/yaml.v2 eb3733d160e7 github.com/go-yaml/yaml" )
-
-inherit golang-build golang-vcs-snapshot user
-
-EGO_PN="github.com/genuinetools/reg"
-GIT_COMMIT="4203e559f331009df04a3ca47820989c6c43e138"
-ARCHIVE_URI="https://${EGO_PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz
- ${EGO_VENDOR_URI}"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Docker registry v2 command line client"
-HOMEPAGE="https://github.com/genuinetools/reg"
-SRC_URI="${ARCHIVE_URI}"
-LICENSE="MIT Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC"
-SLOT="0"
-IUSE=""
-
-RESTRICT="test"
-
-pkg_setup() {
- enewgroup reg
- enewuser reg -1 -1 /var/lib/reg reg
-}
-
-src_prepare() {
- pushd src/${EGO_PN} || die
- eapply "${FILESDIR}"/reg-0.16.0-config.patch
- default
- popd || die
-}
-
-src_compile() {
- export -n GOCACHE GOPATH XDG_CACHE_HOME
- pushd src/${EGO_PN} || die
- GO111MODULE=on go build -mod=vendor -v -ldflags "-X ${EGO_PN}/version.GITCOMMIT=${GIT_COMMIT} -X ${EGO_PN}/version.VERSION=${PV}" -o "${S}"/bin/reg . || die
- popd || die
-}
-
-src_install() {
- dobin bin/*
- dodoc src/${EGO_PN}/README.md
- insinto /var/lib/${PN}
- doins -r src/${EGO_PN}/server/*
- newinitd "${FILESDIR}"/reg.initd reg
- newconfd "${FILESDIR}"/reg.confd reg
-
- keepdir /var/log/reg
- fowners -R reg:reg /var/log/reg /var/lib/reg/static
-}
diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest
new file mode 100644
index 000000000000..55dbddb94692
--- /dev/null
+++ b/app-emulation/ruffle/Manifest
@@ -0,0 +1,657 @@
+DIST ab_glyph-0.2.23.crate 18537 BLAKE2B b11121197c7c2bfbc8096e82fb7321d2e3a56491c8d644d0b83d99663c642ef5813d1952994613c5c2fc98df76f67f0103487cc50c304e59307cc6c5a389a6b5 SHA512 169aaea8daf54cae7b3123b088f95217dda53f5e11b42a962d4607f546b8ecbdbab769d292cd2f50206f58d015785361479b4dfc42915b28bc5bdfff4340c151
+DIST ab_glyph_rasterizer-0.1.8.crate 11010 BLAKE2B 2a20fd3ff646559d704e214ae7c4e5b8297e20be0909c403c140edb67002665447a6a796e5ca5d71f5c8c55000489a14a101ec43dd90101be9c246d1a0138dc4 SHA512 6fd5ff2d068da84c4ac2e6e2c5ad6ab2f4926f1664afb8ba701b60a35c3bd7bf00b200b22c455ca15dfc7d4303c8caa0bb150c18dcce01ce107deaf323cde17f
+DIST accesskit-0.12.3.crate 27022 BLAKE2B 834c6c46388014047d12e92fa8abc9c3cbba7506834a64cdd9159c0ccf3888f623da82fab106c64e62154be3ea4bb4447f0ddcf5f6ee670b282b94c4e0c3ea4f SHA512 5b271883b13c132be9036f016c4dcef7391287585cd9fc5bdec9a931a5bf1718732a14b09f55ee56c95ffb644ff52e1fe001e3ef1eb6c1518f1c8cf68f244440
+DIST addr2line-0.21.0.crate 40807 BLAKE2B 9796b9a1177a299797902b7f64247d81d63d3f7e0dcc1256990628e84c5f92e3094ee8d753d9b72187b9aaa73b7ca67c0217899f2226ebd1076f8d25b458475b SHA512 afde7660dda30dee240e79df1fb5b92d4572520bf17a134ef3765e2a077af9e13713952d52e27fae420109b40f6e24dbce1056687dbcbead858ffc21cc7dc69b
+DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3d41e9015665131cc2a176d4ca0ab5a84df027dec0869ee735ee36f5687a06c1d2341de666070cdbab89483 SHA512 8ed72612fb78e213fc92963fdae0508ef26988656c939e6c9cddccbe2658d4a956a8ae934d9658262a8b2687dc446b3f1ee7614128b440487c81e606526dfda3
+DIST aes-0.8.4.crate 124812 BLAKE2B c4a9cadbbfd9d24a758bd5d18b851fb86bd74f5b1f0f6f5706275329d92396a00dc2c35fa0aa2af5b55fd336934d35df413a31f85ba886e85a037296f9df25bd SHA512 96243337546acf64f89bf9ba23011eea1a205d82d96707f9c45bf28cc62ef00cdac5cdfacb8d6013155ee1522ad73dd1b7f166c74ed18159bf23c3c48ec77d79
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
+DIST allocator-api2-0.2.16.crate 59025 BLAKE2B fda69b52435a7243eb19bc55914a1961e59dbad5ac12c40db39cccdf7a99c742da59c3ef160350808698db24b91e0ce655cd1acedbbcbe20c717604aae23ea5e SHA512 e1eb0df6b44b62115795ebf772f81e9ac0b6d273afd81659dbddb7eb6628b6e5ef6a60ea21413e79ee638afb72e6872ba83a075f6324daf93f2f1eda48daff2f
+DIST alsa-0.9.0.crate 72602 BLAKE2B f65921c4d37204f9f8bfbb95cb3cf64952240b516600d9d48d3125c491ba12d476d5717db6cbb1ab58e0d85373a5d4347d5fb64405d5af0639d282de9632b7f9 SHA512 85dba28d451a8fed3b6131dddaedbe8de0fbcbc39dd9c58a9a9d56f132663f8f42f6e647ca26bc25c2558cc4db806894b8062f5f2bea619dc70f2dca32a2cc02
+DIST alsa-sys-0.3.1.crate 32748 BLAKE2B 0c4da9c343d622ddd521fe9332acf97c1ee4a202a909c7a0014a507148ab6ff82d5098660dcba847d938b296adde416ae420d454d6982c33a0456f37840d716b SHA512 6523d909c500fee433f934eedfdc200cfc52e1b55be09434665210c16bb9af3593d8b1346ace184b171c7135a7aa65fdac5ca8c68e64f9d20436e1d8fac961fe
+DIST android-activity-0.5.2.crate 258406 BLAKE2B bebcddb062921b10915959704d1339c0d200843b887be4588010a359f8b46fba6dce94d4f87a37e006c01e66e6ec061f33f4aaaf32ff616fdd2f52d2d0287b2b SHA512 281f2c3afaaa80d71f5aa6b531aae8e551897bb10c70da40787ee03ff194129da0df79f2e14d5432c9eb4a92c6227a1f9e1a3bd12e7060bbcae85fef177c009f
+DIST android-properties-0.2.2.crate 4563 BLAKE2B 00634bbee4d6dcd3254ee37dd7e5560963b35700aa95c47c84c129f0774cbac436347f0abdaa4ec33216358d9f079559552bd5a95de5026b7dba4e04d9cd674b SHA512 dae9a12ffa7d5fbabc28d3ddcc32f1b5300884cf2b3ef2e123f2dea596b3a796b9c3cb6c5381bf8f6caf04a633c5f2f0b56804fed8fb2a6f06c36d6c76539431
+DIST android-tzdata-0.1.1.crate 7674 BLAKE2B 4385a4875aadaacd5284a9ca7d1bf8a7bf14bf8925d1563d52fbabacc3af2c1ea08bfcf77106f3648f4fa052ac295158a21e7a0131d31eb9aecd99ea4ba20055 SHA512 4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077
+DIST android_system_properties-0.1.5.crate 5243 BLAKE2B 86f68ec3bdabf8c6ec47881d794970f08a9eefc7417fc8a2bf4fe9faf9bdd2a2024a94adb0cbf96673409f5fbbd4d0111a1ac371339e7a90a277b6cd5003524e SHA512 b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191
+DIST anstream-0.6.13.crate 30928 BLAKE2B 0c6d0932dc486ccbe8d7e6f97bd8aae03fb84d4db90d0488070b7109de673e0af845a70a39e546af87f71f4c7f7bb159ab8ed68ac0f03a0297457062d9d69dc0 SHA512 4f9ccfd135de9be22a01230f39d571c8d8ccf7c3eba837fbf0868c9660693b60ee0c1c2f9490a587d5307e892ed45cb946da7a0690a9f972619c94fb050bde09
+DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa
+DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399
+DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc
+DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931
+DIST anyhow-1.0.82.crate 45361 BLAKE2B 558bac4de847a432fc80427e7be4e78cae4b01c4da852eae2121416af4d7e6ddeaeffd7de9bb69e55340b9a228436b975fdea88e380391a77c782a3776b835dd SHA512 e0d25a8c0b9c45e1db2072618097aff3908f70bfcbf0963d3c9dd9c97be27a85c4a763c5cb74e1ccd1b0a2059360e0879df4be80e10e58e0a5346b65f4fa1a69
+DIST approx-0.5.1.crate 15100 BLAKE2B 8fe84d52263521c0b72a1d1e82ed283828f680b8b56f532df2c14ea86ca09e793686d823c5d58ecfd7a829948543bb375e85223c866cf036e9432be5d6aa7399 SHA512 c6d768496c974b6ff4cf7ad8e65f3fc9faf29a1957da497968ee112c6a0b9d7a0ff9a2579206e864976c0f65ed2190bc9d2b63b31a09ced7b57879e207c46407
+DIST arboard-3.3.2.crate 45916 BLAKE2B 4d4b39d9447e7043cc30b6989fdd9955dd6028ec2aea77566ad24d91c31d4bf01306bffefa412d5b494f021dd8a3e51e61036dc64377f86c5ef1ffb1e27ecb4c SHA512 cba3917b302f4f4630275cf64d31d4052a2f7aee1b179bdcef95d5153cf92a9a46f139b76ffdfddab525c1ea36ef8e7fef78ac704222d4fb33fecaeaa8d3af50
+DIST arc-swap-1.7.1.crate 68512 BLAKE2B 5ddeffd2ae8af4125a5b43d4a0a1afc7948533bf037d8cd3e47603c13b57b156618280d99b840bf318b25b6eb29400ad68499695e182acdc05bc5f621c42ee16 SHA512 070fa8dd17b380b6d7d72f6f45c84e591de9a9770b9662351e7a41af03798bf5e34d185a5fcb948f4d8ac5e210a33acd465c39eff6097662c2442b34ee3dbdff
+DIST arrayref-0.3.7.crate 9620 BLAKE2B 69d25ca9c15c188ca954a862f320869a448a5d8ed5765a6fc26309abb030e1d846d12800d960c8a97aa3ab422e8d2b883bd154781ed219a858e02b20cc803613 SHA512 dcf1c7de6d1d4b921e26a39cd70070bd460cd27f0a38be9099e41fc8b05fb60ba4f9aa91f92401cdcd0847bad08bffa7db4dca8d7cc84a3c8a1416d1758838ce
+DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
+DIST as-raw-xcb-connection-1.0.1.crate 6460 BLAKE2B 678c4c28852bddfb8ec9660742370e480df6cc379bd7d653e12fa00aa99b598d9e5519e15c33e59fbbf43d260fd01856129ad4e9e8dab28af6e043e3ea651fa0 SHA512 79afaab72e5a5af2e70b1b66deed1dcec5b40a4a47516bee4845684c0cb8afcb2f141af0bd4034e7fb76e57a0c7e7778c3deed2e73ab780915e04e3604fb9a98
+DIST ash-0.37.3+1.3.251.crate 449524 BLAKE2B 0f21db7c1e8290b3cf5ae8ee064dc6905fe75d9f6075edf2255451a3cb9c1e7973c6555be6e06a3abe7d29a64e159cf9b6cc9c9ff9808a6fea82216dee41fee4 SHA512 7967df0dbe734d5ed7b60fbaad7a844e0c0c39792828f4764580fdadc3b38d631d4f1a62ea2cf4b08e3a6c0c0f89d771ed9aa97241d6f86031a9d9cb1ef140cc
+DIST ashpd-0.8.1.crate 74342 BLAKE2B 853b77be49af0797804c2d2303a21ca2026b99fcff210797e28db6c09bd0142eadbbf85771a3fd2029d44b2a51167d3ccb231179b8ddc92c3a8d0b0fdfa9fcb5 SHA512 287febcd2fb246435092a8c376d628a6fa833ff288dc0b31d0534da95c91385b06c5428a19d490079b4b32c72ed9e4fe56f3c6040e687d30e2ffd41d6669acf1
+DIST async-broadcast-0.7.0.crate 20852 BLAKE2B 5848b71ced51d2a8ba7c5d9e1102b626b450c5412d35362903beecdcb7a7fc89ef33ebc3aa233fa1ae8bdf2da2768b541d16b91dc21c0435751bdda9e1bdce7a SHA512 d1a452db233cd9c1776b0d5931727d8d96a5e7779088fc410eae897a174c5dd80900c86385e270c62f164f340951a5f83860be970e37cd4910cf8a85dd78d89f
+DIST async-channel-2.2.1.crate 14326 BLAKE2B ff89c3c0daf1b682c6eef8efba42e9fd29a374b6508cf254e69c8e503eb6ae10d96d129baf0c5033af4a9826210c57a6f826eb62241108ca4448f8dc438ad33a SHA512 706aa51402267ee2e7b8995efea8fb950a88d5db5e86302d554850074a2ecc541b02db3b9b28f068d4143de41300f75a405c0f2b9e83cd848ffc98a1d336da71
+DIST async-executor-1.8.0.crate 21870 BLAKE2B 85e24330e50d971239e4b2f7c8f7e524cc41fd51a9a795481286e5dbf932de4b9034c1e1138bf0a53408dab4d613f52349f4ca2c383ee869bb107b6dd34a6fdc SHA512 285361d42c34331b3ef67d9d768f62bc72077046766d44802a7e769d5e56718505751d9019b0867b2c28c08273038ca18a936430ff44b7714b780fe520adface
+DIST async-fs-2.1.1.crate 16545 BLAKE2B 1c14543f6f1e86c38fe12cadc988d097ebe3e42d4bacce5c6ed63c6861a7490752b7cd668c28c70d8f864403e7d5c355e387aec65b4213b6d52c1ab6be2fb4da SHA512 0909ffd7961fa5e2b2d29349f21ca08c679c915bcace8f3a518b2a826863c9c990aa27fbf7fa08e6afb9bba473b4dabc8398f48b92158cc6224984b5ebc87cf9
+DIST async-io-2.3.2.crate 49298 BLAKE2B cf01d97782405c56261d54800fcefe97c914850d50b49ce2902eda3cfacfbe6800dc0ec9b418f4bc51f579a9d0dca8b2842b17d97c3e046667e539ac67f72a57 SHA512 a7f04de21cd2eea933d7bdddaa548c92ed9a96d4f910d0aebd2ea9ddb7fe75de5f142df7aa4f7afc23b6877a20e68d3376db2e801e2a258e74b3f0ad674630fd
+DIST async-lock-2.8.0.crate 29944 BLAKE2B ebb35437caf6bc8db154b21fd17bbe1973490fec06cd34e7385d9028440b0960407d674beaa707a01becb227ef1107686165953658f490902e13d0732a4e80b4 SHA512 f48732dd8e5de0228f56780adb87e4d9870496ddbfe4cc7c6aace8d4cd7198627a05ff0358fb33ed57480c7ac886b57253fc73b2bbcd3e8cfe65624b51847ae1
+DIST async-lock-3.3.0.crate 33286 BLAKE2B 93e66c16a6b1cb759378e198927d2df8ff9f7839a2bcda49d8e013ec7b9b175bb4199864bff585282a471cab6d4f88b70141636413dbcaa7b0453d35f08a94d6 SHA512 0f9e0940e610744fa97c6d2ece9220a2ad91f09155eda66703c2aaf4959f85c17f2cb55ef5fdf29013d4dcd84f8cdb6b16e8692ec7724744b57bf11a86f22f5c
+DIST async-net-2.0.0.crate 17787 BLAKE2B 04685e1ffd4c363b3b29bbc4819c7a79ca45a212c1c3094835f2ca8ffe000b8061a4b28de84497d5daaa70139a8d0c036fa4385ba20ea4bdef73b52102cfc349 SHA512 e12163eb7fb526d434c257d82ad0bcc64d3a1fb868b899fc5666c1307f821654f7afff9bf5dd3ca6c8cceac31df29a5027542f6e5901c8801ce2a696ab737479
+DIST async-process-2.1.0.crate 24505 BLAKE2B 4acd4f44d3e7825523f138dc8ec84a58198dc337dc81e473aec52117da7517bda78533ae9e05505af30a72026dbadb2951378aa608aa041a7190bdf205a37b83 SHA512 a81c2081106753ba09807d833c2c0575a8aa0f73c7a50abcdac88c3c9d2d34a4ed67920842c8f86a26bda0ef89302ceb5e9d05516353d793bcf29dcfb7f7d79b
+DIST async-recursion-1.1.0.crate 14982 BLAKE2B d27e03f166a8b65d48fc7430845d0d8affa37e8292a37125b71c0f3e26c678a979422163b72c40bcb0a51f5e85331ebf9533ad1d3249b596b86ac9cccee93ef4 SHA512 a6d3d43a1b0e08c9caae950634610ea1eb101af10dfe82f168da3125839f9c3702ae7761b65ed6af191533d1b6e6dd0d668f2605812a666d191e3883ac0d5277
+DIST async-signal-0.2.5.crate 16743 BLAKE2B d767437ec634911781b883450b7a32d6b3c40f52a18840c1d14c2d7cc0984fb25789d3b66e1b3ef776c693337fdbbf2f32f2cb75721864708aafe094f0826ccf SHA512 0529f5bfe74f8ab16e1597db31e997dfb9d6185f96cda3c988cfdb1cde95291533da5ed2934456a2527d5530bc2972effdd34ec955f3bd94a34fde892726b3f0
+DIST async-task-4.7.0.crate 38906 BLAKE2B 6dc02149a64f6ff8d605e74fb7db4fd0e48e6f0b57b0aef27959a7c654f25cfd1f76a403541ad8abf948a2a15bbefacf30c9f5145e2ce276222c53c62e0b30af SHA512 9267434c8785869dd281346adfa2ed79e55e97c6a889db3be8e05597420331596cc9d87547cb1305b172e434359c2d4dac6da6453cdb4e1f1dd4fbc989ee0a3d
+DIST async-trait-0.1.79.crate 29558 BLAKE2B f6c5c4c28b85e1907f37f9f6e556c8f4304e15d6af8f7535fd201919496fa03fb213a0389644e2d1433a8e528f36dc9aec9699bdfd37082404d4026ec03fe666 SHA512 4c417b01776d939675b0c4717edbb8e11810cf08ccccb26697809fe10898b73e03ba3332ebd20a2cea72e8f4f16903737d9923e0048f1ce6eb9c8f04465f2487
+DIST atomic-waker-1.1.2.crate 12422 BLAKE2B fc6632f3c9d719b1d24a1c8e05947d94028909d1c629b80576e176e567636dd4cca699c7e91cae2df63541da574146b3ce766374e93f0ee429bb5bc89a4d3cae SHA512 e07e58db7955791259d0ec00fc4d53318aefb4506e062914819c4220c6dc75fa11a7af0289b4653aa1f9041eb975a025635190de68b4800a0e91e33cdb0ba11c
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST backtrace-0.3.71.crate 86553 BLAKE2B 15ed93574fb9e8e28d5ad901bb1f94013b5fec7a79aa96d17f13f6f11a02d29a274ec14ce51a9f515574839aa41232e5aaf6e6fa3ad9c0483591055bd0a78c8a SHA512 5d9307757349e860fb4cab7e9ba1c9d0f1faf49ebcd935ba879b85fed2a9812786c7458abb59a742842a0796fc29ce9921cf575792402486ecdbd9a2568cdd89
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST base64-0.22.0.crate 81568 BLAKE2B 55e6bf8888de846bc14010fd706686544a1706dc9cea034435b5bf97bbbfcdab57210e69b425c9f2adf7b088b6f2cbe0f8148077a8be3aad88114c404738682c SHA512 116928d2fed66b43ecc8ffb4e1cdafb1aec3005e0034e2cacf1cd3cac7a591aed8e423fb2523900c25a4592ada49d3a0e438703afe7bb66dd1ab9fcaade24000
+DIST base64ct-1.6.0.crate 28870 BLAKE2B 60fbd9958f2519f293db2cd86add5160b51ff4f98718591b3e65d866e8bb176670ceecd5f6e365ff3ff488bf813860bf65d375a2159dd28b25e276e027303c4a SHA512 e3a267dce49257b6990d8d0842299d75b49a9af635082dfee25e314f5ab9067b339c877a4c7b012a1eaf9a84a7f8ddf0173c6f9d8695be81b8b4db03df66c92c
+DIST bindgen-0.69.4.crate 221092 BLAKE2B 69ed55a5827bfe850f589e39bc6e2f4445e20363002c765c5475007b75e4d81cac3d9df358505c63bd6a48300ae4988507abf78dd734bb98b33525bf9212237b SHA512 99530060708690f2ce0b87b97c9ce2998ee968df193137f3c9bf4fa66836814e2ae74c7e0b3057dcff1da7d2c4ea38157e21143c5117be35e94b878c0a427a34
+DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6
+DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST bitstream-io-2.2.0.crate 34113 BLAKE2B a449d31429b3aed5ec54c2590d285a532377c7d5e614eb785e11bb208c3541d1df8c439999202ac52227544ca42008a60b0989696ed0888ef2bfdedbc23f6b95 SHA512 51d328fb67df4d89f755769cb8806249349d9d69a4c1c538f72120b058fb7fed81356b867363396234a96061da92446c6e07b6498c7bf9c1f3f99de60aad3f2f
+DIST block-0.1.6.crate 4077 BLAKE2B a2c11873b8cb1a1ea399ecc99ed45e5d0b9399bd88435cdea346910b8707b7da94eeef522dafa5cdb09929534472b2a096c03c373744a789962d4175fd1b110e SHA512 c278e3c0346cae423b533a8f5d6b822e788ec450c92ef0f5f559d5705764a0a11df49f0f66bb1c8af7e89bec8ec802934676b969e43f92255a38b210d0fbd710
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST block-sys-0.2.1.crate 9320 BLAKE2B ef7eac006fa851fa18b4efb3795b960e2111128c9a2671757ce281a585bba948ad2cb39e6dfb2426aee52b517e2e53d494f6975a62ef3ff57a8c8122693f70b8 SHA512 51f66e673f08e4ae28dad971ac795aba0eafca4380307cfb0967435768dc7abf172c2d6df06318c9b18aca5f710438acb94645d3ffec3327c7d55db6a9e2667c
+DIST block2-0.3.0.crate 10924 BLAKE2B 039f6b38831ad8aa45ba6845031a17af52b172f3f68d98c9ee648fa300ce1c8fb6766736e33813fe9916596ae4388210b7d0d33c9dd44346b551bcd2c15a1645 SHA512 8f1be7f0e147b6689fe999389246dfa57bec002304d4452f668724591b117bc9a5b3d1a4bd9fd5f72e81799d13a7c2893a4fdca5b5131cf6ee275bd396291688
+DIST blocking-1.5.1.crate 17277 BLAKE2B 0eb9ca486e2eaa790b2b74bb32208e5a7df2053b045f5928c78f9b461c964cb8d38737c1a83cecd8f42495b7101a2378883533dd747f2ffac6744551ec164f4c SHA512 b12916db3975a1aefc36fc2a8824a89f5c0eafd83d83e458d1b6b35ddc3acfa92374cf0b5cd82825eec0182bb4ca97b048edf3b8a80cbbe0daa1c07875131ce9
+DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172
+DIST bumpalo-3.15.4.crate 85028 BLAKE2B 9ec98f430fef4e9b59e61d413b3703430f91bc818f3294aea7416cf8a35e0606357bb5b4d1edebe590f07fb614f832da16016c8530ff39ca853aff1d1369cc60 SHA512 59ca9f8e6b74bdd95b9b4ad1bff3bf4be46dacedeb1eea6196a65dfb0ca7b60e86ab6c25d0f91dae3caecd17ab73c48f953be0bc24bdc0ceaaf4c1726b9ffdc8
+DIST bytemuck-1.15.0.crate 47672 BLAKE2B 49f2d92cfd5abfbe3fd94e7e4c9a3d4ac22c67b58e73947f461cf8e5022738b7d38c790de2a1717b731d658f1646066bee2f936a1575e2995e6de39d20f918b2 SHA512 5b6886f252945449c4546c181bbb6c95597e498aba6b1faf81c5a4af69bcb9e3e024d7d6e849d347682e8ca72ecaa9a70d13fb06c174e17846f0c85bb4810433
+DIST bytemuck_derive-1.6.0.crate 21194 BLAKE2B 9cfad9add5c35c2ccaf3615d3273410c14ed1b420dec930d41d5b3456d7c6fc4da04c12b59594e9f591092ce3f2096a7c7ccba55f724ddb7f1aa2c013b749559 SHA512 085ed20e91dbca4619802ad796f79d25e04d5360422e9f8dd7693d5ef536ae93ba00e996353c196bf1f410225f84d23e55ccd0c84df99dcab22cb32b2a0fcd3d
+DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
+DIST bytes-1.6.0.crate 60605 BLAKE2B 3e4cd094443969c6062b51917ad9df314b61ec9ddcb0336cf2621d8966c568d5b1fdbf16b11b5e2fab01b43ea76f6609f753eb5c2380a5e4aa8fb6e807a2ff5d SHA512 6507bc4274204d0a19b6a95c3284c52245c71cbf5f2dfb5cd372193d989e49869ec557c0c4e449e96ed4e3028c90606dfb0dcdc1d72bb234a36bc5f344c0a7a8
+DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555
+DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b
+DIST calloop-0.12.4.crate 69583 BLAKE2B 5cfab752477b0e08af797268b1b4cb1a4cbd866ea789da25b5b42b8579889da8b589d2e843c774cf98f29c78d40749c60a14fb972812216eced717002a92d731 SHA512 657c6a17ca47f633e3bc3e3b6e98160bbae6ec51e496c720c35f2fffd2b9c1c5fa175b69cdd567f6bcef0088fc5af35c2a142c3b9a14ad9720a9ff7dbff2f53d
+DIST calloop-wayland-source-0.2.0.crate 11304 BLAKE2B 27ff9165921be61db363be0c93f2250d8d9532cf67af2f3c00ea4f2e2e3575d7698c1669e418e065dd1ead91f473cdda0f681b1dd989a3f5b75ff606377c73ff SHA512 53bd9b57c10fdd0c94d2c6dcc634d6f7b2e64aa9625d15163b76cef5a3bafa6bd8643401bef0b66d6fd42148f6014bec1339baefdc61d6c79334243bf797f6b8
+DIST camino-1.1.6.crate 30519 BLAKE2B 3696bee362c9a6c7331079f86823aede0df06c1c36fdc2d11c0628267ca7635fd78430cc927cf3b2af34591537d3968b3c5f1cf9d500f3e889c202c944fc6138 SHA512 e777cc6e2a01c95931a81521eb278156d1c50ffd0126f914b21e35dbb7644b835f3c26bbe7a487bbca508d26b4c933bbbb9e051fa42825b154c2fa03c04375b0
+DIST cargo-platform-0.1.8.crate 11813 BLAKE2B b074b49e08b2b93e93e08276f2a79546fe1f9ba0a52b3b4ef0ecdd28fa3fe5e842c0291fed158a1a12b90804e0172d5419b7603fd0d5f87f062f44dcaf3428f6 SHA512 187acf1b8cc81078ede3353997bec9010df32aba82f56f9479d4c8eaa13436590a16f3ab6ea11ed2b31d1d1d2299d824d9ad10f04bf5281c92372cc8334b0dd2
+DIST cargo_metadata-0.18.1.crate 24535 BLAKE2B 9d0018e28a3941e269dbd30291054a882a960905a43d4818c874250356a6c203bf08ed77a8041f08607390b2a382864701c519d71a0b88818ee59c6322c74e86 SHA512 43f87d2b84597ec9a27e9fccf06ec5f2630a0147a9c85779622c25493bd61268c266643f8206a17d76a16329af85f0cc563a9af7e17ca77024c0eaf788555f7d
+DIST cc-1.0.90.crate 73954 BLAKE2B 840417889519dec96a745c49ecbc8b0d3da9b37a4b6b0165ee8983c07b8150061690b34409381365ae4c70c5780923d19cddce29d5fbc370eb6b6fff29121436 SHA512 349f3c3f8208632f8754cc05d70976eb14f3f13a14d59413994c656efc36bb32b7310adc7d5f3a6745f15e0aaa88334644c9aba8d29fb961215d74bec605307e
+DIST cesu8-1.1.0.crate 10555 BLAKE2B 4fe369d1247c3b30ff9beb644dbe2a517d78632191f3216bb83d632bc8857f9541a1b60d0bb583cf3fc0ae974f7c9d2b07fca5efe2057d9ef281de76fe810a49 SHA512 2d902b624c7ccfe3633c7bcf99b833b120c0ed7760ea825bfb2fa03ae90df543e637efd46e0743782b81e468e0fd3b534956ffca81f9bdfbf742ff3beae8f8b8
+DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST cfg_aliases-0.1.1.crate 6009 BLAKE2B 6acfae9a89d3479f7ce1f0b5dbb13bfe27c006b936a96685606a61a06f69d17ab754a8a0d96c54213f758281c2fb32ac74d03a34e0f836dc7e438387955aac37 SHA512 238828445c5b48ca41ff88825af0a1ad30494e423bb6f89b6d5e4d26042afaa1ceb0e32041f7cddd79c3e15c6c82a1ddb9469c4b63a1ac52d4bcc1174900f880
+DIST chrono-0.4.38.crate 220559 BLAKE2B ab828bfeed56eb737a1797d5e1132cafe87a1e14bf7a1fe4a5098f50e6ceead50ca2e7f041cc2ff63d5f4e41e2853322f6c345bb31ff12a5b412e3e5202f5fea SHA512 858e47e3facebd5383e71898f26b27d92fe4a69027e2cc47da2af59975ead7767355e0b699f4228eabe76a3eff8b2519c7cecf8b60dc3fc60fbf9b28e2f3d4d9
+DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846
+DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81
+DIST clap-4.5.4.crate 55401 BLAKE2B e9ece2eee6be16c366888f6140080c43a182aa758a971ab2f60fa5c8f5e00460c3e6ae6bface1f36445306265ce13d8145ac24cef833b68b2b2c32c13a7a4a00 SHA512 c1e88968a86598a6541cd8f8144909872fe71fc707dc5327293a71425f6ff9d4957491f93c36326a9f615c1cce1a453cc85740ff18e1ca571e91bf8f7a6ad7c0
+DIST clap_builder-4.5.2.crate 163566 BLAKE2B 5eb81df416f3da0bb7e53c59ef4e914f03e2bb0563bb3707fbf70215f249aa523e3f5ef2205d0a8e25c23db6c6d0d344181c1c771566453505c769c55b355374 SHA512 af7eb8326a980cf461442a4dd6d224e61ae31a2fe4a45b34210a2c1f747eed49e00b6254699e82f986f441667f290a5de747b5e9d9d0360ed049504343385864
+DIST clap_derive-4.5.4.crate 29159 BLAKE2B 6f7087d553102f24c9de37e1ba85c0d540ea42d9df9af26b5234ccde23175180efe21df93513df49f6ba83e46cc85cedcead29c902e426c39b25086c9f79a51c SHA512 670411136c819577c0129c6fcf5a8216cac82a47ae11ce3cd97cffd038644e06c5a21f7a69948628f01fb77f1e656678ffbfe441385866fdf90d247bda036c4d
+DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036
+DIST clipboard-win-5.3.0.crate 19597 BLAKE2B 1f61d0c7049e6b2d9f09d6ef47196153ca4f592cb0eff7602317cb871cf06a54ecf7b49a121f45842cf49555c171f27db38e41975ba13920e5eed456283b6c10 SHA512 decd0b73e2d879c7b650f525b74e2ff20d271ac21598a64d447d863cd3d1fe344b3f4b4420514644c777d1d1793b585336e877759734c7234627ada0510daffc
+DIST codespan-reporting-0.11.1.crate 48963 BLAKE2B 39deb717a853ffbe3585e20a67fd7a75b62e2d796a66b5004876501fd7476acde9f126804f2ef6220ebab66821a3ccf058d544d689a2705eae44285f34b510cb SHA512 0869789f5c50d3523d3ee16a8fe64756498a13704efbe82bb0845eaa87c7b6b1d075b3b6b80567cd9fce6cb09c5179e9c07e485fd17ce56c8139ade0f8bc6844
+DIST color_quant-1.1.0.crate 6649 BLAKE2B 9a2488dd00b7a33e15e05531ea49ef1961131f0be0922ba41e2d74d2b1a047daed483ac3a9dd87c847a81cce70a347395c557cad8228ab9a8dc5be7cc0f1bcaa SHA512 690c928bda4b7b57425f38ea68ac89cde2473b7a91b7e62c04a8f2c5a0fa3505e26b065d48b7ad0a8bb491f92f600f896fefdad3ce0e86e43cbf4f9a89e94201
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST com-0.6.0.crate 24855 BLAKE2B 3cb2eaae6864f05a6d47819d58c83c9be2ecff8e382ed84dec93763f605d1392947dc5025198ccff4b28be5b37287725ee4cc7d7f8e057f1804351b82ed0bd2c SHA512 3ca186fdfb130863ab62fabb2c266f2258ee45482fa9b925dc0d5d7ff492a49fde5c75f8850b18895a27f804aea16fe7bd4c53011e8badfc5114a9740b5b52d9
+DIST com_macros-0.6.0.crate 1075 BLAKE2B e271f5e11a62d666bfcb530879b0f41dbb2d81b94b6cbea15a306a72c97cde9eb77360cd8b5b169f861dd1d5c422c3de07442f016ae169287f243b0e9ebbe7df SHA512 737df65d1281fcb0b636ec1dd908ac48dfc020681022d64de1e327605604cecf9100c6ed629a991716693cd251563e259c4ff5611410117a6e585c94de03faff
+DIST com_macros_support-0.6.0.crate 17334 BLAKE2B a786a331c0080b0803684d1447efbe2f6903ce5139242b6c81773727fa61c7721cb198050119f3cefdaed32753f756f9862debf5e8f91d49e39804291080d572 SHA512 e4ec9f58d8ee25b0447854db8f528fe4e989d8944b3fc2b74ef8ea899d3bf6e082e8b516a51a7f77a09073f18c1ad7efdc62d6da8c82e52bbfee02cd7a552cb3
+DIST combine-4.6.6.crate 132428 BLAKE2B fb52e724a52f1a551255591fedc134178080ea5efc0c488efbc369e6272f7f2b87dd7d0ce63361754d8ff0cf1b0a59bbc7b0396c50c53210f3e2c28ac965e0e6 SHA512 ff9ef9329de2cfc103271a25ad1fcb7e478f3328843bd8a65653e80b74112728ad4a33326a58ed7ef8cf39eec7c3b797fc287295ba149ee0dccb1de9721b5819
+DIST concurrent-queue-2.4.0.crate 20244 BLAKE2B b30b97eeaabf0205bbd8f4eddcc57e59b6863f18969731be66b134cdc5bcac9eb543493c54b17bb394b6e227e808f016e4f3c1da2fd6b40269b9b24a5c433f7f SHA512 5821bb396a73692e5b033d8406c2996bc4318cebf8807e596e441a2bdc28715fc6bb8eb29b575ea318f84b748ce47341a8d23f5c4de65660f86056e99b6a8b78
+DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
+DIST console_error_panic_hook-0.1.7.crate 507196 BLAKE2B 90f2855b54c78258f9e4983849a0c0b41f842990d622bef0ea16ae5e3a93914919022d21b1437bb2ce644333d4e0c6e7b55d960452c4fa437e23bcd0da83a4dd SHA512 49f4fb2175c0068981678f291422ace3737dab7033b1a49d78fd821512c92fdd023c3fe28c7daed88c8f338c30a9c7f82f18bb4583c3fe7839ad8dcd0addd6b9
+DIST constant_time_eq-0.1.5.crate 4936 BLAKE2B 882dbf33f20954205fcc5b6e39863db8969d184b697fd51ef462f6890c1a754e3fae67bcc7db685d8cc26abe6e3871d3b80aa542489ba9551a0c95a49f7a6dc2 SHA512 a4e0155a7ad72babcfd418d832d362b3fca7333aaaf36c246b00e948983837c3c93378b86e37c5fa7626fe137e3b6d77276ccc61624a7f4ab914605905a88a01
+DIST convert_case-0.6.0.crate 18675 BLAKE2B 5e5ab159a61e68b801f1c95dc5336f3af7ffe6fee212c8ffb9905af1121f0b272b234b4e70a30f29f5ed24f4825ccfb59722057b69549fec0fc3472857ee1ce9 SHA512 3b17449195a9a36e3965db89eeb967979c192ad7743217ea08e8c8b91ecae1ac1674362d05dc6f32f1f361fface3f783398285bb78060403f65a777a9d29adf2
+DIST cookie-0.17.0.crate 36545 BLAKE2B 55ca885f4ec63da16c795ac1ab223b41af425506f0597e4c1fe743443cdb95a8644bc035e0c8af70125afbf080d81a3610548da4572c7f67c1b143db1091dca7 SHA512 a0f8e6458b97dcfb70e2046ed121cec35a291666880d39a2acde32781ce55ae24218c5db9cd804f93523392de27071281c89224f9f332d4c9eabc061d7a11e47
+DIST cookie-factory-0.3.3.crate 19084 BLAKE2B 795a6f0cd4e93fe8ee257ddaf1f76852499137bcfe47d25e3188f3822f3d92b191cb9f3894163de39386584fcb899ec01d0cabe5757f534dfcee9fa28aef8132 SHA512 25f79e74be133b780373c1277a00538d9faa19b77868d62b16d60037d4890b57aeba2eeaf52d78d3f8523285b033e88b680195a67ba5bb8ffa7c0ffb2070831c
+DIST cookie_store-0.20.0.crate 31374 BLAKE2B c9adddf2ee5f0ee146fb813536d7793a5ca1f9e70529e1a8ce84a50a605223c909e02d8b87e2c560b069ad87eabaf12230c56addb5d06e5aa194d1c4309658d3 SHA512 c2da6bd8e42c52ce91ef2a1a5c68bfdfa6a0125847cd5d3a8dc49ff9e46ac865ce5d10f9d4376ba640e4c0efbd6868ac88dcfa9ca85d91cedaea37d30be452e4
+DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33
+DIST core-foundation-sys-0.8.6.crate 37629 BLAKE2B 683d5a84b6a3816317f87359532a8339f08bb4043f1d70a8588636eb5dbe6ebb3843e2a12d9a7e5fd1637a912c52a5aefbb8d44796330b09593e7adefd3babd8 SHA512 24a8958cb16b081862a9000affb0147b8b3be1a664b834c3dbddbff03e709de3f4060ff4800e5a35453f4392ccf33168e8b864be71b17be38cb264a39b915100
+DIST core-graphics-0.23.1.crate 30714 BLAKE2B 291e5cc4cfcf1a6507dc0e4dbeb304fb445530c60d7bef79dbaa53524233fc453d1ee977e7ed43513319e1d5641e756749f43b536535fee730308322190462e8 SHA512 2b0e2c00900d4a9e09c718197692ab2aa0d009a43fc03a30075eb33ed7648f6ef640bc2d827fd9cf17f752b810eaecb77107096aeb1daa0348b3b7e17ae47fe4
+DIST core-graphics-types-0.1.3.crate 7063 BLAKE2B a2bb17838745a28a59e85d884ea60069c33f548d41f98548956eaca4178409c74556039a5a731a9c1e9f26de8c69d45f458a90a3f7b358065202b660c62431eb SHA512 e56b96662fcb892b73bae3292478a9ba4c7e92f5967b6438546f229fce115b09f997734c40f8f776be6ede2c6512e837632eacc8ec15b5c3311f9f24fd22a397
+DIST core2-0.4.0.crate 37075 BLAKE2B 89ad26bf5eb5ee48dff32d3b6b11e0a84b68e4f29c39fb9db79c64f3c445fde248b33b1ba9d1410673c3fe823ecca25dea637237c384b7cb419de9bceab8a570 SHA512 53c9d2599d87c37d8b6fc8b2293fc16928a97754240e35af770f7e969e4d91ffffe3afbb4e04312de828d1d43ca6c9b734e0725ac5ac9d74f252449ce296ab7b
+DIST coreaudio-rs-0.11.3.crate 42844 BLAKE2B bae10c9b7670651e78f24426378708a2c14b6b1a7da9d4e359611a8bb4df8354af5b409eb20bdf1e9b05a6117c59b6cd7d3a79851682a217732986602c8cf3ed SHA512 41b3ade3b6e157be533bd25352ad76a01de28cb3c8d60d7789a3f3b5aa868d6a7dd71456b90d6453684d2022e0f0a94b3e830b3920918c18a4693c2de0258a1e
+DIST coreaudio-sys-0.2.15.crate 5532 BLAKE2B c7c3f67a6db3b9d9b604989812b45d75b02a04565d1dfcca4698abdf540d1deef1c93b6a9b02a3689a32f033495411a5dc11efe4871e907f8bc0fec6b5fc4f25 SHA512 060379c57ee110ac413fbd24b48edef283ffba17692672f9ea3f6f0a627cad8f827ae2d375c341b0180bd4de7b3b5d55a06ed7b171fcf3cc20264826f2489436
+DIST cpal-0.15.3.crate 100083 BLAKE2B eeca832ced49c8b4913125b948a4c5996783361105d106ec7bac263c2a81ab87e5e2485229c3742f1d600037993abfedabed10ddc175ac507234d720e8f7f18b SHA512 c4461e740dbc8528b753074f3e53fa863ac6318b11a786250c520aaf32f33af98e830016ec92711dc5ebd631068275dae66d3d9c1d452191869c8a0b5879feea
+DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6
+DIST crc-3.0.1.crate 9950 BLAKE2B 2afbaee34f754953396e452260290422d19416dad4b88333e4501592deff3b3350363ca4c2b37d573ecd4e64a762b702b79445460f15fc90bdb8214fe43c0945 SHA512 aabe9d4058fb4710405146e978ec5881bce5ce8971618b69a7ff873b0fff15fc78e5c48ff0136ca6d37663a53905bc3c5daa0ed3a2ed4d8d721e90c3b0ec28a5
+DIST crc-catalog-2.4.0.crate 10155 BLAKE2B a9c3ef81871d72635addf1ded611fa6e963b9b128dda198eaa3a256512c8759608bae95df95524704aeb38f81e2fb6c2da2e29e306a8ed3dea595e63cdf05638 SHA512 25536456fe71c44fd8ec527299339c1d186f6e12f1f90142de60eabce337d836c2497ddd6307473b57a6cc720cfc8e29b059f378c70b8165bc171420ccb40a29
+DIST crc32fast-1.4.0.crate 38665 BLAKE2B 77398dedfa5e61357fb9abe3415ee53e45d3f1f7aaee959cbc9774f31a10ed324da2a558d20fd7c0674d450c8985b1e9c78b0b65e6ae2d9da6c873fe631c5ce7 SHA512 3e0bf1d2411ad9c651e0242c574cfda09403db24ab4b55560145ee73b31b08be45e5e12ce2db991d165ff056c7f2f67203fb2c048651f1c66ce90ec3276c455e
+DIST crossbeam-channel-0.5.12.crate 90515 BLAKE2B 5a302e58411d99d52630cd154f4f642ec925af3330ced9456a16e417e2e43a37dc2b2288ccc88137a75e682e7b10ab2979f1f90c0bd42ceca8fa84c700b7dd0d SHA512 e17b0e41901b2b41e89913a0a50cd1eaacbf64cd07f454605a85781b8b1373c35bedd16ccf6b24029404a3171e0d670fc2b1474a6448d0feb40ba0e41f99019c
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST csv-1.3.0.crate 888212 BLAKE2B df05956223c50cde32f4ae6df922fbdedd8b50008a8898dd49bcc8bb7430d25727a03430c32ec23cc44ced043709de1f80f4d750e335bd12b22d0b06050881c6 SHA512 1b9e870c433e4d37e61cd604d2712c59ccd392cab55b8c88596a7094245072dcae02ecc80d3ee7cdaaa083ec2c2865b71712330c55e93715917a86106a2230ed
+DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee
+DIST cursor-icon-1.1.0.crate 11453 BLAKE2B 964bae7d3fe138e00c51e52ad187ddf5b71a86d9b1bc9bb394fd27869d714cafdcbd539e2c62eca9b0912593d08187d550f5507e73754a00112560acb83912d7 SHA512 4e3b74cb17773ec2b89312fd4fe60330b785cff850102e9643bd06e99b5d96c11cce14a9350f295c6063c4133dc0179cbca13fefd7ab816e57c915f75d066d2e
+DIST d3d12-0.19.0.crate 16772 BLAKE2B da5466148c3bfdd47a9a70d8eea4599b68cd0381a8fc0e5f7e27893d6a5d35b9507712cdeb1d753c4e321fca07cbddc898daf0ede1bba0ac3ca6ea746950b6bf SHA512 8d36d0ddad5da12fde6db6dbcf0493059221bae91b16ab2832dcb73e692d47344c407882b25cae9e95e4554f4c8ffe96721b1dbe8053caff931956adb53e365b
+DIST darling-0.20.8.crate 31234 BLAKE2B 13e8ec124715f743486d740241273fa5ff046b5ede86c39ad5413b3e767166dd90e7ba7344a69c1e14991f0572f7ffa24b081ef54236712c5286f211fcfbafd2 SHA512 2b4cf37cf7cce9af8e93f576dcf36b539816e1ee7b8881b5b8480c45e038c97ca2d3a80c54e243d7c6e1ae23782947efaf0d67a37c0d4dc66301c8a86ce0fcc3
+DIST darling_core-0.20.8.crate 64442 BLAKE2B bf1844eba6bac260104e2ef310721d3aae7ff222d99b01b9bb66e3c71ab700095af7dd5b3a77043d6751d94af131f02f23bd321fe9d4a7066f93d1fb7c0c605b SHA512 6f2d047758541355b81e43273cd1eb8865624096c951643e6ce777d716e17256528c47fe012f33eeb1f63883ca08f532b1ca52f43394dff82fd1bbf323763751
+DIST darling_macro-0.20.8.crate 1856 BLAKE2B d7087fa67033c897aae582e5f4d3126e06e024b7db203de7e7513308af7a0ff6ef0584a150c6f30ce434ba6ce4cc2a438f89f024c9d6338198aba3bd15cdd116 SHA512 97d18bb22b79dd95dc5ab23ea7226f9fd2d6e418b7ce9aecd4d43b7a15b37cb91e509607b89eb3a914a5d3dc562b2a292d1343f87f594ab32d41fb583d7cbdc0
+DIST dary_heap-0.3.6.crate 23683 BLAKE2B dad2fc57dc12fb6e8c7f15fe4b1c6ed292c1057274423d9985149a843e82040dedbbe6f76a74888735fd294de9af5af80969593213521b7ade19320f2f027be6 SHA512 76ab17e04f79f8d52f88db3bbb7cb6b6dab1191f1363ebdd6487407e68d716446d043a9e8f43dbc06ed91e1e9d3e0d077f3fb246bb2cc83e831a1553c09cff65
+DIST dasp-0.11.0.crate 3212 BLAKE2B 2c24091fabf4f0bfbe7067a7a244e988d59e5dea3b588235c6abba8a5c4458691786300226824dc1f9c69057f60480ce8a66a44a436025d26efd1b7eee6f8941 SHA512 35e4c90abfb965a5810e1245ee64e030c47f5b6c3ba4b27577647a9a8a9eb7b0dd5a2d4db75067c6344bc117e5081bb47fbe053d5b151932ff39927bce2da2eb
+DIST dasp_envelope-0.11.0.crate 3331 BLAKE2B 44606b58f13ae3e9483d8aea7b3dad77b5ce3b597306a9825ff305ea8d7358f11dddc919ba294ed0e9e8cbacf8482fe87c2f36c7d08ae8f2d95a5df654737897 SHA512 e7a13a00b4ad8462f74ae1f87a66a21c548d963cd11070cc7c49a2846a41e33a4d52673d32a6567db3562f3a7f922dc15dcf838bd7782f9b3ae79676a981110b
+DIST dasp_frame-0.11.0.crate 4910 BLAKE2B 124cc78a826ff5926a7a9dcd9ae35ff23834640ec18ff4b64a7b1c1ba7d73c15e15515b6bade82849cc3b352ebe1707339f1f1c90d3c77daad649e939f12e871 SHA512 aec23bafef3d7aa4c0f1c1c9c4bed1cbf5e57731bb904c8ccf66ce908ccbb374b58e662654af5e940800de30cfb9726881bb2ddc155b80fe1d2d3e0351a57d47
+DIST dasp_interpolate-0.11.0.crate 3602 BLAKE2B 3ec024698f6daafb2d61a179a2a7b1ec61d3d9f7c3e644705d1e71a0c452c5acd2b119cad4a25a8891fe67a6648070ba4072c11103fa45acfcce6672133c4c48 SHA512 7ef2eb3fee5f22a02e6be437896478d5bd049c64776346dad925eaab0d5a7b2adf70f58e846e45925e97254b1863be7ee6364c2678ef199bf5579750141699a6
+DIST dasp_peak-0.11.0.crate 1602 BLAKE2B 7bf98534442705c2b5929e7476ea33eb711381fb4f17f789d5c0618fff973976a2f4d4c80fffa37188e5022d4e4462d31e940ab0a70e9cc7b015ee328b128f4a SHA512 9e7bc940f4ab5fbfd663b475fcb52fefdea52be6ed21e96e06843f4730c7b587a5317a74cd4d08a529641444544d01804f9be44af86fc407ba495148f3ad7de6
+DIST dasp_ring_buffer-0.11.0.crate 6319 BLAKE2B c1d0e0dcb1280fcde1e6817fe9c6279151ee95b95fcaae97885bb597ab63f02b58e7c974e4e94414c3103d0879554f6ea56a699964cb9a449129c1600c1d8cb6 SHA512 8a0f3ee73c432073eef5eaa64a744e21d1fddab1bbf18ce2a04ddd64f106e4b60fa27c6a603b51c33c5f1e4e3ed701ca156a3515b7625cfd5e88c1506b987f34
+DIST dasp_rms-0.11.0.crate 2798 BLAKE2B 21c71b5052ca11a7902fa0f8574159e4751673732347082e7613a89d5b17f70e68e26062acc6389038411ddc9162baf0d2d1c62d56fb689a1f860b15cbba52f9 SHA512 1d097935e43515040228104eed8003cae2b6a7c55b49a37a580bc1b21a5df042077a273c7aac8fee09a73ffb22e908f200b7f69915c806938569944c481489d6
+DIST dasp_sample-0.11.0.crate 11617 BLAKE2B 30bad992ba12c78769ff2f72e187f5ba0775a45f0af9d346d3e56271f414d3deb607415e73d40eb09023149c261ab02240f112386c0acec26e99d666cf8cb959 SHA512 438a2ed44fa3cc97edff6c6b6c2869dd06a5df790457e339a36ebcff024c152ade36740d889cdbedddb5dd7bd706dcd61778e68f5f42aa100eeb76213f5fefbe
+DIST dasp_signal-0.11.0.crate 22544 BLAKE2B 07841590ca78df87a5d39f8784d94a548fc1c487dbd14e11fdc48b695892d4deabb78016e355a4078752b01ad3b1c63c6f2abaeb9883e4347c0b44101a3b6a5c SHA512 40aa9d759a5edc1652d8bb8411cbceeb4789c876bec7806fb00d4746e10f9572d1a3b70d3c47bb272bd74885bf5072d8b9cad07d1f39f418172072c906089059
+DIST dasp_slice-0.11.0.crate 5637 BLAKE2B 07fec1b3390075d4ee0f6f1a6e76453604759c1bc995564f055cd1860288da75f5cee39cd16f84880dd6f0b23326e6e83ea8d1d0e0fc371757e0ddd89d8ae2a5 SHA512 6cb51d3d3573f13fc23b6d9a5eae3a543167afe944f59410a79c84ca4150aab042f0f1f7ea5f1e92720ddcf6da388b4cd1a470b18a83372051d096ff1f62f213
+DIST dasp_window-0.11.1.crate 2247 BLAKE2B d8596948e7d559ff76d89529b2f6276dfda3ad7f06ba665f3120900aadd4abfa3656cf3577fea1d8868c2c7c5311d744b39bee32c4d6d0d265fd896eb6f32dfb SHA512 b3f318e85b73dbdc3ed12b127c43471a10eb76a4a0a4c72311dccb5bea0d8c861b68f02cbdff1ff3bb6f1716445842fbb07bb342edba8d52b9983668e54e233d
+DIST data-encoding-2.5.0.crate 20632 BLAKE2B 16ea08dd12f09f2e6f8ba2910b3db07d4e7c9916e6a70d41420ef1a0e5393284b49787c47af0868bceb7f5d3f1fadf203f5a547dc8cb97713d5225dc9181fdef SHA512 b1de8bcfd7cfbfb988091fdb550eb98dfa5739ff58c4b789663e5db0d539c9acf145ccd72d87f7e1cdefd09d5771772d131d2b2e2589ac8f0bc6972c801ee0ae
+DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43
+DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da
+DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1
+DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a
+DIST dispatch-0.2.0.crate 10229 BLAKE2B 3a3f011bbd994f6620619d5bd26d95eda7ba21f1a4874b69e3a654e04611ec7af7257300a669ee95ae04ce35a91e033dddddb4a14da48036a5d19c4bad721386 SHA512 cf2b4c624f92808e43a0a4828ee1085e115540d5df5a0ad6a3593c9e5109951b26e8afbabcfb0a1fde41207d5c060566bf9260bf4c2a95907e3a822d84364b3d
+DIST displaydoc-0.2.4.crate 23200 BLAKE2B 91b0ae7018109d407095060b6bbd6aed1cc21120bc30348e8b16b5121f7c35ab72b65e80bf97dbea6cb4ee6b4d5215e8e5c4374f92a569697bc9c862348620cd SHA512 a1de2c200584bfac640f8b84b5103d8687919cd29f59a14898e98d480f476a8e4dc06e3b929af479d536cd02186e2a9be72e6414338bc117b97bc0d160029592
+DIST dlib-0.5.2.crate 5806 BLAKE2B 2a8be2d76c44c95d5b1b9a5439a99a75daa703a341980d8af1c050d6096d45fb748f0acee7f7de2f9433f97ec19faec9e028f57c8149229eecb1827a1ef8eb60 SHA512 4a8f1c09007ecce1d7c829899aafb90081fe4fd89cfac3550638018760e24f63985e3060c4056b55bf58cf4622b1b31595e1c524a75b1b4354b8f3c35fc267ae
+DIST document-features-0.2.8.crate 12979 BLAKE2B 6387136adc2f2d82dcf58a5c4b4f30ab8f918649b5fda02b31b0a412c516c1c4344f4a5cbdc9be777000252f32db6826aa588ce260021b16538afb01d873b754 SHA512 7d564698eca8d20ae66f533071b8ac27243889eb41fc419e929280aa54f508398924456e6f63cc174aef9f2df294b56d6ffdb3064ae7b68583ff1f3790dd03f6
+DIST downcast-rs-1.2.1.crate 11821 BLAKE2B e8a78afcd8d2f17c9505973359e2151d59b233e1757b4c7019047f148b1c8a4f28dc3a0d6eff6cc7f4a7ed986bf592ccf0481dc112768a9751475e1b0dbe27f2 SHA512 f37804c1b1e2cb0ecf2460fd6ab274c843c43e94aa7dfbf4e3c53529cca9b5624c4ea5ab5ceaafd72481165c7335f3cd1f846ae43deaabd18f363572825a5f86
+DIST ecolor-0.27.2.crate 10172 BLAKE2B a0e04c2902e1eba70a554a03c3dd619cd88720f2bc323b7ef0e54be54e0a45ec0253a76a0a8bf36ca06e6c868f1d1422bf04d6ade4617efc9fbd03852c05170f SHA512 5bb1e6d08edd4b7238af9938c3fd4d79255e1190b40ae23ce35a914eab530ca3964ff030b079990b173973facf8774a0e7beaeb68776c51b1fb0d923fc72ec1c
+DIST egui-0.27.2.crate 301121 BLAKE2B d4b7f511a7f6305476ea7d5b168edffe973d1884f2bb816d0a337709cf330ebad74576fbe97aa5de20e6186ea6ed0e3911566d0422de0c59099000b74c90fae7 SHA512 27246cc8fddbbbced96e6671aef72ea8bde7fd698143718f629386c0aacfd47d46ca1e39fdee24f474fef5327fdd1a8ffeeaa5615f5bc805e620a6c43414da03
+DIST egui-wgpu-0.27.2.crate 21227 BLAKE2B 3c93eaf15291436cdd55d7d6967998835639f8461f68b13eb2e5bfb328dcfc8825945afd4d91ce9bfa69a5dcf1bd053b24e86c27694bca117556db8d6cf94107 SHA512 76a982536a76fd79de636bb1dbc217717b00faddbc15a6cf3fb44f30f435c9d5277ef0ef9c999d76d01dbe8ea22c3e44aadc7d72486d810bb28f79fcfa6bfdd7
+DIST egui-winit-0.27.2.crate 19368 BLAKE2B 522df61925c0a4482ac724d1e71f8f3063791ab23996ade77eeb5642c2a11d8d30c9c810fb192df72c1b099e5af1e2386657b3a8abdc41dd47c484e18c89b0b8 SHA512 d36e7ee81010b30ef90673aea33f5e3581e97ef8881325e66f9bdf3f2202ab0fde46920514db8e06e87405b76b6732db8a90373ea14366136789654f39bcf6fc
+DIST egui_extras-0.27.2.crate 32589 BLAKE2B 689af5de768b65bc33d968a3d96c152725430364393bb58bac9d91da2408f848aa80f2ecfb2927e299584670c534d93498061474a3318486d545057da7673976 SHA512 f831c0e88d954c39dfd319804d4b3ecf8e9c268fc375c258594c9ffd541e4a7b8dd4f02c3ecb6d4b93fc956f5ee5b835c42580f23decc2a1d95b9b08bcfd6bf8
+DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff
+DIST emath-0.27.2.crate 22041 BLAKE2B b286f5613c6235223103e8cb13f044f78691011ec44696eaa237a6c278f426d8a33892d82120f2efba97872b9c78653b138dc0e44434455e99545c10a69dac4f SHA512 683c090187251e1dc4d95023e07cdb50d9b9cf7e0743c6de8fcc5a489a8e892c39260ad2fffa058c15a94372d6a728f05feb4c94314fbec6b77033f4b8e9334c
+DIST embed-resource-2.4.2.crate 16553 BLAKE2B 8a69faacabda9ba6560e352229f91121348ae40358156bacb560ad135364d82059f503f46aaa323e327c5f7a39886d779e1a77a8bed5c2f24d150f07b30af33e SHA512 22e821ff36fcc39638358946972295b20020c4851f39a66329405d39ba1916453f3c0b11bd9d31f94b787d8fd8fe7800ef13a7b0207edd00934e747cf50fb0bf
+DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
+DIST encoding_rs-0.8.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6
+DIST endi-1.1.0.crate 4872 BLAKE2B 8bbffc45ceb70777c6606714a7bb8f9b26ff33a295fd722958a5e9c556d5bb1e97a34e216514e5acaea51811d78fb4aac927c1f8315fcfd8000fda3741c53b4e SHA512 1a4b65cf77f530a2d15cfe968aecfcc9120957d23d2b442cd3d8f23d7039e832e7d6ab29aa5ad8570468421095650e26fa07f29bf75ae361416072241726c61a
+DIST enum-map-2.7.3.crate 21792 BLAKE2B 5cee4f4f5b3f29c5f73197de22a7559fd6264fbc3b146c683d93579d5d2e5e208ba0d6965a028aedb9536620b089fab81e7899a5be631217f193648f6ced32ef SHA512 cafb9346ef17ebc8940efc542d5613c32f13775a684db186f30a632daca1c17feef6e0e77ecede646fc688e1cd1b189ac0914e79c0263333a75bc50c1c6a9568
+DIST enum-map-derive-0.17.0.crate 10781 BLAKE2B df77d362cfee0cfbcd9354f65530424af9b501351544d97d5cf04c4a4fbd5f1862968bce42b719b9159892490e69c06c47d9fe1be4ecff16212e26906329e572 SHA512 270f2e9130e5c0124be707b7b4f642992768d2dde3b429cd86a192410c3618cabe24a914ffa79578f14cce72c28a55d5a44df8d66ccf3178c4c68bf4da61c065
+DIST enumflags2-0.7.9.crate 16555 BLAKE2B fc9d888285be03c9b47c6f2192467361bd4e67d41053a046508d0d431ac15b8cba69c265123a5403cdeac213d6c3ace8a94130267bd891e576b6d4cd34ffb082 SHA512 3899b6af180e239673d10cef2b02c848c79325f50dc40ce1ed07d00775d157679f1aee83b3fb79b8e432419810309d3ffd1bdde8c866aff723c2a3cc9d4c735b
+DIST enumflags2_derive-0.7.9.crate 7901 BLAKE2B e71ecdabe6c4e5ff7e01b1a820da948b000d614fb9ca6dd53c2a6dee215269d392a1e15c724ded3caae3b08dfdf796e1f61e04fc4a887956eeed8666fbf25868 SHA512 4bb89eba5b22cef199b19cd0d92605b5a11ec3738002b4fc2426c6aefbe6017f8b7156b3ac83fa7ecbb5abe54643b3456a8700ec831cf1dc27a518e621446be0
+DIST enumn-0.1.13.crate 8391 BLAKE2B fd02b908c615ae0565a78bf3d9977169be81ce1f176b45ff165c45df231d8a90601ba226aa449d52c929710ba796a08e0d81a6ab9dc59e4f6506f2096cec1492 SHA512 c0b453e3c5f37b5037d39327d239718775f2c554ff8c2f454447720b323c3452d6a04b124a5577960bde078e312f4f5d4a59ec8c269d5d0ad77c602f344db505
+DIST enumset-1.1.3.crate 26976 BLAKE2B 4e40cec8a6db10a04b598eed3aa7b9a81235ed95e433571ee4c92a699c4687a004dffb94721aafceadc4a6c68dcf08fd622385a802ad330208d55f7c0cea0436 SHA512 1fcc39050a75d73febf9f1976913872269f41916fbfe936b7ab67d7d61bd67de9ffc71a1cbf34eef92b2fdb0313b5c77ce9dc7adafae5992fbeb6fcf7b31c180
+DIST enumset_derive-0.8.1.crate 12711 BLAKE2B 752eeac1d1215a041962e3386ac95c1b8673921b76bc4ecb14acd98895f01ed3be24a95b5ac127af9f4fbacf65bb5035e60b989e3cc7d732db6015d92106ef38 SHA512 9ff87a0a5dbee945b58987f9d26200efa5e8d5c085ceda6e44ff9cc1b05bd903cdda632e459b26415e7e2195af79aa51b8e95fb9ee7917fc74a6102f220e5148
+DIST env_filter-0.1.0.crate 11553 BLAKE2B 8e358517c0aeda431239f14610925bcfd6be3bd346c7628e1818cdbaa1796bfdf2454db99cd06bc6ffdca95e7ff47c0a621d1f4c3bb50ecd1641f9d19efe4b4d SHA512 a0ab51c2b905466d23c75fd77b430dff2956556b7687ea434050c78a497cbe63018c5730be950724c0ca6aefe29bbc379ac01c8a7cd2779a69c5a03e92a21bf1
+DIST env_logger-0.11.3.crate 29704 BLAKE2B fd23d377d258ead87e820dd89e4175c0596b284d629563b7d04be10f80bf859d84a6e71a21d1c333a94779262608554e95bf7b44c35b3336cbedf545184ea6d1 SHA512 50df911455429a83088c87d30137fda6fc73971ffd32eb66f21e0d006bce92580c519d4a3a3fddadb7bdcce5d6dc33df853dff6373fe66f128cfd60ca26f9f02
+DIST epaint-0.27.2.crate 859742 BLAKE2B 5247bdc719f01eb803f23c1af84090451d954110f262c611c430d8580b6cfb8f095f47184a215490de7f1b1e2c039a1641e673b330a0189c52e7c4b6393a3ded SHA512 119bf8434afd490cdd363adfede22d7ecd1b8d9eaeb23f8de28ebf2b746ed01d71842231880d6cb72690381b88878eecca6032fdc8ba9b21db445934c608de9e
+DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST error-code-3.2.0.crate 7569 BLAKE2B 815e83d67a1f257b4e9b3058ff849b3c37a44a0339b8a3ba175b7c3cf4794ffbc76369ddb433ec278002200702b83e32042d62e5603af5010ad4df4c9364c501 SHA512 d3a6dbfdbc1626d9502964dd4615fa5d39f8507996fe6e727bc694c1da54c1760b000d4827bca7a2190db5f04b8549c6345f262702eaca88d8b83a43649c37e2
+DIST escape8259-0.5.2.crate 5462 BLAKE2B 799d4dce6e7be45f96558ab665fa629c21a08748f953ceb34d8c5cfba2a1ec63a3fae125a27d2df9e820a8a9f53b0823f5e829f79877099ecb602818ac4c8980 SHA512 46e000a93a8ed9175807f7dc1f63787c084fe55ac6cc994aca772bce8a941fc81c1f277459af218b051952e78ab02cf9ee9b0b7a254f6c249f91e3fc2e4e9a9b
+DIST euclid-0.22.9.crate 76671 BLAKE2B 784f79bc10c04fd438007a566bca8fcf58de149d414306726a211bb822f5de62f91d6fe15d623fe36b82757d6b2426279914352555abe1bd582b64c6f196293b SHA512 19fa3756085051c86a58c4ea00cf459b43a6326c9b916e17e15160b43813dfd3edf113379dfdf5f345b7c96d294a75f1ca96f1065f5bac9e44cf340434a2dc33
+DIST event-listener-2.5.3.crate 15392 BLAKE2B c56ed5eafa64014141e869dcf952e86f755eb35ed1722f8139260cb502ba226351ed1bea301618e94c9ca7f3309747057eb5f7d7986cfcdb7f6b79d13d52b439 SHA512 ddd67c1139ffe2aba95d763b73db0e2a9985dd2e57cf8f72030047d53d46d833df4b4192730cf0af4e060ce52e4f2df23aab6509abb94a6cd02e0d8cc3559d22
+DIST event-listener-4.0.3.crate 39784 BLAKE2B 2924aa196726f3a6404536dbf494a52d266014b2097ea1f4a42e0f5d54bc2d14d6722deb4e40f1b1fb539ec12af7348275a75a9fe3e619a7f6a6a9156e0d30ac SHA512 2ed4f1624fde0643fc8eaf3275dfe77c15f936e1eeaae43d205f68d90e2a8dd3eee3b39e953a221cd19a88e8b947eabd5b8477dabaf8f30de328c0c13d132d7b
+DIST event-listener-5.2.0.crate 40217 BLAKE2B e353e1d18f50055ccdc4b061e86f809eb0543422cf67384f8e5dff7345b409d5f5cc3b27aa6bd7370e68a35fc6e924839cbafc73381316b6f48e6102eeac68ab SHA512 fefaf5cdfcad5493fd6f76011881204252b187ad1a1c8d57c567be94c81343490ef992d28538ee47314d6890fbcd288529d776ca9c2c94ef365868d324e9a4c5
+DIST event-listener-strategy-0.4.0.crate 10225 BLAKE2B cedf057e73b7d26ce691c3a5523c7492ba6fea65393ba20ca80ed091d3c4b392c85caf5a526647886547cca22bd703b0a01aaa8d018b07731ef909bc3281243a SHA512 02e8253ce8b680d9df72b786115d8894147483c5b44d530adb600718213424b2d87c899517ddacefe73738ec9c8904d042341d4aab8076fd19876e89972061e9
+DIST event-listener-strategy-0.5.0.crate 10616 BLAKE2B 532e5e73bd6bc8071d0dcbdb13e5b9a3ef1f0930b2d0a27183a9e203b54b0aa8b526f35393147c46c334a793764c338002b00a8df9428d3a7640d713b4f2f774 SHA512 553d7dcc86a9bcca01ff67e5f60bee536d208eb61cc28de1c40d30a8e7488177b8e5e3d50523d055e64da3d9051dccc02b984788f33f8de048fd23b6e964506e
+DIST fastrand-2.0.2.crate 14674 BLAKE2B ea23f52d745f4fcfd4ec911d48d77c60da837f57942994b17458daac7cae38953cf679459908d68e5f393d03a90cd6eddba23d2a86c2bc11ebfeed0bb41fe4dd SHA512 3ef9c21e4928071619adbad6421165ea82feb04c26ee18893b172f9f8a510b9a2097257ae31647a907680412b68d6662eff13cb27649ed9f5e68c374619701cf
+DIST fdeflate-0.3.4.crate 25001 BLAKE2B 69bffdb689dc467bd62738299ea17295bf7dd9d51c78b17e1ef6eee265056308703646791676c44430a686e1d713a8f561c5db972de7ab7c5e7b21050cad70f8 SHA512 a38b493eba656beb97275faf5a2f32c8a2c2cb12c5d5c280d37bbcf1406fe404151fd6312ec496aafdce802ef08745a6927e571890f9b290010ca5ac45ac9bdf
+DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3
+DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8
+DIST float_next_after-1.0.0.crate 6965 BLAKE2B f13aea22ad07b4f7518e5802ed84838ba8250eaf73354b3144d69c41fd7a2ff378e182139a36e73d6b4a9228aff8a9b720f72d078278ba472f6abba0b1690c1d SHA512 72e5b919c60a66450625603ee739aa17dede02eea34aa75e0ccf4ac07c1f4f3388c28ad7652627b70e0366b046ac3d09ae7611d8c5225527abb952fe5c59f546
+DIST fluent-0.16.0.crate 8321 BLAKE2B 1e91c434d1e006cc0c8939ec5435f55af5226d4a88660c91db2dc7e3c7ad7804786d5f6a1c20185bc54caba9781f601e82c0d7f3399af91dcbb9d0a5b2229995 SHA512 b38bc79635f843e1bbf2abbeba9ac99fd5c3b702cd1699f1424e7ceeba07a548cd3846b4886b9472c7f5bff52dde652acb8a17760c677c5246a235e0f02ff418
+DIST fluent-bundle-0.15.2.crate 32239 BLAKE2B 43cc9f0399c43391256ba76bc1231cd5346d13eddf21b5db1246a5821e61416912c8aaa2e35bb19e2b1220dbc96c3515abee0dda0a58ab9ad9f579270a2385b1 SHA512 95da35b5ef98b79cc37408f92e6fec38e27975d4e447e96d01843d3b08a3c7bf730984eb59690ca9bbef6c24efb1b003367aea22e2f76074dd0192066ecd8d67
+DIST fluent-langneg-0.13.0.crate 11723 BLAKE2B bfa4ec1a3a11360d28b5291e8eed2628ca6007b8afca726ded87d630394773835b3c8aaf818376a93a60de10feab25d7784c8d2b1e34e63b660d581a37d9626d SHA512 397d0a4f3508c7f58105dbb9ef7a32c5c4ebe4a73d80d2a19930479bee325839485c8002b49fb8c55d686ec9f3ed1d26493b56825b65d60ef7fba78a1442f9d5
+DIST fluent-syntax-0.11.0.crate 28524 BLAKE2B ff5762a9feb333aadac587296401d6386c327f93525a9b2243df34f7dc4532cd37a66d865660c7a6b0e775a6cc0e5454ec92808ca7236bf0265314a5be151989 SHA512 cd6157ed27735fe319b115e555760832ee29d5887d8a1a9932a47e880c97f927304320c7ced54b30984c65acfd5ce1b9dc659a8e27b4976330cb803d07f64289
+DIST fluent-template-macros-0.9.2.crate 4601 BLAKE2B 59dea2cdd7c7aa8bf86606d20deb70c70aa6647f4eea2e64bfbf57955629c0fa38481519eabeb0cde813fed62b990c66a643a16eedea4fa336c69decaeaf6c9a SHA512 f94218b01d9e45b6d5fa5a754c2a7cdfbedc7127c2ee4e841594e77eab2fc095efb65c2528cf022727c125837436d4b7b820b56c0ae3c8d236d9c994a55a3a20
+DIST fluent-templates-0.9.2.crate 23195 BLAKE2B 87235080c46bd6aa8f8846ad74be1d800e91d87ece482453e26521eff51ea7ba58fc12455f897f5aebe4cc736ed4c61192e5f37036faf099294d83d4ae044b30 SHA512 ff2a9c3edc9216baf51998764e5ea7c5952b26f1eb2b308e6ba774fce0cb80cd9787492ef7d9ed38c78c8deb9dc5c3fb8b4d772d6acf07af6b3ee3b409da8da2
+DIST flume-0.10.14.crate 65389 BLAKE2B c88deea78a5713728a6b6a94a4aaef570f6eee1af85fc489534d7b336a9ec9cfdd76890929a456a689ac196bef24cee68efadb30e06ad585063c5bb77fb2699f SHA512 ad31351031683453b77d85a89812304d63a12cce8bbd31dfaa508091cec52bc511739d4d13a085aa8bf9f2438fc1876a99f2e4ab2602bdbfe0d2ebb1df4eab0f
+DIST flume-0.11.0.crate 67502 BLAKE2B aadebeda44f899b6290df4ccddfc0fc49c4e55709243e9b1eb26b6a232aee042d2260c9b504d554551be54ad4e4ae1b1dc6ee861fee0cbb6eb92fbebb5a7d9ad SHA512 29e499f3de970d2d400c3826e912a49a01408dae8d933068dc94576cb0c2ca0e42ec4a9ebeffd17a20f56869f09eec04a2b90a335bfaa6462b8df474b2a49fcd
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST fontconfig-parser-0.5.6.crate 39300 BLAKE2B d919f290d09bcfd37b790c03b301dead637543082952339394504b6de9eec2baa27fb79d08cd782b318bd8662df100e40284e929940aec94be551de332d886b4 SHA512 8d58fa2db0d6444025841d460ef3703ed1ff4bab9a7399df9830b8c13155633932e90684530ceb85a6d0803bf8a15f1647650158e5b8aa6288e4300b5201319d
+DIST fontdb-0.16.2.crate 107447 BLAKE2B 3ad1710274f57bce123e6c9b3c449b7be273955e15da33cead1597dc229bb174dbe7d89d7413f28f7431127a1899d30fad01354f1ea41940fd82bcca7d7a1713 SHA512 7e18eabeb967cf5d2149362c8fd45dc809e8f4b2f0cb2f9753cae1b633dec1e2fa371905bb83ff140851f30d9bb824749a8fb23f90e8d528c24754df3872ea54
+DIST foreign-types-0.5.0.crate 7824 BLAKE2B 01a5111a11e48462914f9877d3228008590093633e957883fdafd3a7017e144c14fbbe713bb8b0061ebae78d20a49978191ce416a4e28317b67ec69e38acb879 SHA512 d07c92cf99c99419a3ebe05ba9154e396ab88116f46af736ffdd958c8e47741bca5d9f478f6719d5361360e844375968c1cbf6ac40995d47128a5e5fda3f6c82
+DIST foreign-types-macros-0.2.3.crate 7635 BLAKE2B ee89f576f2d892209c0f344dcab9dd85a671c976c8034b33dc984b93a5c872ff0353311657fa1dafc499243e55d3293a7bfc532ba55894a719a50ddaa6957589 SHA512 c3965e058d15159f789a8ab1597770ff6325e8ac9e6914c98450225ce27af849698646d53326e07b13eb3a9730452d926b73fd76e5a1fbd8ae4a6083bdce3367
+DIST foreign-types-shared-0.3.1.crate 6006 BLAKE2B 27c26518e0de0a298df2996da4959727dcc6a21bb4efa6c28869a9affe7ee3b427d1bae25ed6928477d07959bd143d5d4fa27325f8f5a5cb0ddd3cdb9e5314df SHA512 c68da34b55230941d6655f6a52d5dcb8ee02149f25c25a5ef782402f9a18b33047905f28b70183a5f45b45977c011a5320cf7283b7901c76ede4d82082ca4c9e
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e
+DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c
+DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4
+DIST futures-executor-0.3.30.crate 17744 BLAKE2B 927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b SHA512 fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f
+DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2
+DIST futures-lite-2.3.0.crate 39181 BLAKE2B 0e4c510d7b640efc6ca8e8b00f4cd51b05b727ce5d25d76e317fd5aec2f515d3b1dac57e4058c323fdd0c5d125ebc4073a9ab1f2ee21aee0e5aa0f9bf2e049ac SHA512 057de40b58d5ae06104c480a0e20a0ee4a962a93af615b04a9a34cd08135359c1f49f1b61577f15277fa73e9b7a93d2a659d3203b490ca4295b88fde2316bc7f
+DIST futures-macro-0.3.30.crate 11278 BLAKE2B 6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0 SHA512 220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc
+DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3
+DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d
+DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951
+DIST gc-arena-0.5.0.crate 39122 BLAKE2B 729bba3b8ba18a644f826c943bfc2a94c7b0a401ab1bb46604e00f62e099c3a13b710b9836d6bc554cd1b44e3be99da4aec428f4885f1053f54c43f38fa47ac2 SHA512 a8d1eec4d9f9a6234b92a0b46b93d16d1636fe6fd3ccb8b3b6e6eb7543086c05357d7b6a745727fb618d153d7385d4e1a5ccc37aeddf18d6ab29cce56cdc3b85
+DIST gc-arena-derive-0.5.0.crate 6933 BLAKE2B 44780fbb252cb86f1b368d3cfd5eab766e52d34c1c8333aaa39bd88b01c62e0eb4fa3cdf747387fc7e38e23281dceed60263ecd5568e7760da443da4a9634f0c SHA512 55371df8997ec6dfdf11dac4eab5a1c1debb41c7ca9f61c7326831249f14e26596a26e218bb0d76545952e05270d347363438f5c2d7dd7c07ceca8373c6189d1
+DIST generator-0.7.5.crate 29947 BLAKE2B d6c68ecaa48f30e3657bab1315228194c679e6bdf71cf7ea28273ac20aa34ba416309d6253ac19cb5e940e7c058eed39eff1c0a5594103389136d10148bd1338 SHA512 fb634f5fa252acc3d22ff925cfc06f02c4c82c64c567c98fde9040b457b8248a6199d0ccbdf27d759e75134318c0bc1a9d9cb351af4edf5332cc184c90c89d3e
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST gethostname-0.4.3.crate 9336 BLAKE2B 12be5fdca0b6e3788cf3d67a4a80f283d240611b4fd37b6d1c37eb2503e4a7025b17bbb70adf421ac840d8f952434bdedf4691f31362780a267e21e8c4d3a006 SHA512 8c5dc404132f2ecf9bf82d8b89cbd698b4cb6d43141c47a60b95401da2e8c314347ab0a0ad5fba50cf98f01a621faa68293cb78f48977d3ddfe6e6f21926abf7
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST gif-0.13.1.crate 36408 BLAKE2B f2544552c177a4e33440b05a949f6b205d3dda1afcb7e6574c92ed9d31cdb3bf536e1914186730bd8777e1c10d86466dffbee34d975884f0125a1dfcce937bda SHA512 7e76ee111c6a94763c4dfe01faf4cb0b5272d5041e2b2b8f4db666debf647e192b963c6fb3228cdde28e1d112830c2aa31eaf0551d712ea9963e41e47e26fb26
+DIST gilrs-0.10.6.crate 127891 BLAKE2B c1e5cd7002eb3d88e27cb814fb73c3fbb7baa2b1ea20d2b89d0e58385869350c6003660a1510a37e2fac99e8e692683561f89601f253f9f260a64c9591924aa2 SHA512 62a6e035f0d438f5c17ad72678c9ffd13bca9fe095ff3fcd563ce1340eeba35eeb1e9ebee329de697fd7ee6e15373ef54b35cedc3de4e9ac3eca62e4d44ca50c
+DIST gilrs-core-0.5.11.crate 47123 BLAKE2B 55cc7668cea1cfe5f0a558ed5a9524dff2ba23099c48b05b7f02e8f20af9b2d4776c33debeae75cd7bd747404db6aaa40120778bda161aae9c0532997944b10a SHA512 cc5c96270e246e1b4e94a7b1d613d263607d02638fc7baebcccc990000a35fe52901b3c348c9ff657b97ae5c74b8ff744f64ac93abe1697ab869506f05aead95
+DIST gimli-0.28.1.crate 270497 BLAKE2B 4089e0f871295d464e548610ab5f0c2fd863825416109cf58ca827e482897f00eab23b795295758f1e3af16167b52c77c91df6f707f1f445984a6c4bcd68c6ef SHA512 695e46471fc07813dc4a47744458729b097f6efbfceeb57eb3db4165654e99bebb98dde2d73230b90bb5dd7c0ca0c6e77c7c3dc6f2abf70058b830a2fb386d25
+DIST gl_generator-0.14.0.crate 22330 BLAKE2B d2e84bf81e7c4e2869c3e23872bd86466ede80d6fdbdadaddafb1ae9ab45672613cfda319b15720c35fc26ab103ba106a997ea6f5d4654bc9db19fb86f20d765 SHA512 98779d525a042b47ac373340c6fd2e019a670a5bce643128ae2cde2021c0bc8b2253064819c2b0ff444e62bfb3679dc70f11f268c660050cc891063ed6b45fd0
+DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
+DIST globset-0.4.14.crate 25090 BLAKE2B 2c3e6f8384a066ebfa1f36bf03125b5eae79329255674e32c58963451d4b342ada10f17524232a953bee133b3c77b678a141543759ebc622b5fd659fe55622ae SHA512 e83e4f5e42a97609e2579b09f49c2cb0a76a94e7e2975c5871f2c5af5d3b809736e0a7b220404c582f4a0c7eebdbfad6cb432e89b26401b58f2b253f8c0151bc
+DIST gloo-net-0.5.0.crate 18586 BLAKE2B 8fb6ee702f468cbfb77ba40437f99f2a4c992f4d9787e79db463eee4d3810282569ad3ac0672a04ebefea012cfaf52c93b57220207a1af5b86c287d8de89a1b0 SHA512 9f00e686b0ba473b264752591cdc7bbc609fd998b36e98fd7ecfb09f4c3910050112cf7e2758b4d1dfd990ec2950076e5984ce0ac9d011b7852882b0ac42b557
+DIST gloo-utils-0.2.0.crate 5103 BLAKE2B 2ade2182cc7abd8bff18584a6a22efd185dc3d687461e9ecae86d669e21c007833a2b71320bf71b41d950ebfa23c433792ec140b6f373dab61c236c5f884abf0 SHA512 ffab533a4d05c62ac8096e500608a0e2c28760672afd69cb990b17c978f83db890e7db1175c13fd7ccba365b9363eb704c0b9387d04b8e2522e6f97dbf1cccac
+DIST glow-0.13.1.crate 150940 BLAKE2B 30916c62bf166cc5aa07cf2bf7f91b80d3580f0e7d16d43d77e185dd1fab17c96d1a20e7a018725e6822c2910776d27e57bd52677886461cd22b5083b9a605ec SHA512 2a7975f049fa7292dcb15a6f7d6141aac59a316f97a21c4ee65a6cf91594f8340b74a3e3135903be4dae51e6ec73892270531f0f76140dcc1534a93bfc46c49f
+DIST glutin_wgl_sys-0.5.0.crate 5469 BLAKE2B 853aeadd1e7a775deb075116d08efc0b17e7032e6a41bcfbc4ea87cd3c466596f083042e3b213f1e33afa4bb106ade7a64f346311c0c1cf6d228820859887a5d SHA512 a8f44456b66a95627f7d0fe3b8a79270368b11343a9f34feeae5675af0e0fc1629b5ccb00e8cddae21ae8e71f61028567d806796595fb94e02b31dc1db03d521
+DIST gpu-alloc-0.6.0.crate 19649 BLAKE2B 47fbe3b604b4ffdd2e44d2298e969117688378ef5ed32aaf698106cc06f9973caefbad0cf7ee7a4e75a5602bae9ac0eb3b0661ceaaa82ec1c0d08184d0880ea8 SHA512 b0d19c68c3d122b89dde988d2df53798ba7f3cc9475698eddb0bd116a55509610a9e4edeea81ffd501b3e0a3d50a656161b6f3eabadc7a14e46578f9f5230314
+DIST gpu-alloc-types-0.3.0.crate 4128 BLAKE2B 3f14d804b0d02cd8b2a3532412085db3b6e78a500c9629e3908ab1ac7787d8b807cfc88c8b98bba8b9aea0635787e3d6cdc65d2f565047c6ec74a90ed74002e3 SHA512 9b9f7e81269070269c592c3ded750e0507bf56e1062708ae0f3784fdffa86786f15fd647b07a5d9a4d8c83d5bc277f4062711a5af99e88604e0a0b5d708534e4
+DIST gpu-allocator-0.25.0.crate 44341 BLAKE2B ebc71ad9ce8178c07dd86c5b0db68177809b60d63d8c7094b23a0bbdbbd0c43b50c85a967ff6ba8802e87dfc11d8b2a526c096454dab34931d2135ce9578205a SHA512 b311f10c39cf01afa6d196b3557f3d1193c110ec3d4d8195b55c84eadd9e34a75c1b2fb72e79106d19b3399bb917b5d46dedf73ce3be049db918de4db9fe9f7d
+DIST gpu-descriptor-0.2.4.crate 6641 BLAKE2B e80259593e7768e96829e262f1cdcee69fad3e5ba635e61e83d40d1c43e3d50db4f88c7fd0ce70160e65b60f220cafea290bfe286e16267c72dede48dd7cd8e9 SHA512 f68c75425ea5c675a61f7dc0ef23a9b38772acafe6eab15d5a1f74f2c41a5aaf3433f685dad31810df2c82cbaf8ea2b0b15c272fbde38e0d9a02629861e8a83f
+DIST gpu-descriptor-types-0.1.2.crate 1928 BLAKE2B 5f36337952eccc0d564d9342932235d26cc01c5234a7ee6f01525cec10236e59b6c039e81c595e3252e5ddfce246c877aaa8af928f6965d4e07b67694df5f7fa SHA512 570308c4f788abeaa0de6df121b8111b73c7c9f81661968a9b3fb40d2ab1f593ac89711407a91693b05ae0a8189b741030b7b8154a5dbbb2e6b3aa794c5d015e
+DIST h2-0.4.4.crate 168905 BLAKE2B aa71ad20ac387054449bce337d9097822d583c5daf7bc3f703f1a8dd204cd616f0f690ca39eb5e3b623b5694ca9c5c070f829d461a1f6fef0b94882b142806e6 SHA512 469ea1d854a70fa8a0510437626b0e0b2fb5409c6eefb0f5a89be5cf24d9082654be6cecba3d817a19604e8778deca6fb10762bb29e0d1bfcf8548031e3ef4e5
+DIST h263-rs-5c8d9d7d86f62b70ca484df006a75a9c8ff1985c.gh.tar.gz 89864 BLAKE2B fc2f799c7b72b4e039615ec1cc608a45c5f06c5b65c5acfe971f2fece9278094316557e4bc19af7472eaed25057a4ecc7cc0c1d5ffa1a3662b361645c7c8b083 SHA512 43cc6b5b0ba97e086f7ab22a100b4527ae6af095dfa1f9694222414210c989fc80a0001a632074b7a1e9424a7a8b3e34071e0efcb1be02e73be30de8b61f6cb4
+DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST hassle-rs-0.11.0.crate 27178 BLAKE2B 5af929f5989f5522fc04aa27631b24dc53aac842a238d2c7e3a5f45221ab56a0725578cf3bde1b070b88a3d151ee6522e914318fcaeb0317c0da9d2cd74d082f SHA512 b4eeed4e47236cfb88087b1b6e4d2ad7c93acd90e55ef4c1b039d3798b3a7c6f81238200c15948e42be69010a7bfc24bc20f309dedd90625160a5a50f35e0930
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST hexf-parse-0.2.1.crate 4662 BLAKE2B e1b6bfef243b07305d7a8f08c8dbdafb67dc50c284ae70ee7032ee8bdc4e72928b6f45344613db63bbaea49d883f0f54e1c09235fb951c1a65755946c557ff55 SHA512 76e64d95121b0c3cd534a0005df0933bf6430f50969ba7a72f6a8261c9b7830c00a65b9286315cf78dca4a23c02bddf75488004630ca9839cc371c43efc8cade
+DIST hmac-0.12.1.crate 42657 BLAKE2B 5d432a666dbcf9077a98e1f8a4aaa3afc88f3d88553cf7a2356d117c66f38efafe686c148598ad67ae89d64ee3edf56387a6f89b75dd9ab5eee63e13953dcead SHA512 77d4bf51f4633a8c36712ce3178945141df31cd645eafcf4bd130b8ecd7cb498bf1ee6f2d9c8dfbbc9f97ac638919fcc81bd3ee600a1b27c3be3fa87313aa0b8
+DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1
+DIST http-0.2.12.crate 101964 BLAKE2B c35c2ae5f9494cafdfacefd778b4b6824588e74685fe5204bc6efa87b667d00b28f59cae667115fe45ae332d8542e7a0c2c7c42fdeb302302f89b00cb716f380 SHA512 e32dd4600aae7e26f1d530871815b30fa0b9bf95293005649bd9a7bc4df7f69a1d8de503d1b8873e67a5496e644d0a47db2a0680fa1e9058bee4dcecccebee58
+DIST http-1.1.0.crate 103144 BLAKE2B 7a8c4ffd3ce664e1f575bf4042ac0f15ff42b200fa8c6aa27a6686d77be2de7cd3df242e36f8cb45cdb822bfa96011d5d5dd7bb03122ae5bdcaa15bbf9d40051 SHA512 1c29f25a8895a69d815e21df427dfff7924e9040d01c55cc3256dd0b5e72b670fe75b1414223fb971c16082e4b26217142628be5e0905994da4f08b52e7f4a33
+DIST http-body-1.0.0.crate 5411 BLAKE2B f560b45bfb1525fbdb209982740dc2da5688034912377b88a1f0e069a003bd3fba3d3f248bae98dde043e6f797f256a219228611e9b8035e6181f4c84381f823 SHA512 b351df7a2ec991787a57232229f80a29a648433de25efc1db2c9453d5a09b75c2e8b0101268b6753251c686a2af9ce346e08bd016f4e93891534f428c1d80183
+DIST http-body-util-0.1.1.crate 11930 BLAKE2B 7e8388c2e15f7cd2d4e4630bd1af25bea49efc2444b18aaecd5fe191d913c7922a34efcf48b69811e1c64923bb7dc1e3aae9a2ca2daa1b1a5c9e12c679dcf787 SHA512 bb3750ab98dcaa7024c1b5a90b3865b303fac8f723dd037960f12815c6e0d1e68ab5e09dad0b7ab3154a820e7ec4a5bc7b39be104e5721c7ef1fb36416fd9b24
+DIST httparse-1.8.0.crate 29954 BLAKE2B 82c48fdd6d28e94c42df180415ea3e30d471ace2fee09d7d8d33aff0a8e9a15d3029c90f3bb036b4f587c8902094a2ec21e4ca6ca7b654a82562bd84fe208ef9 SHA512 849159d9876e0474c71f3c7aa3a7271699b807b293832d88d52e4326ed410b25f9d7b9ad75a143a51fb5c8ea5016c2513348edbc050d3b62dc9a6737ae98ee8f
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST hyper-1.2.0.crate 148064 BLAKE2B d0ea30be277a41a1faf699b306ec84659a4c8b8a90d192c8b187a793103c2cea3670bc7d378db706039f4555dc7c66298fb826bfd330e8cdd4c97e907bd7e375 SHA512 1ad844b0d13206598ea8ee887255f4776f2ed9eac3d07b1e5b07652016655736868e5521aca0c436faa418dc47fb46cae21870cf97858d16a21101d84fbf6263
+DIST hyper-rustls-0.26.0.crate 29538 BLAKE2B 9c6c62097e17b66e7cf9fc1325daa1e0b851ced699fe5c19a42e061dcfa7bdb26d614d6aaa6704bc07b5801b0efe54c87f8f6eafe2462ce01c0ab85418e0c783 SHA512 df6bd4e2e9b5f54315c4235c13fcaab4bf9fcb3b0f1673311da60a34ab22f2e566c4de3d3002e65620fea0b7942d27a83f52187310cfd9d8ee4e06ee6fe384db
+DIST hyper-util-0.1.3.crate 61647 BLAKE2B 25821f66f7576e89b5c7a5207a4179a7e86f024b04acd1e8c7cdc8be3bc8c9222df1efdb14de087a0db50029370a84ba5d48ae2a0d85d04c1322bc1701a4c2df SHA512 fa68ae79e56a40beef318ec1b3fa6683ecd49371a64b123e55cb311a739d44226bfd526afbbab661785ce4302ef4bb1bcbff80ae3c6af26a4db62e9d4792a114
+DIST iana-time-zone-0.1.60.crate 27074 BLAKE2B 6f534056e220e2f721fc7c7f3ed24152eea7f07d1f4cb3609ca734ade32a2d6b18fd0164ed831170cdff192cbe48653b2c4eb0903fb6f157292b3b5bf47299bb SHA512 5619b994d3277f56e65322a7903e4c5e03928a87bdb72831cbef88788aaf5573b8460abc0a4d5488c5df7052bb978531d973dd66002b0ec4a3af468928c9b722
+DIST iana-time-zone-haiku-0.1.2.crate 7185 BLAKE2B 37fa14b589ff092377b9271c414d4e584c5a531f13f70ac48df26df3cc03353db635b4630ba192fc65b800cce11823e91b91f03dfad85e4bed55aa18398156cb SHA512 448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2
+DIST icrate-0.0.4.crate 1040120 BLAKE2B bf09a1f5e4dcb6b119f158a6d7c93124d7f8a2434fbdfa19e356c282a3bcd2c191fe028f7c45becbeb313d163339106f8999c159b33920f90d70f7e09123d58c SHA512 2aeb124d3b303311500c163a33b033b8cecabefe53f50da360178c320d884e3b11d064da11c52d7ec87e97d4bdf6e6f47f71d1b7609e226fa3910eb9b7e270fb
+DIST id3-1.13.1.crate 61018 BLAKE2B bc7bac0c91cb81d5f0e1920efe02c6b14196e80b0bab3bbc29dce23af2b27efdfc94bbbc2db863a551443e2043b3e36d6cb8963e01eb76aad4b0c93a5882b160 SHA512 a5848324df95bf0d9e693c89d24620b3b235d05ebd2dcbbd699eca2a3d6850f31aa65f0ba9e8416473d30e3b9c10204027ab4f6bb08ec5fda5d4ff48d11fc62d
+DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9
+DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST ignore-0.4.22.crate 55462 BLAKE2B a9a29e5286c9a9c132f2fa319226bfa85c9555150afd18e34bd3b37915250842c46f6079208dce75674fef448450dfd23242858ee2e4e2bdb7eb65f89d689d0c SHA512 9647a4887258dd970c87798dee32a16c1cda75ce3e352829f78d97e1b786d67f74d89b2fd76d48a607fe795213965c04c9dfb47713f8fa80561f87ac465956d9
+DIST image-0.24.9.crate 9261055 BLAKE2B b4d95a88fa2fdca01e5d89ba9975be22269e3a5d90d24bc31d5f1168007508a0337d0acc5347be012c2b98de02e4f481a573f012f47a1f1e365d26d89df236d8 SHA512 3f858efceeed54e21543eee065ca6008f40c568e1ece1016b38040eff5625c9fb6de77c7e950c08c9e82b9fcbd4c4ec2f8c4c1157ed5d232bc8e35b4850420d2
+DIST image-0.25.1.crate 9176733 BLAKE2B f7daa1982ec510de79c925157f2e1a861c89a92f1cc043617469f3c95cc9158f1ffcf274513556993bbc4bd5ee5f86bcccd406cfec06d98b0330bfc10687acac SHA512 4252672cb5b5fde61e9c7fce1712997ea082e3e7d5350970d597c0a1421b21078e1b4c3088474c4b500f396bce604d0749085fe4cdfe1c3b5f3d1ffcd39c1b04
+DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
+DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf
+DIST inotify-0.10.2.crate 26200 BLAKE2B 8080cace302b0e5aca8ed4188126992fed5b5b4f3624d0e5de70dfb426583428890513faae2fa32c31afbe1051aea03acb7a7f22d0720a24569f020a2a5ec940 SHA512 79692a043787daa67284f9b94892a09a2bebb12feaa5be2e1bcfa213b710af5499a4fb62b837d45793efdc19ed1eee00a014a7a620b5bfc9a594fe0571e96929
+DIST inotify-sys-0.1.5.crate 6965 BLAKE2B d70124656ce3e6f5ea3f430e8e7100d0691003161234b40542ca86c407ecaac1785f3eca98e9fd2914dababbc3f47a0855c99c9f19245d1f2cd5312739c802af SHA512 dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da
+DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb
+DIST insta-1.38.0.crate 86379 BLAKE2B a0d349fc486dd4dd771b292b3013e7609e44e6db70c661b37123985427004938022f09bf82dcce97124e7acc1d72c7b3895ba0cf7d4dc2ad2e6334a02c85d3ce SHA512 c0604d51c34bcfa696bcf1bb98bfeeb210a91ad8f58ae2df0c81acf99a8380484a0e4bf3697e8363fbcb2a9c946b00ce91883f5ea9fe5b997dd772b230b86827
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST intl-memoizer-0.5.1.crate 8292 BLAKE2B 32b42caed088028a254c8eca21aab5b44c7e4348255c09009a9e97f205cdb92743c9355f7eabf132bad1a22c4c30335708f1da13b3658a4f0eaa7f77f2721b14 SHA512 3f505dff396039da10ed45c1b99904601dd4784900c0b9f1d0c73d99df656998c56c7644c8d3608d08cf23516b9e35018acdb810e8add48b8435da8e03098a7b
+DIST intl_pluralrules-7.0.2.crate 9201 BLAKE2B e80c46d863296008c85dd8738cb1140cd246c588daf2ed531de97b9f07f02d44ed7fa36fb61c05f717d59b870f924745a4babce25f6bbf170698f6d21da50546 SHA512 e03eace1382afa6704cb2118701c2281628c15df753687079eb02cc13a8f80b07c122b44618f2fa85438cb7343eb676f3c09e08216589c480deee36e7896eb43
+DIST io-kit-sys-0.4.1.crate 39052 BLAKE2B 4e5ef7c37b27cd9fa2f53beb2618ce3fb1fbb7c94ae5fdf4d53992b5671da55d2893b84456a622e2a96c6a0cf01aae1492ebdfd4820bb52c0e93ebeb0d93de2d SHA512 fc9bb9b47483c3dce0adb233faa2b47ac9303786771d97e3ff5836c81c04754406cf9ebe5fef32cb879dee5ff3f10d6a81a21a423dd34f3ae1178d94fb151163
+DIST ipnet-2.9.0.crate 27627 BLAKE2B e7e1c74815b965e9cec1cd37cc3dca76671168feb689620d44d5e635f3a5fa92a7276cb3022f25a9512ffbaaa11b0a8719cc1b838a7dacda71a5beb1a992ecc0 SHA512 8ce429ba2bae53cfdaf8a7d6bf980e10b9dd515446ef3ed4e4e11432043a18e09454260567419818f523bc589fc367194bc345660f2cc808d281db235d3e0b54
+DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST jni-0.21.1.crate 105028 BLAKE2B b384973d4d991de027da3f0c27aaae33a5d1f2ae8037f0121e8c637a96382055611da753c14732cd9fda56f929b307c988f1c3f6bc2c7617e2e5182a66a943b6 SHA512 46897d5fb968e598fe39179307376305f4604db61ea5d7f12050506a6813e242c05785536528ff2d59de8a3877f6b24be15c30f451f1bec40a5c72fa3b772835
+DIST jni-sys-0.3.0.crate 10232 BLAKE2B dd6334daa6db9fae6cf1b31b9c13f09f9dc3f6a0e227bf6779880a6e197189d91583cd463b9876125cf892ffa5f8417dcc51aa010cdb8c99bb4f969990e969b1 SHA512 1e47582ed4dcf608ffd218549f1eef5ee3c87a89e28c65eeb5bba801edd6cabc0f095e213e8df606e050a57608653a59ced6f01a8bc76a5eb32ba1a337a63321
+DIST jobserver-0.1.28.crate 25543 BLAKE2B 90fb1d8696b575b16b5b12d6fa4e7bc7890f5f09110b147d65eef8888a16ace1446a789f8079a3706f0252be8a04061d989bc8fc53e6c004d6b8a4094baf1642 SHA512 8ffb33b8c162935de1226e0ca4048f36e6e90bd1731cc7f06110bc97e2adef904f777df0ca4ed48b3b8ee4f2c243b2f883f6897427867904aa3385098abcbcee
+DIST jpeg-decoder-0.3.1.crate 744364 BLAKE2B 0ccc3a7f42e471fc1fc7995fa99573b798da89911667e477a310d10b95745708e583d53776467b9d54a399047b727a3fd4c26a1387382c226f6594770b21ba05 SHA512 103b7602876069603620cc2b5530e84fdab88ec96855a821606560a67cfa26f628b401eace62ee793e6c16ef282f958ed789f5db725ff901124fe6c9b123de00
+DIST jpegxr-688021cb0a4935295f9aa8b488ca05bb4f1e9b34.gh.tar.gz 9321606 BLAKE2B dbcbffbe21d9de5709d9188086144fc56289440b4d34648a524165c24acfd45ef53d204c587403176492a53c6e4d56dda2a2a9b41aa858e4657c1c169b9537a7 SHA512 64e605477e6acda146abc1cce4974581ea0f68a13e944156c0376770559c61f7a5ff9bd2cd5324a4831e27a7467bfd80c176c74b5527a2de596399d1d1e57620
+DIST js-sys-0.3.69.crate 81083 BLAKE2B 529c94cd2289883b3b43a848d47d8ae025ad0909548a38ba93ebc684ed3edafab16842b922da6c8b6be5ba39c36a1c05057dd3dd93fc8936d5dac372937ab8f6 SHA512 506722e6dc13484828a4147d974822ff9d103d9e7db58a48181b0957770d9fc43b97605ced105c5b680d8b2cda5fa1705f605707611cb48ed8a45a96d5f196b9
+DIST khronos-egl-6.0.0.crate 29315 BLAKE2B 929d825923bce022ce13595a0ad183a3437581af6cdb19ece34af853c793dddf0a63bf8dd9a160ef253bc4e97c38d4973f667340a809455136b07dd248d2fe46 SHA512 be57e604f577ec526f3f2ea81767a5fbef0b609e0c1aff7c14e2fe658e47bbbcf65b5ac9d6dafb83d2b4fe25039550e21a165fb1d503ea08f167b039bd72cdbb
+DIST khronos_api-3.1.0.crate 599718 BLAKE2B 945600455c85874c37c7c395162a3e56531b417a1e6ce414386ecf31f8951fb40049604c27d719014b5379028e5da25fb9977c7487433cebcee4ccc49e00c7d5 SHA512 f9ed9e1bac648a82bc608bc7df339d3ef1db868c8ce8bda9598926839b3de9e3c11c2b45886b9a7dfe5ad6900770fd59c690bfe9a87f7c5b479945ffb8dfd292
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libflate-2.0.0.crate 42505 BLAKE2B 2ded808b1aed0ce708ce85754359abe470a481eb8aac6572d1b5a525cd68d452da76c2e29d57f40f0568aafb451b9f3989ac16a805486f153a2564e995cbc192 SHA512 62f1222ec0f439ae6c51b89ae2eac7977ad0eb4fe125de21f5decce98cb2f05ee74b4da9b877005b783275ed7eee1e99de386eb927f86bd75d50369820b40441
+DIST libflate_lz77-2.0.0.crate 5893 BLAKE2B 5340b47195ad0af44011906224664d561e6c74145b921656a008f0227fc5d79814c6b189d68f1b5783b167b71b41d1a81fb2eda2035b066c2407435f7bc73498 SHA512 507d24d0e808ac6f3afb9615d325451fe1d02954a48d057c5a04d2cc2416f22b88d0290000379d250ce578ac752b04abaf8c191e97350f0c44b0a839d282cff9
+DIST libloading-0.7.4.crate 27580 BLAKE2B 491faef2659270b10bb88ac46e0453f747f35e78d7f28b7d6d9151177b4c7a7aec0a1efdf702eda0988c31e9dafff2990eba4e6a9b0b695c535ea9086ccf36e7 SHA512 34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1
+DIST libloading-0.8.3.crate 28480 BLAKE2B b8588be0e7034e94c808490adb8ee6e81c29e962aec436a0d8f8c7617b3ba9177887ce59b95b2f0af00ab030bc77b73e0a889d8a77b84deb437245211a969c94 SHA512 af8fa5fe2428fa98177d6adfc01bcd6e701b0d77ac18c95b8b8d5abb3a6376f16241ccc71b9fe100782c73c843ca53c9bad465545d8bb7def52320dad0eecef9
+DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5
+DIST libredox-0.0.1.crate 4212 BLAKE2B fecbb90e2842a69f3967bb2a09b0181dce1720b60c5d762a334a279b52c00a9b4b52de72c6484603981c0c3e1cd8e173ef5e15fa290ce8b8888739204956be92 SHA512 31a9234201f5128f1519e108f7424d1740a67699828265cc725304a70f6a51e139f1d0c0e626b487857a7b421f25ad93e81b95b65cf0d3e0ad912388deecfb41
+DIST libredox-0.0.2.crate 4538 BLAKE2B 3b160b1ed9a476b1d51fb6a107ce2a5955495cd862d01854c79ac4f1cc1aacaff57f83e03be9b14f3c8fbb67c4124946aae19046620eb968fe97745d8cf46fce SHA512 4c321f6072bc4d6c32f9a2a8bc3ea64443e1b1b770e9d2626be86b3506cfb804c3cbafe376c7300efb09788510a57a626ffa65c9eecd447a2ad29532c307dc9f
+DIST libtest-mimic-0.7.2.crate 27619 BLAKE2B 2a7bf5430933eb063015e7c8613a2cab3032c6386fe9cd3bec50b9a894b4220409d1d30fd140a5076dc2b18906338f758a7102ea1abc4987dbbea07a9bbfc772 SHA512 d1078c9481775e44ea1fe7587bb6925c3be792304e620b553c38a8c21083acd686b74a2933dd4155d6330499f496e0989afbdea5b277ecc9a41d057925485611
+DIST libudev-sys-0.1.4.crate 6177 BLAKE2B c513b5cd68fc60a7a33ba281e4fc4f9a5896946aeb1fe31abb8af22d279c39c3d781fd34109f98fd010fe8aa817b9d91726887f0ee8bf0f66a3bf313b01c9ff3 SHA512 185bd84a729a5dda6fb274584c7a731652418da9435d844870a9d09662918c9230287f4ad002273599d0a3e9709a36ae06d59a6686dfba978fb7cd1c51bbc2c7
+DIST linked-hash-map-0.5.6.crate 15049 BLAKE2B 0f30e388633c60433dcbee353507f1c6857bd210f0b61a4d166a9b95067bdadaebe49d5fca4fa6ce13072e26037c6f75d46cc30cf8dc3c9cfcb3f33b33630093 SHA512 031a87645381c96beff33572e4bac1a9877e52fd2f99d39918fbede17d72291b35e2eb69e07edec20c3058554c35cc38fe85b8f175c2a3c69366136fcc71f707
+DIST linkme-0.3.25.crate 13890 BLAKE2B af9e79f651a3f1d55f48ee2cde91b5c5746419c833d908dfe9fab00918612464e235b46406eb8647c98e56b76db65e12eeafb88895d0941e9f25a9ccc7b8ca3b SHA512 7e700c904cee012005399e73069ba75bf31c583f72c35b36c20e1dec3fc3f32fe3b87d6ee2cafe32ff1f6f8736476d60bc953227c95957162ac036dcfcd18406
+DIST linkme-impl-0.3.25.crate 6912 BLAKE2B bcf05b34894390536cf878b0fc0a363951011fb2f701ddc4e38fbe6103277a4c39b11641278b43a821ed047809a86c5a3bb8a0fb9b0e15728f30631d71118f81 SHA512 799f72e1184a9cb22fb72ab46ed9444e6b3e849f2caebc59104b11e623826cbb0f88cf2281aa767b2cf14d5fbed7a33dba8a6c471dbc47d63e3a72f2a8277d3d
+DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
+DIST litrs-0.4.1.crate 42603 BLAKE2B bb5c471204b982708e4a9848aaa8ce3699cf929a16d1beb554ff422fc36ca7037c84cd7fa83a19f6c2278b9626e43a4a0524842027b6a079e604147162e6e9ab SHA512 49e03d5307d9cc31d1e7940e7931f062780728530c3de0db92ebb636b7d22581bbd9900c8994e545a8fde5d3d5564500af8fa367f54040ed01d1f18d2e48a22a
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST loom-0.7.1.crate 73744 BLAKE2B e689335f9e247876650eb1d90cbf406be917ee0060d90855adddc302ec1d215f4303ae52ccaa5a7c6454e032c5fa96adb09dd50de4a737dd981630feb7fb8a2e SHA512 1546c2d1a0043274ca820afe69586cc390331cb4972bd6ee0e42143a59ebf41bf12fba6946d94234df9b7bce6cdf24d95c7e54198b619cae1c6edc446a51eda1
+DIST lru-0.12.3.crate 15009 BLAKE2B 2b2587a602409113a7ed61d0dbc44b8b1740e44897bf9273011e6196db64a51e6973436d6bf34df7a1e534cfc0490e0bec4d83c0dcb0f53f640c80b88713974b SHA512 1768ff09e294ad7b0631a4c7cfc1773be57568329901e9c2034b1cffadaca9963180b3bf8194554bad2f9f42f6c5e67d52dc90ba7d75d929cadf31642f4a688a
+DIST lyon-1.0.1.crate 3837 BLAKE2B b7a5a2be4e96ddd974974495a61e50e782f7d3c08d8b5e14b86a2e02c55a6a3848e332405ab61d2f7523eee2291e42869814f208d41efa28050f2ed79e2c8e95 SHA512 f9dbad320ccbcd33d692af4c8d7998745ab8d86d307058ce132432eacc9215c8cfe3c42a6d5edffa7942ef892199625be5a55bbfd13ce383c3e9f1465ae81ae5
+DIST lyon_algorithms-1.0.4.crate 31806 BLAKE2B 4eb255b1c1ded57b7bfd947a503afa6fa4b7a2c6240c2442c28e0bc41797150786510daf741eb518ea7a572b2ad05db95423d5e83fcc4369448c08a73183758b SHA512 cae8b9ea4618304f0025ab8d0fe8eda47ee16fa715e279ad698cc06e8ae7f9799be2b2a786fae0133c7f2e8c6c40ede9b9e06f7a5c20cc7965d4648ddfd01921
+DIST lyon_geom-1.0.5.crate 52658 BLAKE2B 9dc405aff5616913358ee97f57de77ab8876837908640996c732a2e86f048c4a99e01fa7bb54b8f1334be008d0a7365770abc8dc1b7d85e65e0884bbee905626 SHA512 9dd99cafe99596dab3d5b35456383338d6967f6879c4f32a4a64ed9c54486a1b2765e29343799efd6a76de118a23c42399e7c009e2924a78c542e35db966bd74
+DIST lyon_path-1.0.4.crate 35616 BLAKE2B fca069c6b9d2ac3e79d42b81a1f747adba24d0ea11eb207dede801f44d76548b8447ea0180b14d354f0cf1a642483876670d84a72053253ec1931afe65d3fae8 SHA512 1532fb365386a1b9d57145fd36bd0a3e27b9e6af2957c3267f122df1e927ea855d897f61ee1f5282cbb35bee64ca84cb07d53f002406c53c1f87cae97b53cab7
+DIST lyon_tessellation-1.0.13.crate 183135 BLAKE2B c3ff44134b210b7c769b9e721a23a34ea8bd7cb4636e23da9ad6195464f462d5d54684ae50fda395695646616ae1bf7da241a04710276624b2b9133f6bb80ae1 SHA512 f70bd02f5eb630d5c56608c9a98392775feaf748437a39a549ffe37683c7b734dbbf099fd136a3efc38d9d002ac59ac84522d073565bd84815f0eac9adf237d6
+DIST lzma-rs-0.3.0.crate 29080 BLAKE2B 521d9f12a155fb1c9224b155400ada0cabe8be62a6b46f3b9d73704928446bfce653df97c73ae0951b6b1cf793a2b95c37180d5794c07a399ac581d75ef87337 SHA512 1c554b5fe33e6cd6ab069efaafc2826d3cb0bbb13dc55c2438345e1dd17de99cd43da4aa3419841ce50d9fdfa5956baff477b37a09470f48908fc1b7382086ad
+DIST mach2-0.4.2.crate 21889 BLAKE2B 137db92691ea6647ca19257abf90402344cc3a8508fe6f8760a02fbe6f56d5341a025fd9e5ef92ea355feff9f36ed6926bf70c79edc17977b65e935ad5f36959 SHA512 5338254f5b9833d41957715898ab4bc52585f99bc8f8fef3ebe526ea36d8a5cbd191aa07a218ebb6f71b7487418223e4279977294b4a6494aee8d01f34cf447b
+DIST macro_rules_attribute-0.2.0.crate 15408 BLAKE2B 3a568de49448ec1aaf2abb8c361fd84d2b257a05579b8345cc66a45ecf111e0964e46d1510b458204c95169a67d0c8a3d41b604afefb8db9f642ed60587ac05d SHA512 53dd3b4d271f5aadee7877829660bdf9a6b89f1173494d102a5360866721fc6c02b9bb1c7fb14f50e214bc16a59752e69eedad5dd1d64411a1fdda76f7d62afc
+DIST macro_rules_attribute-proc_macro-0.2.0.crate 8264 BLAKE2B c885432d9334a3aa2c1ac66bd3c1f1e186aa259a449aa851a0663b422c9861365216e4dad10e31e7608fd970391508c9ad8a232272057dd9268e0e0299109b66 SHA512 6ce9cd867b5f6fb8459e3103688aa149275718a5bb2290994a02cbd7ae49aa23eaea41aa7247a6f9b15e2572bc95fc2f94c26b401e28a76e229a0907da6021e3
+DIST malloc_buf-0.0.6.crate 1239 BLAKE2B baa59345fd372db162773adbb441caff1f6bad965c3681f244161deaee76282fa09b9af0d0642cd39ef35689f85f5bd7c2efb7ba8119a58e86c7cd12d81b2c6b SHA512 463b3d7666cdd7de618abf0cc4e488060c84d6d93c56d4e922169511a0b03de380ea988cd998f5a162b244088902198763351ac16dea3762f0fa0840fc29d6ed
+DIST matchers-0.1.0.crate 6948 BLAKE2B ec3a5d01d2fedbb4dbf5bb185afbb9401410463a61f51674e0df6a571db352b2bbabfb99cdbdcfb4e511ae783165bf0258f5163f240a229b9087f9edbd0df41a SHA512 84214c1a84952d85631aa1ab5115df7cda223ac64e2acf055b6129ba1aa26ddc87615a8b51ca890ce3fee0419053fa7fe1599ae128f1d211b58c07b0c4af3b19
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memmap2-0.9.4.crate 32752 BLAKE2B 1b21af908061e6fe09484ce5f84d31ed1751301dffb6439512b38c53f9f090cef7541b591b968d0207c6d8351ee4d5949007caef7832ce130ffda1b3716b5454 SHA512 8bba078dba73253e8ee88f0bd2202dcd2afd0b7b800d08af8af593b882cb4acff7e297a3f299e253f5adf103893fc390dcd73e882a2e7d93ca96099fc2eace4a
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST metal-0.27.0.crate 3028990 BLAKE2B 10539e6d5196fca56e35037c09ae72ae6bb293e828c50096d16fc053ea9e21e89b900f01e19cab68c1e6531c737598027cd0afc1553f4f81b88fa83957c5c978 SHA512 b90cb1e371fefd548d75a4413ea2a050341fbda6c4627564dc7de89284a8a42a95192014d3f8580bcdb26d9e8be247bb09265591acf373b974cb95159b628a1f
+DIST mime-0.3.17.crate 15712 BLAKE2B abb892b75b40657d356b6b53b9a45b2c822a05873453e919f2bbfeed9e5c06104f24db9cef2716f302198020870eaf96b2c62aff55cc11d8ca4f4f614d7c8e17 SHA512 e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1
+DIST mime_guess2-2.0.5.crate 26304 BLAKE2B 9428bf658fc2f5b98450a9a39898762fbfdb9108519f7dcf67d97093073a5ecfa06b2ef6210c42946f516d49a3bf65b5e99cf247581e276344aef91a2bad3c44 SHA512 c54e4b401cf994aa18249040f32e5d258073fb10af705c5c052acbb02cf03f0f50ebeb5cff96be91a298840def5895f9b6ffa056f3d78b748113b5374079c4c1
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432
+DIST mio-0.8.11.crate 102983 BLAKE2B 913a8e0e4843b3b19cce3eeaaff0a0024eaf1bdb4784a710e54ee95b6631edbd763e37669ec7d269e45157907663dd2eb6c9279db850fa47ef4c1eee867ea24a SHA512 9a2806ea78b0637d0cf92448abcd50bc5d09bd80da0f37752c847bc98d014baae7a5cc4d929de98be6283c76d82ccab1f1467aa6ab583a4e782d97d5592b0bb1
+DIST naga-0.19.2.crate 537942 BLAKE2B 0368d7de05f3ba696b1581792ffe8a420e632e287930a53ae2df5de4735783de83e20758eb6f95c1b8d33bd5452f619fb9ce7c6c9d9a2b7d2aab06787372c182 SHA512 521926b6704a6dba2d1dfbf083641bb71e575474a4c44aa5be10285f0be4467c36e68f5b2f4542a2073b7f59ba6d901249d9957ad10d0414c0015a5e1005049b
+DIST naga_oil-0.13.0.crate 102295 BLAKE2B 640d0b6d3ab92a6c98174bd9d40abf0fcf847abc8ab35eb8d826b2a89ce9df78c49a5ec9cb523b7ee7beca8cb56a83c508231ac8a1f7509e19aaca8fbea8a925 SHA512 1a09e456fb502dfc63dad209d308440d00b68c9d7facb8d298bddc47e7f7cef4c9a5952b4711e9fc24d755d6279f741ca2c77cea524af1bd8b1ebdf01eaca0d1
+DIST ndk-0.8.0.crate 79770 BLAKE2B 82ad3258f730bc26f91cfe231b3bb811de466ef30244b963c7b78f215cb396a50528129773a986121069d058f5b1d79e7aa8a18f4217e371428520f95c934301 SHA512 bf666942469ebac77eb2ddffed6a276098ac291d459d4b544920fa6644e9fe71a41e556d7d46ae2c23b46865d2825b08d0e2eab3bc3dce2e6f9b2d5786f1d9ec
+DIST ndk-context-0.1.1.crate 2205 BLAKE2B 6c1013410459ee13357877654303a04c2ee674eae77911d8c35dc7ebf3df2e8632440c26273f994f90f083fe20b4923240e3b9eaa2ae90faccc7e2f0021b6e0a SHA512 3e15db351492b3f1935424a4c119d878f5d771d6ca0cb6161e4105b263178e96e41cdf1e927e5f3c81a281f55dee25929a9cee911eeb4ff307dcd31fc400398b
+DIST ndk-sys-0.5.0+25.2.9519653.crate 307233 BLAKE2B 884f73ab15acf81b238d0ef06b66942949222506ff0f6deeb009348ac8870b0a8e74b4015ceceb2bf0611609ec4acd0923c2724b1240f314d0b56a42213e0b44 SHA512 380a6c0124df4bc2a835465506c1837ced58f1174ddfd89891c1784ea27508023543dfd229a5440ec1e593461e0e96b07557da72eff4b90032deb8cdf9db9be5
+DIST nellymoser-754b1184037aa9952a907107284fb73897e26adc.gh.tar.gz 5972 BLAKE2B dd4604ca10d26a1d7def7d6321a1164a6011b48d44f322128f98baccd6b76bb1220515d7f73a1ef31497a6ee030387e31ef03d30b241fdea0a6b74149e20f3d6 SHA512 e031364892d61f973131ee76b7014a90a36bf5ad14ea6d481cbd2ac5c41266a1f195eb71b6cb860ccdd5912edc166e73b420d15a5dd49d450be8ff7f70b3d93a
+DIST nihav-vp6-83c7e1094d603d9fc1212d39d99abb17f3a3226b.gh.tar.gz 37669 BLAKE2B b0f2c3598d6946e44406c59da1b74d5f862a1a0403b96009e9b8dbcfdb911c242f036898d60316fc767d1c7ad6d5f098447e1711556dccb7c6164f507a576377 SHA512 97a122659407815aa563120846eae98395f08eb4eb300b0ca1ff59526af2ee002e3932b8ca03c28945eb9394271516fbba43526d230d41c08a3d33bb0d6ca4c1
+DIST nix-0.28.0.crate 311086 BLAKE2B a07023566f04896fdb3ef8b2a1ae8dd64adaa5eb48217c58588e1b41733642e03e0637350c0ee83ac47e663c02b24d5668be751f8d199aa773de6df8b2213894 SHA512 73c0c94b360f4fc81ff07a13692b2a5b5ceda3a7203bdf1e526facabd36cdf160f0ae8fa479e31a4e4237c09bde11e9bf821aa496311cac8614f9c5626f8d69a
+DIST nohash-hasher-0.2.0.crate 8051 BLAKE2B 5f307e2bd15580f398d53d499b9013a6c62becd4ef0d3edb76f9fdf83a59c8fd86ee4bcf42ba3a8d67bbea522db65828fe7fe324ffc8d5008428570d7b2203a5 SHA512 b1b754262471ac1fb074559c264321f8f08c46c55752187f51a93cdc73509551b43008751ff9db4aa5b47fbfdda783904f5492349546ad14856fe485ccec55d8
+DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
+DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+DIST num-complex-0.4.5.crate 29614 BLAKE2B 32277724d5336443768a299c835cba63906ac91b85c57ff0e57338902e32731a0e67a93c647e6a57ae53a1b4a961c8b9ca2f6937a275e51a58089378a9646e8a SHA512 7b607f240773e4f4ff1954f46b2ee85be1a4f012e2d290343f6178543d10b69c0e9e1a93b0df8efa013c3914ad48321e1d96a4578092ae4d359acdc239ce1ebf
+DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100
+DIST num-derive-0.4.2.crate 14709 BLAKE2B be4abc3c51647f2d4ebe0c0619948cdc994c6ef808d768dd2b9274410716f524ec73c75440f7a780e4871f33055c81f800b0171e4b7a4e2214da5a3007393dab SHA512 55b951470a07dbce489ee43e1540056123d3eb7b5240903cd348951b81ef5aa5b2b1db311d1219bec8ad191373d0079bf40861e3f45380f8d8132f39d33b4f4c
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
+DIST num-traits-0.2.18.crate 51930 BLAKE2B 6c40e155d7a52267a7183d8030ef34245492d33f103cc24551b10da3eaa18e3db485062ff87057dc23e6b55e381e5c5d2a2633aaf6f4763c06677a0a0c524f02 SHA512 e395ad9f3b21b0dd1d3a94cefe0d68a42d1b1d429ddb2823696f9cd75042568a635d93d133ddb9497ed357e5b3be5caddb8e4a4af87b65882bbdc60b05c74ebc
+DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
+DIST num_enum-0.7.2.crate 18571 BLAKE2B d68d127db218d8c4a34849cbf64a8dae823e9404bb4231504ecbe02236d04d96ac161c3dc6e400a05fb458e42bb24418ff08f937335d37839b0f9174e3a5725f SHA512 a002a35079c81eb39945b3b2a903c1d904924c8417e12f54b9825ccc04a2f1ea1b1b93ec540c746926536851c2f6a9aa71be3c05a29afbd5924236b3e7874389
+DIST num_enum_derive-0.7.2.crate 17090 BLAKE2B 708f474f6be67cf1f3a63d989b6e84ff33a165f0fce98a2d82d99eee71970f2bcc2c9b58395049d0b6e7e089446a9155ae6b7d6621895326c48049416b5817f9 SHA512 f3d825aad4a04bddaa42d07ef4dbc69c793cc53999cc2b32ef49fb28499cd812896e0c5b89b9118d9def495de0caa05e473109a0937876da4c1a628964a8ba6b
+DIST num_threads-0.1.7.crate 7455 BLAKE2B 282514d1c6ebe67ab2c30f91efd5b6c8880baa078265e22d5d7200eca4f96702aad8b537ba772e5d4e680a6e90fa6919fecfcf37a060668b2a618bb01bbabf2a SHA512 60eecfe49c1afca8efa320c5f4d0cd794f6adf8924193682c903307f484ca0a1ddb56102a772232aca040f29651bbe26ddc1c4939e1f030e229d179837e06bda
+DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
+DIST objc-0.2.7.crate 22036 BLAKE2B 14a41a5ed6beb100d68601af12914dfef67a9f580f80d70c4578ad9df98a6b4496bc3a1003dec762a27f0ae71afe2c9e8fd41ad715bdb310722c8fc092563599 SHA512 7178870c8e4e9154b4c7b4953b3164946b7ce72c956a02b9ba18889353c72be735824bd73e44a485e42ad5f97994820d9153ac684629342755a6a63711ab5988
+DIST objc-foundation-0.1.1.crate 9063 BLAKE2B 876dd217b612278a522f2d08434537d468f8b0fd1efb0e58d0b58216e20f7f9fc80a5ff034ea25d9216d4d53b2d65552684ae5d5212f18d758c7937c91742a84 SHA512 976dcab4e62ad1c387a81723d70b969fb7d332e1f7dbeb2ea9a26c62fa999d91ff6d8f737ac5725a7611334862df16fa8b15765c036d7acfc3e42a745d051f34
+DIST objc-sys-0.3.2.crate 19647 BLAKE2B 217743bd549a7c3ca76e204f8706bc6442f3cc354bfe91c9bfcd5dc8780145a14d9c2b7b98412df548bf6bb7a5dfbdbe7ba5a946c5a1158b505f73efb754a22d SHA512 7cb71e8e11196065fdce0a72f0c903b635d28b673ae9c19529c0e83682d4c03d58a6d310da91fb7c953e2b184b5f02a639aed1da8546a700809579d73e039d3e
+DIST objc2-0.4.1.crate 162783 BLAKE2B 45c7475c07b67191bda93d9a92c40eedbaf662048d8aa04ef738494367f899903fd5157b0e2fb1092ce7bed290509e8267fe59f720e8eeccfed10668ab944860 SHA512 12968441fdb26a04f0c0e61195d92f13630fdb034148fc2223ab2807f960bb79a4860ada6d8a365b6932c871a27902d22fae3a61fc8efcfed38f6ca87ee8785d
+DIST objc2-encode-3.0.0.crate 17934 BLAKE2B 7522f62b00b69299a15a7f4b7e242b74c25d31b22bbe8f5db62b9533ec2ee5f7a0985ff5ddad02da50e52056ec2b829e24874fa4b74636442a4c124c35304268 SHA512 040421b6df9badbf50ed381775bef64719b508da021e036bb6de3ff09f513ba1751b8a5c663715e79d4e0bd2e67b374718d706defb7c30ab920412db8550274c
+DIST objc_exception-0.1.2.crate 2251 BLAKE2B 6e46ab02269b6c3ef7d67f70bdc3b54ed675919b9de979cb60ebec4aaf79fb2f34614ceadbeaae75e6462ba6f09d859e38208d62b1dcb7744db184d5ed34ab50 SHA512 62abb21aef920a6bebe773d4680537f135975e5057af46cf11cec787e5224790a54b1c338d62b0fc8c91b904f018a3fde06e624096af6f5c39fb5aeb4cf40807
+DIST objc_id-0.1.1.crate 3258 BLAKE2B 9a74fc17235ffdd7987c2735a7a9d136376fd13355f0561b4ecf234784aed077d1ab5aa11c1a82fcee7d47d4d36e471ca4ba3e5bb725a2ed0049a5565967326f SHA512 ec36fae6f5cefda00f3e44618b3c9fe6ec8f528f70d1a95def6421704bfa128a6e5b4a32e9dd686bf6ff60c4f87fe8094aa5e1c8070bcde58b17fdc06f49f9f5
+DIST object-0.32.2.crate 286994 BLAKE2B b9085200fe0107ab0f8ddd5c5ac82bc681dc6266c6503e4a803ae4dbdec775ae84ca4a736754b770d858ebb058342af45d485d4c9a41f57966ca1466de40a4c5 SHA512 5d03d998f06dc592c3be141f7163bd72a0e73396f95d22ef1e0ffbfc66489bf727a6f6fb813a32739609b619b8e34a471974b2231dcfa23df8bff52007c25a96
+DIST oboe-0.6.1.crate 24588 BLAKE2B caaac8795247ee9c14f02e4c572605f590930686487d7f5f3195b4f1adaa837a024d8fe2043f90b97af7832f9b8624750dbe7def8111536a2cf1f154ac6b43ae SHA512 62b7573b685ff2e64d28337c3c08c556dc6355a11ad31cfb2bf3423ef1eb6a73ff38201dd5c116580b0a540b3f76dbd4a5347758ff40accc1bbd50a893cfdbf7
+DIST oboe-sys-0.6.1.crate 169091 BLAKE2B bd2ff90400c1a2602cdce23ae7a85528a4913523416a7a2cbd1baf91a07b067f0761a59753dd35dda622b1748415cab8c9b597404a738e6d5684b1efd1635714 SHA512 48378bbc6ad3d9cff907500bc72042a2063ea5a4a0493a577539dc7fd3280cb4e32b13785a793d8a3350656b7b898b46e61ecd20116b753a54cfadfee2c545a9
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56
+DIST orbclient-0.3.47.crate 1324509 BLAKE2B 6596cba24e840b64db31ad9791cbfb60d82d46695fa15718918947040d9b8076d3134ad0959e1b7499c457dfe75b270e7feae9fc4474db5ae1a33c21e4de4009 SHA512 dd232376bef63b9d422949eaf2a210625c4b644faed72d58621ac8693ba6095c8f7a4df1a5d1743fca8d6d68e5aa44ccc0f4cd3dd2b2f18e7b10c263edeedb8a
+DIST ordered-stream-0.2.0.crate 19077 BLAKE2B 581285d32136bb9c2134f405c5a2d67c952a36eb3613912be029f2826b847919188e1b479506b46f20e0b63d371f476b99d9e7e1ee8d47ddef7b4f48451b0e3e SHA512 99976f90637f0daedeae05d4270d33bc03fad1c06a85bcf2cd7140b149f76c7560d5e60becf05a633a62dc82f7f65900eb8f510c62aea4e630b78c45dc76d83e
+DIST os_info-3.8.2.crate 26400 BLAKE2B d685f62f4273a75a5820d5445892fa5878cfcf3763730c2eecdf15fee12331884d04906b7c105f437299ee01f2999f77b6a4034e94f781bf694cbad8aab82b10 SHA512 4454fb13dbec94aea5849427742856619abe77b2209dfd0a60a8f446ce5f843b423831632786eb850d0493e023977fae705d0fabff90798774d1c32366984916
+DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532
+DIST owned_ttf_parser-0.20.0.crate 150890 BLAKE2B 47ac3309951c24f29151299512f0f54f96b22ed87ddb20d6f1a05861324cb0898ead8b12bd8c64e595b7cecc38cbe3035fd54c13d80ec660e7496fa30f573b4b SHA512 edb121dd4f9fadea578a11c2d9f323c66892b9ccb4b94c1c40ddbea1c57f83e6690b6cde45003024741bde8042f55e2119dc5b5b68e11dbc2a32bd58910ef00e
+DIST parking-2.2.0.crate 9730 BLAKE2B c6da9ea4d8c0a488a64510781b025ce07f283814a09703c58e8d46c625cd74e2c55d7e28a4c09b0886fe4ab415b128bd3114f8283d4c903398e12a11d65489b6 SHA512 184a4514322279ed093a27a9bcad5fce808900a9ebbfb624216dfcb90a5483e8bcc054d82a0bba4da3809364ad1ed0a623328cf983bec3751e4503c9670a3f9a
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST password-hash-0.4.2.crate 26099 BLAKE2B 3f211d467d43960c1d767111c679d2ee7ca004a14946409e37b4e8ea46848100095bd43ac5d4e4ab31828e6fc09e67eb0b40e677dffb086f711668c4918c8bcb SHA512 f6b7da81fa172ed37229894c426965182be1a445ccaba4351b91ce43ff1ab8cacd205b321721df49dd43ba17dc6a77e9b7cccc3a0c396572aa7ad642af44926d
+DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
+DIST path-slash-0.2.1.crate 8821 BLAKE2B b3564d0f689ad1b943d132fd95adf2ff654b61f182082bd22f7b8f11dc9024cae8e1b9f3551c4424509db17aef899efd3df96a67e1cd588ffe0fe385c957b361 SHA512 c046707586f25f13d2f9fa452ea340198f6d2e6333ca3af806b9d2d1a61d46b033fffad60d1632ec16062fa79a3710d695b923b831a7db52602b728ed31fc3ab
+DIST pbkdf2-0.11.0.crate 13229 BLAKE2B 33a9fb386ab9550cf5b8b54a48b8ad4582c95c1de7b15e767caf7b08d5996677f0926b57c556e43e90daa099fadfd1f5bcddec3bf4a48a82e7c71228b5398dda SHA512 f900766e8e84d865670977bbe5816b74036f0c2b3a30df4c8ed73680f76f0ae111472af7aed96524cdf7e1092609c2008c5f40efb9a9c65b3a796b7f3415c087
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pin-project-1.1.5.crate 54214 BLAKE2B f4adef2c4f5587ab0523e92b7a662c035882237620fc87aa3919bfd360745b587ab84cce3cd0db24f4f15bd358a46af1cfd196c2071836f4d300be998b6bbcf7 SHA512 103e58f1779cd2d6c63053e9448d0f53edc7f08f29540fe0de2dded1dd0b7de50cd62d31ecaf6cf30b1a7f1f5e4728beb2cab3e40dacf8ad5d5a7a6254527578
+DIST pin-project-internal-1.1.5.crate 28280 BLAKE2B fa30a86b1c2d1a66d7e427b04772efb68bfd7c006194dfcc458713b4dfc8c90929e43732e0792a9c33285855857f0979780e854e303322243b7654a120f74ece SHA512 f0c264460bb111ed8d0d3bf57cbb0f6a1adca16500accca4be7e5ec0d292ce6e1319c6b98108c583b85c3211ca1a84a5470f3e31caa63989f52022abafddc032
+DIST pin-project-lite-0.2.13.crate 29141 BLAKE2B c434a336716c9cdd16ebc297fed393e9106ef167a693c4aa0b12c681e03141b8ba3cdf64c310916cb7d5cc43cbbfcaaeb39bb5fb1e8b3efb9e94a3f72af914eb SHA512 7f12595d751d315de6c0d380e2f501b74154661eb676987d2cab6fdc956091a68c9cac658df45dbff73615e982e6ae2ea138c09ebb708cd6c351f0d18dbbdbee
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST piper-0.2.1.crate 15878 BLAKE2B bf63206c72b08a87da7ec5949124bb2742ec0aadb116f4c2ea86b09adeec4f741479b64e92f824a3df87ae9dba07ebdf812cbb6622853f9223f8ed90ee6dc389 SHA512 86d2195b8811bc2d30050e977925a947b175ca674e99497b7202dd8c515e09fb83e42f389ed3c6b554dc2c6480892bfd26c91fee463115ef1c710aaea858afe1
+DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
+DIST png-0.17.13.crate 103176 BLAKE2B 99bfd1c444f5967b715b81607e3c3266fb3b1d8110897e4c93afb5b6e0e28df262f9c9d842aefed922c38a5ff9d16e75cca065d7cc14ddadb3a7e9ea4776e787 SHA512 064a932f4c48c2243286a9b4cdec0487cc976291bc8ecf4753691afdfe43acda4b17ea8d48ec933f309d158df28f40ee93b5b32b3ab5252e2e7aa1ee1c0e4e84
+DIST polling-3.6.0.crate 58128 BLAKE2B 650221d0589d477a899800f6fd1de0c8c8b16a37fa6d16867e250a5ccd8d95e4814b1ba6c36cb2dce3fbfb089ea0ea76bb61be4906c10c6be5b8f3d595213fca SHA512 68af1b166c7c578fe8d4754122666760c1ba8a206186d38cae3f272ec6d7ffe6f6d585428b023f0055591f0214361d14ea6a953bf5cd1b8b1f2f2677ab66cdcb
+DIST pollster-0.3.0.crate 9436 BLAKE2B 5d61b6eeca2bb5eb58728f644cdca2e2090d2b2b719534f55c3c22648c2f9e95ef4b0c42cd0b99aac600f953de49c4001579e4f67edec38530e298a2e3717d80 SHA512 f528a948a912af3d296adbd87fb7f207754fb1464fbad145c906572e205cda82c70c356cd47dc57edc5920e1e4383a2b1fcdae471ba9e35b1733f506e3692038
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029
+DIST pp-rs-0.2.1.crate 25905 BLAKE2B 6ad747b3a5641c33d0f8815f5e755ab6a0d1750f2eaeab5da69e6b671fbda5ec9acfd3e854655c09914aafbb9f1656c601af080ccad5bba88ea8500090474a3c SHA512 bd4b50ce881812ad6afd3e03d83212ce4987828e379e254591a0ed47f23f16d1b51b555be9ebd347096ca85f6d75ee7a8190564a20383ddff57fca8993483056
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST presser-0.3.1.crate 20946 BLAKE2B 270c86e5b21e660c68fc5c4f6780371041dcb161bc2c3044e80f16bf9ee09bdfca900d2b7813679bf44ad00147df457f73687dd822e8a2af3a707f63bda553a6 SHA512 d21b42169dd0769b2910b04059aa9b920a98fb6487184d61de6e94e1891e49bcf75dd89012554bf2a5fb748d2322a87b24d8a733c34f6294b07b00fd76cf397c
+DIST pretty_assertions-1.4.0.crate 78846 BLAKE2B 68583c49f81ab0cf5b90f6de10ef3aae9b525288fec25f9d006f2eed0877c0fa742dad5f878fc78233b54c0cd32dda7ac1f7161bfb475288d8858e8e40aa9e1f SHA512 f76d38c787e91b3739272e3bebeb9763d312b85a43cda5e1311ba8d6b0e4da1ef25bd66208e772b1cf56a34553ee560482b5ad19c5290608b2aaf9c0d0f0e995
+DIST prettyplease-0.2.17.crate 57713 BLAKE2B 22cd81941d7ac701ec90b0d24946c4f6c12ae48e90500c58a95e8b04e1b3515872110ffdb9af18c322d0465fdeb4e75c4e57ba987b6e7d904115edc91b6f9e88 SHA512 8d67996d928b7ff6415f067d7bd20c5230f459f4e7f6e2a852427b19b91567e5c2c5bba33c1e51de8bef550a6430ac548156dc0fb5a2550715580b50334ad565
+DIST primal-check-0.3.3.crate 8720 BLAKE2B 9c7b5273a5df414c57b4104b9bf795b853b433da3a5d91a1b878ef9b7cdb6a810572dfb8fae11543a106760e449b886f6e10a12347f043171f5d7947b30f2b20 SHA512 d56fcee65802b1ca272515589574786dfd066099c55a536cb1076193242859074918651c4fa3c1a7dab4fd13ba91c8f6a2a5b0789a6cd24faffc092edf27d75e
+DIST proc-macro-crate-3.1.0.crate 11084 BLAKE2B 9a9d02f0f34a30668ba94e34d51199c332209c47fd8bef28c452924f75984dcf3aef2c92c4ab3fb03205d589e4f773d960064b4d08fdb2480168f10b84fafe98 SHA512 eb5ad763aa700f2cb1604c32a4bf2fad499a03ad868a22d06b0697b77875b1cc13c739fcf165b2bd547207ef6dc3bd13ceb75e1a59c596daf916f356ed27d8e2
+DIST proc-macro-hack-0.5.20+deprecated.crate 15045 BLAKE2B fb7b9fa57ad64f2920e801482bfccc762bb7b2c8c1db7da32f393c7b47414fab37234c8a408a4ca9d7072a541df22b07775fc509f76f352fb6be9fe822f84dfd SHA512 278e786f8e0c93e346de900666b3d55d366324167a2e5e553565870c4444bfe661cf8c151a29cbd3176a4905ec49d69cffb81ae1e4a129f30404f930972c4b43
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST profiling-1.0.14.crate 14259 BLAKE2B 2bfbcfe1f90135fe032ddff58c172bdff156674a1de94b286f37ac30a293b10e818d45c0516223a33d428f2886dff414f8e58f56cc8c2da436cc6afbc584ed63 SHA512 a25f8ec03c784126be2106cf478284002cec48b4969e1b959418262c0e2d594764b98aefe0d25d1244ad9c27080e15e3633d6eebfe3342994199964678f24db3
+DIST profiling-procmacros-1.0.14.crate 5958 BLAKE2B 510fe173c8b7c553af20b6eaae0454b3a8a01f1657bf15082f24271295dff157db1f7008debe234bbbafef9b6727651d0e9234bd7b10b91b1c1442a2801d5c4d SHA512 1fd6fd545b5f1e7cabd59cde635595d60335ef2e558bd286296e57747f347d9340196c88cc5eb71748f8510b2afcf4120bc81a01bc2937bcd52e4b7d632bf9bb
+DIST psl-types-2.0.11.crate 7959 BLAKE2B 287a71add0c75af1266fa1e4089da8f82c8b64e3ae1e880b3a71ebef5fe43bce3bf50f6378a228e131cf857a4cc29f3ff37c2b08b62896196a3e86ef82b1128c SHA512 c609f6a414bc1f5f98c22f9ca73e3908ddaf10e33ef43f408ab8ae2f8c544c0f70cc1a73b1fcfa20ea53f2225f60922f6d28d2e5d31a9877550c2ef3520ee2b7
+DIST publicsuffix-2.2.3.crate 87807 BLAKE2B d2ce617f07f34e5d01cd3257c53c77441dfa537d827a00992cb9e2c46531a0523b506350f85401bd50fbaa7a2af9afd2dd290671dff4ae407bcd6d8dc725185c SHA512 b6455e8d657df9f9f6fcf8a26a26b8753450b53f1ba92bef637886b6ff2c1e0273aff96f53e7fd0c6a9a495518be00f6d8f05dab0c1d76ae7e1d8481b9bbb8a4
+DIST quick-xml-0.31.0.crate 172236 BLAKE2B b83c7f485a30576027a4ae77aa23cd6284942d786f0f0a14faafdfecff646371ba15133b3ba90f820183c8537c8ac47ad3e1e7deaad65e56761bc662be406026 SHA512 9b1f4f9c32694ccb244938a9a4e9373c3902314afb6af5d2f6b1be55e5ec63fee5cf1085f8f32161570cc10fdd96f3375c7564b1d884bb152542b86593f175de
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
+DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST range-alloc-0.1.3.crate 7664 BLAKE2B 19c453738d48d09d0e076d3cf833a5cec2721627ada1e88eada2a4a5087b00dbd2784594e63c379c2d15977696a83bbacc6cda76e9bf37ca29a20f73ed082781 SHA512 b165ff007057143e1e68e8ccbca955364749cb45d7ca6aecc37c9099478ca3d954e959685941f0e505aa1cdccc9e25e43131c18d3eb447b2486254a32401653e
+DIST raw-window-handle-0.5.2.crate 17063 BLAKE2B af6170239d2a2e9db62ed9450cee9be6350fd8f74d6344ddd76acfa873d124996dd8dff798a79e8c03fed50fdf26b2731b150bd20f8dcf905c8d68da351e0861 SHA512 51d93a4609533742178ab15d4454ffca1668e2a03c2a6e742ee2a61554564c74307311a50e3992919451f4f4d30ac112284413fb4310abbf06c0fa24d85d5971
+DIST raw-window-handle-0.6.0.crate 17224 BLAKE2B c4a38ca8921448cbd8430aa2f97acb9d27a006005ebeeb5de0823341f84fb95833c16b3b6fd6adc67aa70482d082438df9a14fac9857e1ddd630191e275f208d SHA512 bd029ac635ca18e8e041fb868c75fdeba9a4540e19d10db614cc14a67b76c887476954f4aa3b42f9014ee07c5d1c002ba9c88a2a7ec8c84a1589bd71bd65c4eb
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST realfft-3.3.0.crate 16539 BLAKE2B 938f007e6857868c6618e70aba4513f4540e832558625119b2fd48bd5f55302f7ed93fbc3d5e1427a8ed3c91600593aa879ca00c33e3ba70599a1354c82e4563 SHA512 daf10b56580b486dbe8cfe3542a77f4a230f1cd19c7b057672908bb2db685b5c44e983c5a7235f404d5780ec9b17fd0e620049bcff62412ad6f093c302744e46
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_users-0.4.4.crate 15438 BLAKE2B 5f44e9ef20f1a6c8b22239838f8f6a6648dbebd5b4386b3a2c417e39add8c4a0dc32e4369b8bb4e0ea17678140f596b9bc981b1d56f06de6a38a503600420481 SHA512 7c208116d1171b1f52f22aedcf8ad00076a3d1f062f4018f4a9f5fb2c38d7ed83258589062d1559f64e43f3e2a9ddf789799f57cf87a49ad8a37463ea09aa269
+DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
+DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
+DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
+DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e
+DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
+DIST regress-0.9.1.crate 329053 BLAKE2B 9122a30c7c3c2b618dcdee2d7a7998f179cc45e9594dc16c9670b32361dbfe747b5461e93e6adefeb39a1c1eea47ee38e30f54f540de6c093465974056be441c SHA512 24882c0867ce3170469c41225a140b836f9e434942020f034c97798591632c2df91502ab454f0062e37fceb5a1f423132ca25ab1ad4afcd9d987b668de8ebc26
+DIST renderdoc-0.12.1.crate 42334 BLAKE2B a964705c16d7cf30ba15740b5cbffb85be8511279890c8a19304e55d832be1a50a7fe3a0d39eb08794fc1f3f51ffe034ffecb717cf0307861f8e47f04666f61e SHA512 e6be1af1828e06a8413b9b485000e93b89d1002dee7b43df4baa7bfbc80b2ead98178b8418311d00f565d1a3412f3f8026a4415f94ba3483c8623f458964b252
+DIST renderdoc-sys-1.1.0.crate 10366 BLAKE2B b8a45b84ed2d258c684b8056eee7f699bbf2381034aefcf77df0481c3f07a0705b46ab89d462d515bec752f22de689ede3535be5e826a75b84adba54ade51abe SHA512 a9535ffe9fb0a7c38133a834419f5b1f9b866e116569e0f31f2238145a63e1392d4f24186504cbf40bc67521842c1a977c0dcc53f5a12f45366b6c44484a64c9
+DIST reqwest-0.12.3.crate 168057 BLAKE2B c86a11a8f27e0a363d9aa8b5018fc1383f60f7098c31e3c550d2ebdb5eb5fb9ee080a54edd7e64e743d254e35bff7eb2470037d79a5c15e7ef578cf8f08fc985 SHA512 1e9db7af229e5f2ab2177adf23a544a6024460a57bd5832f585db513d6124f4b42ee97ed8a3ae3c70cb29abe63a5e7e534a5f834042a8d35c4fb97b37bc83c9d
+DIST rfd-0.14.1.crate 50342 BLAKE2B 605a73c7419bdfbf67fe05307ed9e7105c5861640e9adec59cb0b71606df94953eea8c2d96d4a3813af9b4a750566ffa558199ff8bb1203e579ad9e226dd9bae SHA512 ea2b7182a44097161a5d6d99f1b770d38539c8d7b34c2c4064a8da2e5d8440a242c6f658dc0de82b82f60c4b43a52c6b7d72ad5d930248f7871715a46686a8c2
+DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358
+DIST rle-decode-fast-1.0.3.crate 62086 BLAKE2B 402d56595936734f36597c18e816a798ade6a8636b27e79acdedd4069da38e22e6ded5f2358ef0f0d509ea752e828fa294a4a9ac6d99cf26472fe21a505302c9 SHA512 f647cfd9ae0bbaca4a189cd1f8d1f8531f6dc0ffa1fd296c75cfe405fc9060e25be74581558a9195364ea90e32c7ccd60e066d21704cae836d41606b5799301a
+DIST ron-0.8.1.crate 63251 BLAKE2B 9d9724cff8df112c1590c0e66e897a277a7bf8a180849db4e8834151fb53639d424e19124cc9f3a5c4f977d49c824686c73f337e9ef0f0355acae2b1b43a4d14 SHA512 d0d9eb18632c2458dd3e8fa8ff365a818e5214c88a19c11421c208c31ebd75236bb20fd74ea84942f8e71bfbb02d660f965dd1447318b5372bd16d45d11fb920
+DIST roxmltree-0.19.0.crate 53547 BLAKE2B 0bf23bb050dec29cdfcd66bb231ea81caab40aa54b015c5480fde7dac899128438ecfb10d818dde456db8ec4cbeebc7f32f3c8ff17594b6a78c0f04f0361555f SHA512 c8eeb974d797316a8dc332c4068b2850eee124a13b0792cdc8acaefe521d8b40161f9159bbfee2866ab2c4f6133ceaaa1b5ed704a5f0db5ae3819d76042cbf36
+DIST ruffle-nightly-2024-04-22.tar.gz 91389255 BLAKE2B 7ab6a7c2bbaea16e7506037af2e7461d5ff28c283477254a74f7179e910316f8bf73ce9ceaa26fd82c4d53542c26b88617870861db5c9bfe5be6e37415aa75c2 SHA512 9b59e24ce8e0097a052da4506deeca64d5cb35850cbae4cca1938c0ff0f69a202313a6fc2bc8a06e5109aa92af6a6ce50da843c1b578980caace975ca35e3581
+DIST rust-flash-lso-2f770555ea49c6db49c57c1dd46c7cc686e8dacc.gh.tar.gz 688059 BLAKE2B ddb791fa4c455a21d0de0c7e27a61658517f52b672d850a9da08498bfebba4ae054663b9171722617051b61e7a962a2b90be04ef168f53512a35f58ae9e84104 SHA512 6c231443267464760fab0a534c7dfc5cb8bc45cc722201133bd178eb40785ef126341b8a61b80813f6532142290ae8f7033994834f933a3fd0fabb6d02ad2a74
+DIST rustc-demangle-0.1.23.crate 28970 BLAKE2B 611d2e41a8a9799db2f8bcb8fc8fefcda361d055a417d2bfaaf2dedcce9d6f388c69d905a28c65e6691b4d408d7922ccdc97ce524c87c3cccb8467e314bc87b9 SHA512 8cd29800254b1305ad50f1fc008838c52d9659f97a51a68e9f2bd6d0a60126f3ebdd1c79760f96445b3bf998d0773526ddf663b174acca81babdc0b423247247
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
+DIST rustdct-0.7.1.crate 41849 BLAKE2B ee952bade816e4bd1fb44f8b95288b5b7c34efe8b2006905ce62f1dfc1d6f6f33d2d9da45d1b32d9ac2cdcf0c3011a0588c56fa84ead89f3c5f0ed582a3ae849 SHA512 6679df13888c1517fd8c8bf458e201b49e1607343f04a8eef1ccb39a1cdda673bd7835452a6eb06c83d4b3ef1e831acf24561721477985d3d52be931ae4f6493
+DIST rustfft-6.2.0.crate 363170 BLAKE2B fb77c741b16d7dd833901914e91e5fdfc297639a91f97e47746a19b678bf12bd408327635f0ae3008113cbdb89b4b5ad606f55f67e835535837f560ea1642bd5 SHA512 c8f4bbf66f3c7c990af36bacd65240bca2c6334cb7139a3f92790e66ffcb5ea62757a469a7aff56ef602a79ebf2f860dc017a1ef8bd5a896f8383183f3b179ec
+DIST rustix-0.38.32.crate 376999 BLAKE2B 681ea50f5405b3a749a26a481995d3a85800378067734bb857e32e5d3764687b0da4b3749d227174440e432b374ae9ada154a8288e4353ca2ff1b851698477f4 SHA512 8f028b4df785aa78fc798f3e053d0a4fb9b3c552a47f66f52f1666f4c1324441be6581ed643c4ef0f56d92e1a078c6d3b45be183fc3df0ed1fc89de0d610cad6
+DIST rustls-0.22.4.crate 333681 BLAKE2B 01f84b7f44883c807d8651b6058647180d6e9d48deb51fab0e76d7b587ad11face13215170db3bb7d0216505eb108438dcc3bc08ed2080816401f3955f73fbab SHA512 0b62c741b73dd49dd9d5531c9ae749fc8eedd4a396c5b4c02b1b33062d56c84e327e12f5a984b9ca22c7984103896d4ac69899032397dd6eac1b737e0647e2da
+DIST rustls-pemfile-2.1.2.crate 25928 BLAKE2B 790545dd6347badda8f67bbe67b8d4d7de9f24c134857840d7ba2335f2755cf03c05b26c16c8b1e397b3257cd39a6d3a333103c2c3ea32ccf4118bc3d42995c2 SHA512 35127c68250c31f2fd6924355ec37d5318d8a86ad38da48e68b3ea6e241deeb019eb967c510e95230be6d6c3357b0a85aa022942d21a50423632f8e2496177cb
+DIST rustls-pki-types-1.4.1.crate 29437 BLAKE2B 82aa975c98e9d583ea77e6811fb6be7f7f35b9535748e38ce67424159f1a4147b0f0ea690312151a331a03b446b7aea60c13490f3ff12ebe6e9f3369c9116337 SHA512 abe47dbd2604fd4db0df59412ec8f44b6dd2cb9bf5d67e01be6c5428daa3924151d4d996b33af387a31564cbe29e1ec1e9ea1a0ce98e7aea19d8bd7dbb0d66fb
+DIST rustls-webpki-0.102.2.crate 196881 BLAKE2B 783877064d2cfbc9078d33f081b2b1edfe43218184e60a8a3b3917ba0a3ab97a226f677d4bf4addef5d19d29ac63a8268dab5bd3cf973d64df866e3e71492f9d SHA512 697d44daa5e0a8ea2d12aa6f68026eb63a6e1c4420ee92656c9479df77e3f672ca2525442be55ab6183111fe594ac85661647150326223129ec23686792f6014
+DIST rustversion-1.0.14.crate 17261 BLAKE2B db30d01914059a893bdb4c448ed0bf04852085c2d948bfbed8819a1d2317c34133cf609abdd806ad628b86974a9c1ab9d09f79743cb8e13257ef32cd444f49c6 SHA512 466d753c28c4899ab3da3e9f3366f7ecc435d484f51e0c07acfa5f3367af0de27ea3bc75efda22159b4990c976b1466a27e7c31c834c72a87d8234318357454b
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+DIST safe_arch-0.7.1.crate 76930 BLAKE2B 7083fbf6b390dd238f22c499b725cdeb21fd07fe1b17a6fda183ae2cccaec22659dc6c154f4b0dbb902648588a77e0c457c79dfbe3f3fc4029a912e2fb1249bc SHA512 99c9c076c046a29bd8c6430b41ff37e3604490b9cd83ce69edd289ea22b511f1e70ed477164d5edae650fb933a7fb01713ca7a5b3dace5df793a4e80c3154ece
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scoped-tls-1.0.1.crate 8202 BLAKE2B 20be49f0546691bcff3f0fc257345e432e200836a60b297ff3fe698699ef6a2fe8a5dc6977902a08f7dc63c578aa27607dae0f1889b849c257c59c48a458e1ed SHA512 342f43d53edd33ea3e2197faf5dce37bfbeb0b20b6f0febad4dc6244c3185df127b2c10488e95561260a0ef968f32707460f2d0d23667cebece19b167c0a0c25
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST sctk-adwaita-0.8.1.crate 53712 BLAKE2B 2d54470cc5b8f3c6bbca1cec1760c5e647973fc1b377bd0397f279213e81d792f0ba31b6b81dd84599b41d93cfd014abba890febd9987c94ac6c6fe8e139bb1e SHA512 7eba66a3f4f7d9f5e33615d0c1245c211e599106573c8d68e7e6a07a9d297261f0a01fd31b90a3ded934b4082e722ac93a5004acfd56e0aff280597a715d58f1
+DIST self_cell-0.10.3.crate 7308 BLAKE2B a7297b9926d4351d4235e5fcc4084929751a0bed37598729ac519f23150464b6369ac055d3218f3ef101c9ebcd7b1b74e03581051d773493e7ff5f11e369f06d SHA512 4806034b1d28cfbdc1d47f32ca0bf9c5a87903d186bfdcab7d79664a1604ebaf8f709ac9e618af81323b247d0eede1e7dd8b113cfaf7a602250aa689bd2b2b6c
+DIST self_cell-1.0.3.crate 15147 BLAKE2B 9b53b0568dc4ce0c7372565eef14e593aa25e262d7501da6e4b8cd7807f5385977f9bd3563ed39a6fd4e07c824847d0c09a2a750024a800229c7a57ce5e8e325 SHA512 89a990f8a59cdbb99930ebbf9bb6566b77f03f1f551e49b207c865e7205541fd9f0342d284aca5f3d054a24520fd438b6c53baf48c43fa28dfbe8d79fe8c7e00
+DIST semver-1.0.22.crate 30446 BLAKE2B b77a951d959a3685b0373c80b9991a8567f8926d093b23b7b8fab48595b5d565acf7408fbfc8f4d58331f39e316a8068885d28bcd70c1476d1cda436a2dd88b2 SHA512 7dcf9b6a02650d71d6c9ab3c29e44fdef95af296208f26aa7be6fd6e16773e5e5e66418c303a0589d1165df6dbfd46ad6ebf9eb5b3adab25a51f340947b2d949
+DIST serde-1.0.198.crate 77577 BLAKE2B 10d18e00a17f38e6eca67f78a3df6bea777053b4c510be7fb89ecde7d0ac2ffe37399031ea0cdc6113a0b80f8f3f1095271bc6aa3f2147e2d675cb3f5df713d1 SHA512 561e4ec8858148e9cf59f1b824c489ab259b63819e6b031205db8d89b30a5b0c12c3828fc587cef67316d1b9752f3618d089fa21b3a27cb87a074d943f27c7ff
+DIST serde-wasm-bindgen-0.6.5.crate 21098 BLAKE2B 34b7a66752422c21031fb21202c8405c43a1e6758eb067b4fafeb24f812280e70bf16c27bbcfa4b4b5723e369bca81e42020677787a79277f32f71eaab6822fd SHA512 c457b1e8c83760d94eaf8eb49169cd620cc1fd8246af8953503c2bea9c4ae916f3de3b9070bfd4102a713f8d843b6ee96404e27b21a48c589b444aae0f9303b1
+DIST serde_derive-1.0.198.crate 55787 BLAKE2B 6fb5b68d3bd0010283a1f61d9af5471845d9f2f5a6b476245348c6bf3d3c5d3026325de87cc8ffab0300d31dfe03e093acc40e4a7f334d33b9d33cb8e03645c0 SHA512 f33fd1e1ced08a305a41114e354ec174e09c8918e28bd486549ffbb859a139e41b5de27932cb24767f4b3db4703c25e6987c55c9b3ea566d60b9f6cd893b38ef
+DIST serde_json-1.0.116.crate 146790 BLAKE2B 20492ac3c431fd3666599f079383a9d945549e02357127a58acaa7011684ef0caca221a253218402ceff6956ee8a20cc41ca3394b25bb69669be75ab22b66a1e SHA512 d383de754b0a50cc4ab3e6378b758ebd6178ad32ebed80cb4e32a9d8e81d0c689585ee5cd35f12b376e488d25ecfaca659be943c9bb4104b63a1c4f9ded2f337
+DIST serde_repr-0.1.18.crate 9974 BLAKE2B f6a8b2c8bc759bc8cfb3826489faf67da13b1cbe2432c30ec877036924869b9cf7c1ead2809b8e5852e352b51c91f40fa892ca68832ea567e4a7df29f8590a98 SHA512 09d77ccc60a748f8c95998632459f52268cf45949c0e22250f751eeaceb7336c03a457587af7bdc6fbc188cea4e15e77c8bf63d9741a9ae31fd0b8e787cabcde
+DIST serde_spanned-0.6.5.crate 8349 BLAKE2B f4f8f798ae3a02c0d5178aa12a94bd1bc08fef88b6a81d782ba07ba36fb0d89927ecf621087faf376b6e53de12f6a96e0880ce0cd01ecc31c5dab7dadc6f3ff4 SHA512 bffe2398629ae5a5a5bb6d5fc2fa0f4b94d02c96e25d1be2fb9ad95d8ca2fa9bfdeb3af11049ee9c050e497f3beca108f03020f88f6de29b208063c3898af354
+DIST serde_urlencoded-0.7.1.crate 12822 BLAKE2B 38c74ea862f041828467dfa586bad9b8e1d1d64a9f82fb7f98727e3965377d00e59f2dbf20955a9dce976b6911c0a619d2a6e4cc9dfc73cf0f6c449d873fd072 SHA512 b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60
+DIST sha1-0.10.6.crate 13517 BLAKE2B 85ad8dcd237125945f6f9c2d7a48bc9802dfe8398a2bac86ddb96763486092fa18e80a2e69f89cfd6e95599d34d60ced33b26a68cbbe39bf158238a79433584b SHA512 fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f
+DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
+DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST signal-hook-registry-1.4.1.crate 17987 BLAKE2B f1df8bba55c72a506b9210347f9dcac4d158948e73f6d1e60f43340ddfae368aff1bbb6a109af326af47246d9738d49f76d380c52208efc3c6f79ea0acd31f0b SHA512 e83acec2b0083967555f6c659dfaacc32d851a9485c9f6f4b4cf257742ae3ffba8c14708c75f1a5520e9d132ea9e21d6eb65aba492eec481e8492af8b798c5d1
+DIST simd-adler32-0.3.7.crate 12086 BLAKE2B 8e0ae18603b344fd8a6573cc3fe1f8594ad542619a6e0d6e8f62e356a3a97409f4de3a215d561b8ed0e063ab431d81b63967a5a0b6561c45537a27ee84eaa362 SHA512 2976bb7fa153854ecd0d68ccdc108bf81d5da374839d53ce9dfb27e80d8db258bb817ea3dac73921e408541d75e2797b6d20fa63c42c1e8a935b6d75dee14bac
+DIST similar-2.5.0.crate 51648 BLAKE2B 43515b3014ff75e2a94debb0e40a081d60dfa371bc3bc3b3a7944cfbf2e326a8a56c6aa26ca2b6f9ab6f32929a89da673ec2fd4f037c07f8ff91ca95a77b1fe1 SHA512 7206380b6e4eb496b1dddc4501ac03d716bd6b5228971a35ca71f507940e799410dffad7e50e52c6f8fcd43c570ecef23220962fb057100665343498a5ce118f
+DIST simple_asn1-0.6.2.crate 15992 BLAKE2B 3abf422412f51d0f8d3440c245792b817eb3333d58f27146109f11278b8eac4b49898264e266de3d00816319aaa822eeb0d1115e46f96f2c9a971b41a3edce0c SHA512 b2ad0042a4492f8cfdbf475b52c87431dccb91444ba3ed026adc488c844d1182a6ec88fc833b5dc0c2ebfdd6194c5b49289af71c151822228b8ecf89251ee9ae
+DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40
+DIST slotmap-1.0.7.crate 61390 BLAKE2B 56f7ee840f848f2331bee7d7e31aa66f2185db5b57fc72694e1514b462dab8f673442c36f7b9260d5db7b68a522ca76f7748aab774246bb12c2ecfbfd3e7bb8f SHA512 f130275c506a3d648b5d66acddf7ed88274fc381d8d0101ea5b3ad931069d4ca46b856d75311e95e09a23c009af343c7a4321023bd1d065d3d516a0b4b8a3080
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST smithay-client-toolkit-0.18.1.crate 129920 BLAKE2B aac37c6705b04e67fa48bbea9e1c276d1b105ba5c53ddcb78983261ccf6fe8139033ecdc7d108f67ce662b3e3d6af63234f0b8b2ec19c1c5d5afde5fec81cfdf SHA512 0a6570af153abcca4162bda695422c321b8040fbd68e1a822ab7409050e2295cc4f89465b2bfae3467f19b114c321fb72901356dba768a30151d5e2c08320297
+DIST smithay-clipboard-0.7.1.crate 18456 BLAKE2B f9687d74751b279d570f4ed93ef931a0fe4a6d7409f553bb9e4d738a154dd39a244072f3a5bf3d8ed7f1f159a3bd13ef8acf2da3085ffb8b7f00f837b2fc3154 SHA512 c5cc982efb1a68f1f1dc80eb5c1433edcdc48fb36cc9209d0d346c91da895c5b15f9f3dad216cce52a251e64c45d4044720f184d5d6ccd2706b56878fd5c6591
+DIST smol_str-0.2.1.crate 14689 BLAKE2B a1bc1121fcbd42fff6248b74a566ef606470b733a9e37211748512a95f3a0710ebdabe6f96d9b2d2482a8a546618e428e32fedd38ca893f6ae87c52a69948a7f SHA512 97ec765f3244210adac567a36b21436ab3cb387db0810b86258b80161ff4858d34e148fe34f5cf351b4355ef998b017d216749e12c154554fb36abe37bb541d8
+DIST socket2-0.5.6.crate 55270 BLAKE2B 10eb32486b9a2908e05ab24620ad7a79243e59c2c2db5a7793f87f32765745b21746423d5b3896ef37d3dc9e76410fba97826cc64cafb7dd45adb485900c2282 SHA512 10f14ce7bcb9fabac56f98bd34ccd6368dcf4ca245ba2df80fe0f1157e177056eeffc6fcfb1d1fea6e89c0eaafb99d8056fbd10101031d3ccabb98950ec563dc
+DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
+DIST spirv-0.3.0+sdk-1.3.268.0.crate 30802 BLAKE2B 8608a8613b02bb5c9e5258bb604db55c81d289664383606686c70f314e5bd31d5b4b0cd1e0b77c8431c363e023861c18a08f642b690a9ce01ce485d069bb6a25 SHA512 82187b94f32ee784eca112408e61e3c3ca8c825207b4c817b2b87900b252c514d137e6ea5e9384a2e241d5352ebad0e153a72d5b3db2b0dc938aaa472d3c261d
+DIST sptr-0.3.2.crate 14598 BLAKE2B 0ede8a60dee9925fcb39377c2e41b2fe5ec760a2c9e3166f4f8dae35c34721848d328522897403fd60808135b11661d373b7fd89c7127367a806cefa8b914d8d SHA512 cc26ba96f808c57d6aa5efe5985ea3e83b65827a7d163837c81a06fdd4f178fd5bd86e4c08d7383a10d94e63bb97a0f6c151b55cd79c9c26f3a8b7a0c6e5b530
+DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
+DIST strength_reduce-0.2.4.crate 17859 BLAKE2B 63ad1af9698ed3ced72f7c0e6d8c62ec35fd564d179286d6cde8975280dbc901303a3be5664b1902c135924dde8a03447a8e837ff0cc8037db50b053ad3c2c9b SHA512 2d44e54e4cf78f718faf482ade6c33fd42e73187a7e4fbbe41fa0905e6bf1ad5f5241c3d8ddfd7b18d9bbfa3f331c54ef2d817b254e1200b50b146f04327f157
+DIST strict-num-0.1.1.crate 5104 BLAKE2B ca255ac7afce45b8e2dec87cbe080730959315f753c69bacf1c941617d5c3513e57532494409bec29acc73928291baf98413cff6d0686ced10804ada2a26d361 SHA512 27ced0b3110094b3d8a22b60c67980b7416debe5a22b0416a025dcfc8264fbc1ada1ff73362383ec605c36d682245b2dface093cb6152852f4d4b28705f8a197
+DIST strsim-0.11.0.crate 13710 BLAKE2B bdc748ffab302c8e1d3412663e300c399ba13bfc0e15b07101a680394204af2df8897ba784dbe57b95c4fa9e732439d0f5aabb090b1b1c81f066bfa125919419 SHA512 ef4165dabaf8cbdd6c58420043cff9c0d1f4bc3ed53de5973b654bd71ac7d462fecaa6e1b750fbcbb8e19b35f6e6b73641a17656b20f5562b6ba7d84e69de226
+DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0
+DIST symphonia-0.5.4.crate 12039 BLAKE2B 9bd9230cad0011a014471ed2e01160a2ac7e31383345e7befdb7e7d44197e12d8de86e9c399743760f79245d85214b6ac99a1209c06e899d1e1044e6e32f6c60 SHA512 fba7aee862ea3225790d6e527f7253a08c3d735e4d3eed8812c551b2fe180bec116bceb1f4718ffd1af53e48156b4f4cbdefe75657ca1487481757f7e8cb9d13
+DIST symphonia-bundle-mp3-0.5.4.crate 60104 BLAKE2B 1d7a86ee6092c706be3b622326615d161a48aebf16dea96768cf986fc9f7b295a59fdf85b47495d3444e05667d619940220df8c73f7f5a114897fb4257ff2c61 SHA512 19b2132af39be9ae7d74ef0141a637db0a0f3d4df6405331bc928a6bdffefd783e16fb75f60adc08e0235034a9862228355871b30d2adbf4d412a539e7843d56
+DIST symphonia-core-0.5.4.crate 98029 BLAKE2B f65a92cbde4b91865d088c7a7727fedffda325450281ab98f8ec93b1866d88e2ae6ec8bb25ced31a716537d664298f82658914d02c729af9f9bcad0bfa8bd160 SHA512 3f2265b9eecf405d699779d66014017f6654452607e62462bdf7914fee51d812c63773d0d22f78fa099df67a11aef375bf1859258ce1ecfb07a45c175c686888
+DIST symphonia-metadata-0.5.4.crate 23343 BLAKE2B 2861b684047bddd0f4a524be213fc15b1287d9301563ee862a1fa69f50eaf6df07357616c33ace46066373c55868ed7b40655630051e0215ed230a11e2e34d20 SHA512 b1c0f37008d7ef5d21f7da5a93fc68920c0606d9745e79a7f0b9120b3d92e5fcc75a67bb5c0528c9647730fa4212b6a589e3ac299ce3bfa5e9641c1de0bef18f
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST sync_wrapper-0.1.2.crate 6933 BLAKE2B 0ec797ddead298a95bde0a508ae942a4e90943948d3c1e4833fb3ad1cefd3566b7fd1aa0b133d614839707e3f416e3e739099ac73441527213da81b6d1c47d50 SHA512 ca7cd7a6dd242fa420e8dba820117d85b1b11ea6a9fd99c92a5a260f12263cac0c034c9f9fe10090d5830fb5bf5eefc8a5a0d0b5a40f3f809d69e5393693d5c8
+DIST synstructure-0.13.1.crate 18327 BLAKE2B b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2 SHA512 09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
+DIST sys-locale-0.3.1.crate 15681 BLAKE2B c60d11812280b8e0c1e5a753c7867351deaa43d26bb3ce0b381f56c2f375ec8db2755636131a13fadd79aa6d90b75c5834dbf52848b9ca50c1ecc5b627fc640a SHA512 c06ff352d5beb9d214f08e82b8d49acd8b83114e6b88c9685f0694d42bba079215e6afd1c5c75a8e8bfbcc72d99cb01de7a3d8f160196adb6db9c34bcf1a1ebd
+DIST system-configuration-0.5.1.crate 12618 BLAKE2B fa75a24f8db6eafe578bcbf162fcd110ca059c58af24916acd64959b48d8541e0aa95ce2c929a8a50c62e7e8a967de9101640d1da7805fce2f76b7c5c86c4544 SHA512 af77ed5be890e826b9b8f975bd2e63f3905adb24a597069a887ff2a861820f1ed40582b918f35c3d4eb063800e179b93e5acd7d5b48b147e9b16e3cf4c12840f
+DIST system-configuration-sys-0.5.0.crate 6730 BLAKE2B e40c4b5e7897cfe30b2fb6daa9b44fe2b83eb2a12d798a1ad8908b51abc735566becb0e001f52f5f8a0d3596f62a9eec631341c3a9cbd132a4f650f988c74b93 SHA512 764168ee5efe1ba82e847ed74a14d1f5f1892735e98657c3ecaafcb4b405d4f779592dfaade252f6a577ca2cfd5cd5e467c0b6326bbdcfa573c3ab01cdc8fc34
+DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39
+DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
+DIST thiserror-1.0.58.crate 21025 BLAKE2B 2915ed6ab691fe94e97a834ce5874d37a388c3240499889cff633ee6c67d46a2ca88098ba40c225ca0e2e3c1ac7bdcfafcfde3dcefc50867e299dc49505d6fc0 SHA512 3cba2d1f4965bc56bac8fc70540d8cd442ab6b8c7d25d328bde7f4cc108535d83c75f293316d730bbd86eb247400b6e35107d610c7caf47f43a28b1f52fed578
+DIST thiserror-impl-1.0.58.crate 15645 BLAKE2B 9c6f643a582666ee4eb43330340888e7141f0dd89d927e3345268c3eaca02fa42b018514ef38b3db3ff9722b25ebdd43c36b11ecfc7bcb36950ce2c204ff78e1 SHA512 9bbc623f54c71595e48b33bdb3e4f12eb2e48074b15ebe400d6faab43410b363e5af94df071aaa324c59dc6958173e3c301fd51b216969f095e19cb98a27292b
+DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492
+DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0
+DIST tiff-0.9.1.crate 1423953 BLAKE2B d01949cc3a76a32f2e802a151a4c1d4bbe47c7f217f198f940293d02fd6a1a6d3087c66b3fbc099da3e155f959774d2a9d4d8c5f5f00cd6486f5f44571a1dedd SHA512 82419e671c6a896f1d639d46a3c5a019e3bff6c75d961b838f5311e5ecb31c3baafc5f88fe928e88f6b3b31881a867ea4ca9905f43e3e24f77f183260dc27b93
+DIST time-0.3.34.crate 118430 BLAKE2B 6d04a20596c9b0961ca104748d9d360f07b16059719d7410fdf1a7a0d5f2aa02aaebf640999464835964bbded2d3257d79c4b0ca3080fbecf13dd2d0aa6962fc SHA512 3997e1b8d9be2f54184ebc9e1355d4b65f0b7bc9439b2b29e4a4acd86ad3a3aa019261112a24d998d76a7f66b266a86536fa50412279911b14d4d7aa7078c116
+DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52
+DIST time-macros-0.2.17.crate 24443 BLAKE2B 5045af9352961db0c97cae2f6ca3e8d2c4f89a129c7ac2ec1d8d20804292aa9f2901a61f910a564954614b68f39311bd381deeb66fed8bdac423227d077f3d14 SHA512 c81747f0b74e68d3b3f36d378ac5911dece8c6b511e5ac793807f854cc31c812b927d0df941f55ff90d3d67512d0ac6a5f63f2de4322c81b05da42f46b4a661c
+DIST tiny-skia-0.11.4.crate 201082 BLAKE2B fe350137665e6229ea707bedbb535b8d5c3fd24752ec9c97e2a6c43b28ce7fb9107935a6f91074e0613dd2a156a45dde695343cde7ca78f3f9079636c5e1f9d9 SHA512 1371fa11934c1223169fb4494accf3b47958003e19a603e8fde446216e2c1253a6ef80da5d7bf3c9c73038f5282e3c47cc5f8eb87f8456cc5706392b28b4ecac
+DIST tiny-skia-path-0.11.4.crate 47764 BLAKE2B 55b76adc467fb4c063ac2136271c353b92254f20a68e5205395081582c624481687bc319845e217868e5f2c54ef320728d0b2ddefe32fab1a17b90882168c2dd SHA512 723557dcb08cbdbc4d442ccfbba38481b922e367cec07fa23957f9271a96d1c656fd46bb0e0b5609686e5c830d1a988b0e209f57d0765d0afa738e5b2b0d8dc8
+DIST tinystr-0.7.5.crate 16366 BLAKE2B 00a5eda21da581ab351dbdd2591960c027d0d1e35f00b2b1049cf78ce115b4e7f9583ebec74d0a95c79112d2b4fa60ab8440ec83646542d8c73236790c07ae8c SHA512 f6f5ee490049a3572d13305f1431d4882f201c81bacb0e0a333e949a0a955c98d3a0d347b1f31d1fc8eaeefb4690a3fe6fb18e82163b92d10b757a56bb5610c3
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST tokio-1.37.0.crate 764297 BLAKE2B 725f3b62c52ae962623df84c690db7c54438581b8d2108dda76f05bfabdf1688f2de8b4fed2ab0db5c04c7659af8d95a7e19702654a12fd498d85a1d030c7a45 SHA512 fc3c070ed0c09e57205b76618a93b8b00f4d74c2ad89df3295254ec2a984f4fdfa9ed5472ff935e1644e89cf2abc44354742603c0e006f14861deab2b873cd85
+DIST tokio-macros-2.2.0.crate 11520 BLAKE2B b688669f8bcb44967fe0d3db51fc5d5f86da3cd0c7eb7b5803feb250ea3444d134ecc7f79345f0b947cd3479a46659f3a158a04e0edaaa52deb8d343deac4761 SHA512 7e33fa62e0cf4b829638553a51f849242788d217264437444b3bf478fb40be26800d5cfd954b1bcdca1e5191b3c6c60879050f0f7e707461f7b090ae5025e0c6
+DIST tokio-rustls-0.25.0.crate 30541 BLAKE2B fc85306724dbb91efee7924340e0cbf4557cfeb149cf11dca84e37ca96e6ca54cbe774edaffdaf313da11af98ac03cca23bb7c2ff6ea551f5328a3bf3ee9aa02 SHA512 4e04669ecdd8235edd438075e6b125f6473e117adc2ae13ceaee7668705e81a87f97242253f51dea204fa1bb3b9f8f9f21b587b4edc7c2e58e375f5537ee5f95
+DIST tokio-util-0.7.10.crate 110508 BLAKE2B 073b25e1484d54911bc15fc2a4b3fb7658f24f7f77a2382f9f84c5122871cf8c5d6097d5c784cd75b17a79aa63eca80644ff54bb496b52e53bb89650ce35cab0 SHA512 d77db36cfa5a2ace3090874d8996b9e94058ac31648308da8dd92a7bdc9b9b61adb703dbd2131adfef0b428cd61b4de76fbdb674f718e89b297f762af11ec50c
+DIST toml-0.8.12.crate 51145 BLAKE2B bbd5b7c536c16b23f26bc520298172a61a61cf72195191d1d3eddcf54ef0ceef781902ad2c0033fab5aed11229400ec537e3cf86c24645a6d111b387ca8d54c7 SHA512 dd8054e20aac5320a2a6a7d47640cc56e48c2b6db01069786382fe5ae19e9b307fe7f4811ce5b8fd283a307c0aabb2b7f57101e05edadf79636785128b5cc265
+DIST toml_datetime-0.6.5.crate 10910 BLAKE2B 93a21ab2784e96ee2e6b56c7b4f733f6ac4c68c1e7d7dac3fbd8aceedb3580e25b4a9c7d9c3f9b5ed152560353b3e80906e37824956dc4ea90bc6f039768f6cb SHA512 502bdedbcbd2ac9fbaa5f4b51f2e409af185f3633f01f8845de5e3b007f2400215ddeb82ac588bc915ed5a5f9d7251ccf93fe2a57cd40fca2927f4c0966357e6
+DIST toml_edit-0.21.1.crate 101661 BLAKE2B e794b6121ba7e2b1b3f50966cd40eebacee6968b6b28986cfe4cb7312b51ffff19f74826910d8e4ce307f74940f11e71e6afdd768ac196427bddf44595bbc797 SHA512 10cd3b16f763f55294923ce8f166f96fbd67a0acc4a93a46fb3044d8a38148097c592ebb405ced87030d35154abfcc971eacf0172b624ab477a11e616efbaa07
+DIST toml_edit-0.22.9.crate 104173 BLAKE2B 1d2ae80707a554bfc9b9b66975828cc66e4759e1c2d9475d0ab200710cd9794a2560834802e586a42d8e52eb309497593f6673944101d90948974d21d3f227d7 SHA512 b96b310e18618c5cb75cc827f5bf4565f06e0089577decd38a2669bc51672f3d1500e2ca5e69838ee93d98c966fcaee1584e8fea1fe0b2ae724be0882fd5880e
+DIST tower-0.4.13.crate 106906 BLAKE2B 6a8f4455dcc69f6c03af703fcfb0e6b214c2ce599611ef78fd41cf411ccf06bdce241e03a1d85d36cfeadc72db9f3d9b7ed94c4fcec466c070f2357ff6e27360 SHA512 592f23eee5efa6a4f0d2ffb0d965da7e0f75a90a4320a0d0dacdd5add66513ae40902d21af2bf683573133ee984866987df2ae8eb8e632cba7a9d196985aff8c
+DIST tower-layer-0.3.2.crate 6023 BLAKE2B 3450211e07a40419526cf1afe063c56357dd5add53470a4146ced3d294edeb95dbd645ab46ae0e42e4877dde63b1577adb21d9cf50116c4cfe4165e115d54ea9 SHA512 d5429b40569f67937e752c2d61c39a474af32bea5ba3940dbdf5a4037fde1ef7173cbd8fcdb87d0ea15c01bf84f2d55abd51fefbab2f27aa54e656eb1748c43e
+DIST tower-service-0.3.2.crate 6847 BLAKE2B d4571704eb4bf7f729f4535a04b7eb94f644d71ba8c5604297843351adf4bcce7ff64ec4e5435783ee6ada1b0a5c97726cfaade391525c6b2bca933cd5e8ec19 SHA512 f4578421603067fa708c4ad9eca5ca096b5262b6d51a404f37d9fbb6c64f027cec6114991e4b7f8324cb756c033971a384f1804add28e00d0cd6b2ee01d9e005
+DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275
+DIST tracing-appender-0.2.3.crate 21964 BLAKE2B 7e2e9b759d876731984dd6c7b802fce18b8f233f6d659a220e5f1b338abe928b8f869d1479278eecac2899985d578db0f60dfeb80a1b8eb774265f21fff960d8 SHA512 c00f22d85a29209ec59377dd2f8c9bdfba84a5153ac84e1551266837e30fb931e76d93239a09bd4a27fabaf822bcbfd88d27787d923bc809493b7030b5cdfc02
+DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0
+DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521
+DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285
+DIST tracing-subscriber-0.3.18.crate 196312 BLAKE2B bc2f04da63b0313d26073eb4a39b549ae37701e4dbf1fe06a2483279a03d9dde981f0efea6ceb5cd441ab313bfe7eaf812971c3ca60dfd4b5d9cf0d2eb7bacd4 SHA512 72f91855637aa476f03077d5f523cbc94989d40b12d7328167f88b081869ed096e6370450831f6cd5f0686cae5628f14eed4696c06a2ec75f56808b64445e0c1
+DIST tracing-tracy-0.10.4.crate 11229 BLAKE2B cb3b73ab9880721c435de731d06a4baac8a985a15709775086873ba8e34c3428f492fc400604a5bf0660aecc6c62048da1785689c8e0a3a39f1dc4ac97f3ef72 SHA512 364aa4e465d8fdba7d38881524dda509bd133dfa0197e8272b48008705d5dab5e57be9b9012063d234a25a9ca1b2ca9302f1ffba2b79082f3a459d61b878bdc9
+DIST tracing-wasm-0.2.1.crate 9372 BLAKE2B 5cdca349f6a4552e2d22812260c7ad94a2f2a4d0e94c9fe7edaea22a840d439e90425ed65ed7f572f46451626689cb1609e85722fac80ea9592746df29d2e5f5 SHA512 9ac4db2c9bd3f19351e5ad40a03da2ec9cf4b7d78c1d6ffd5fe55a4f94524adf90a0acdc9d97ef6e4399b90c70b90c413f2726e5cab9e9c79877105b5d00f342
+DIST tracy-client-0.16.5.crate 20125 BLAKE2B 5627a92881ab34ebe5a493a809260039bee084b55745cf51d5125784edfb4f06bd2eff8cf5bb916d4deb2173e5d11e30cf7c345d63f6c31231ed992fe5417bd1 SHA512 d00d7b4e2d48817e68105e7dd17aabc8942b5d56389b6e057f897fa71f29fdb80eb5ee394acb2a0a6e2e8dbba24f88d16c3e16fe0d45757294fb4a13d8793e8e
+DIST tracy-client-sys-0.22.2.crate 308267 BLAKE2B a2f5b6250ed37dbeb526165ac365679d53e5800c8dbfb2780fefc517071f85ed139b5c92ff19ae7bd330d6c6662f3c19aa2d19b2a79d83156974357e458df8d4 SHA512 33fa9f8cfe02594b18dee50629f93f688eaa84fb136a2e526b5ae89ad287038a838726bca5d975197c22473a246fc0dfc7b29d7b2c7c385b78d2211cc8965633
+DIST transpose-0.2.3.crate 10913 BLAKE2B 5af25c7e404121acf68caaa5b4109f4f3cd56093575139ce54a68dc14bd2238ef1d3cd2c7626a1a9e860433b15d517b57af264dea1f16cd59827bfa3cc4e93f2 SHA512 1a624e7baf2c74da48489558f9327d935bde67812eec50e205a4060180612d7e6d7d18f18c1b118bd7b08650cd089d8c1574db3fbd504a6915c9cd3b4ec09b59
+DIST try-lock-0.2.5.crate 4314 BLAKE2B e75c6c0d7c975e294e3d723e2fb023067530ad6db3c7bdbe89b9558764606fd1a74f0d1ba787d85266db1912dbeda85408e85646d0f7cb24496d743b7a18c705 SHA512 433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08
+DIST ttf-parser-0.20.0.crate 161769 BLAKE2B 0c2cce46dac6ad19335f5d4a0182725d347640976f8d1474472b3b0541bc9b8b4360f25d50166de7ebf5237b537a811bf0a4a55e529825689c375ca3777c0fc2 SHA512 57f8b09a47109da06a4472d6a75de41773bc6a4a976684e5490a19b1b6da4631d381650152914ad8ab04ddd01b7c5cccca971ca45054cfdf027ebcd924037929
+DIST type-map-0.4.0.crate 3177 BLAKE2B 6c56ab2600e36679f37319040a529029bf8432959026c95c98490a5f137c64ae30b889dac7e4bab2b4edc656adc22d2a01c6c7a688f8ac46db1505f5c7ff5642 SHA512 c3e81d6dd94d5d8266bf409efb9e9ce6fb5d5889d672422b1f85f406ab62c58e27af5b6031ba5699af9d70c90bd8fca913c7ae0fb75f64358e3b7989f3d32099
+DIST type-map-0.5.0.crate 3464 BLAKE2B 02eb7aec3b683842cbc2daecc5e778719a353c3f9fd24c76262c980acdac2a303b9156718bf7fc15e0ac66345bf1c04befbc218a358f55a97ae0d172390b5367 SHA512 9d35158412917abfd56833a365c32d06df1ce1b2de3411993a43a675833321d9b3120ae4432a4618a887cf087cffc3470b82786a1f67db29a90ebb7b2555012e
+DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
+DIST uds_windows-1.1.0.crate 17040 BLAKE2B c77914e150d2f0afc5c55680e28ba242238f4f1291948ae492fe63c16791e443ef33bafa6686cb753e53361ce452f2df27d2bf4088fb1ae203a47df3c55856bf SHA512 092c41f6fac2aacd5b83009b4aabe2cfc487cc1ad5ebc8237d9804aff0c5c823d3c079d99748e9ec3bb1c02b8a51f6a22e41441ec9a72c50600c08b1efdeb0ca
+DIST unic-char-property-0.9.0.crate 6809 BLAKE2B d2bb66259b66e59e831ad74d89528882336a7cf6dfac7a9f49308a70a3d61d5ab88f3ade9df2c086f27ff4a6eae0d2d2b8e63bd154ce3e700cc525769f34542a SHA512 ef969968c61eae6a7d68e6ccb0b40f6618a69bfc4714b51bf4ee8c5ec4532d10b9c6675a4cd5121c904a578ceec7c6471d1496fedbf121059f076ad1c5ccb70d
+DIST unic-char-range-0.9.0.crate 7020 BLAKE2B ab79b4298b999a9fbb769bf191f83e259b40b8d06cc5cb82abac48434162216a283fa82c1bc9af8b40656c2d06e5b6a919ff7888852eabb9001a92db12fa48d7 SHA512 bb0ede1695f4f016bdf9ec83bb49639527248c175c71d24993b8651ea6be0a411251ed8518893101dd5e96fd2913cf15ec27799c677ddb08b8e408da06ae0ceb
+DIST unic-common-0.9.0.crate 2558 BLAKE2B 4efd81198a61076ed45f6fff73561de21b5b7500277de206ed41cfb01ce8e5046a1e2c5f90ac75c03eb1897b7f54a14cf0a8f6d9cb39f624b3a9fac375468e58 SHA512 9212f99afd4c694a3a671963d63e5349f81adde6d5f50c92ec39d15e7ee24aa91eee63ba578a857c8b21380937860968a8e13cd16bb0ee0c0ccd96b3094ad155
+DIST unic-langid-0.9.4.crate 8850 BLAKE2B e95ae483eb531b0ec50c53a0c5499cd593815e7ce7c20e2c5655879361bc0fdb9daa415e7641b2573a0912ea7042a53dd09528660b43027cbeef3b8494f736f5 SHA512 4297a84a8ec8479dd88b34380f882a1b2891d15be5089d7a015baaf172f57a003f92beb2faa96360262ff19ecb9542b7e720631609c69580586fe4a496fdca83
+DIST unic-langid-impl-0.9.4.crate 89401 BLAKE2B 8f3eb98a62624c8d3e49169517d0bda2992dc57caf6dbe7c935a0eadceca4df98048fb8ebdc951bd91541f92b6ad4fdd543bc5bef0d5c3403adf0eec542fc23f SHA512 4dcb307390567d474317a5f9c231624ebe524b393aadbc135e0923b474a14a0a593aa05cba2ee04eb195af0445b9058ddb5648a282a7ed0c44b4b6fcbc791e50
+DIST unic-langid-macros-0.9.4.crate 6332 BLAKE2B 864930823d705f9bb8e630d86f2d17508ae995058f288871cc4710811a663a294d22086c500a77ec02fe4ffe19890e088bda75151cf06bb3a655dd2ebae82a3f SHA512 a5e8ce24962ce3b2e26fefe624fe8d4816c81664acb9d0b852a2f4c2ca792a1855769f65efbd8f24df9d4c12dd68640ec600fe16b0fc2812390ff74322d77986
+DIST unic-langid-macros-impl-0.9.4.crate 6202 BLAKE2B fba2c4580e08f474e209ed9599433a8a8d95ef3123448e83157e942aabf3d9a4aaf715ac95dfdf71bb38b3b9a18ea34cc1bb672ab4ff8b00e8ba67276e70ae94 SHA512 8bf869f70bc599b7b55e0d671dc88e24c0cf7e16dfecec84baec5156261c5c2e72fc6314436cedf776afd92a2776367facf26985cf863b7b4f525abd6061c59e
+DIST unic-segment-0.9.0.crate 34848 BLAKE2B cf04b1d875ebc835758b17f8fa0937da8e47b5c3aa3d2389b9ee35160805b1a0696c3a654d68b60a515fd31dba0571b0a087e97f6815ebd075e1bfeefd0a623a SHA512 cc2a27459dca554a78ce24fee42f0e4d0fbac37c42b4c5a1275f9e3b412cd1c813a4b4864857ddc33b549d99f10c9ce9c277b00f9fa7d93f130f5e47106d8fb3
+DIST unic-ucd-segment-0.9.0.crate 39262 BLAKE2B 73a2f0bfeb17ee731c17e7eb4b7188a800fcd3745c5c6480916240d087df5a856e4f51556e1aaee1e6668b216377acdaf4879beee6b285da040f6871f0c04e6b SHA512 04aab71f97785453dce7f561acfb2382a23d60a68735f3664577015a256191463dd6b1f90694e4440c4889eb9b6380c16c7a0ec2dfc2d49fc44a284eeca43c09
+DIST unic-ucd-version-0.9.0.crate 2246 BLAKE2B c546ee182387db997e6cd699a25bc201fc943306d8e87f96edc1a3dc1cd5ab8ad96f34e8275721a5604765aa6fb6f81e3d8d9eae690d04e5ba71325a769b065b SHA512 153219ff18be02e23ff3dc90bba11fa8c7cda11b972e0d84500d9a0742fb7d84466f2cc63ee278a24098c39634e50742af3317cd942f4ea882ef5a2a8e003d7b
+DIST unicase-2.7.0.crate 23783 BLAKE2B 2b74b932b45c9d5b984b57bfe8249496c192944e2e66916919177eac81c509e2d7a5d30a85ea58e8cd5a0b47fec746bdb18723f3f14002fc64af3a0d320a9e7d SHA512 c2b05a3bbd8996e1cf65d7458f5ad95de9797c8349484f8db04967bde15c1f057f62b2f7a60e7367871512071ed5076c0da042169dbbdcaf4d6c16cae62da828
+DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef
+DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe
+DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c
+DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST urlencoding-2.1.3.crate 6538 BLAKE2B 65777b0990aa6b3d27a47f36114da8622026ac8946b5ffb6e04172b666ec7244a55c250a7fb626472bb2b636eb32ee945599cee5ce7351c3cef2322366db15ff SHA512 035848d9243ed6a4528377b56edd7f8bcb5f824381b420dc8f5c4bfc3f1246655c54eaa7de0e4aaa7138e0b08fd796b9ace140ab919aed2d94f6952b577386ac
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5
+DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
+DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
+DIST vergen-8.3.1.crate 44665 BLAKE2B be409f3e469592d90fa1b839721b23c7d0bf6f23d04ad74ecb0ae275e44f2b7ad7ddf747180d0009ff6621830b26259f379abc85e89797a015a0d00e25eca26c SHA512 63da805fbe324eb7032d98d3c09e1f71b9f9cb4f9a69f2a7e4560442e7a83be37c7f558b7d3bdb4719b4350decb3a562bbbd8f2e8dfc180f8dc58907411df7c7
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST vfs-0.12.0.crate 47059 BLAKE2B d830cb157cb9b4421b05ad1e59b90c27b33a6c8c0b4d9606ee403feeaa3042c5c2dd19b09ced94000618ed1431ba01e140780709fcf7543ffc621db3ac8feb7a SHA512 1f807681adf20357e4b944bbb1f42790b7134f136bd6b016a434141e7586864da964476486683be38915c35cd6b68ac870ab3decb97e4986381f729f82ee049a
+DIST vswhom-0.1.0.crate 9420 BLAKE2B ad748822fa9650d011c5f240f5e52ae1e27380fc1b22db2ceaaece4fbc814ac2f2792cf6772079199202efe88fb968618a13d91609e5245639f25b32640fad44 SHA512 0ac192e6a1d296904246d89a08021b55384b48959f26f1f0dca893f8fa1e71a012a0d731d1e48e41ca8e4427da84e50fa43ced621e435b010cbcda4f19c45a58
+DIST vswhom-sys-0.1.2.crate 15852 BLAKE2B b21fbc0af440d3feac8ffb769f951f504e01f630d6f806d78a8f218eeb09ff8940328d6a9289e195deae9fdc43fdd55cfd037ae9c57b366ae57906b80d2f4785 SHA512 cd7e7b9e1953c70470d2f17210e83d28cd2c5ab8fc34ef0c9e06390e928853e375ed7bc2bda343b2f15820e989b5adc5bd33d9cea078716bc31545ff019435c8
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
+DIST want-0.3.1.crate 6398 BLAKE2B bcc1384bbb86db27b5e082b29a8dd4d89c37b40f6cdec4df8a86c8d205b418468b6cd42a78bd14ebaba057b28e151c00b474c098d7596f49a823ce33510c13b9 SHA512 f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasm-bindgen-0.2.92.crate 184119 BLAKE2B ca256c686bb3854492bad6afe3cd27dab314561a1ea2e0205579820066b462bacdb2cc01075fb420bd20eb33b03a648ce1ff46feee04d8759ea8aa990ff8232a SHA512 6e46501276c0d4befbf930c816d6ae6c3764e3b5ce0ef4aafa627a6ea371f1a056ecc15970a817e9e9bf51c0a2ffa57df427d758b2d367beb6a474d75b8939a5
+DIST wasm-bindgen-backend-0.2.92.crate 28348 BLAKE2B 425497aa7a023b70549c55d5a15dfed80877c5503863b186c0a9d11b29551c4606c1cd5961c7dfdeee2eab5662952ad7ad215513e93abe727a33f84b30bd181e SHA512 22e4f5848d62bd1fd55f4f054ea1293e223b3cd6f916bde2523eec10388e733623492c3a3246d61831e696dffdec5d000b95e9aa1217be6e38dd6459872166aa
+DIST wasm-bindgen-futures-0.4.42.crate 15380 BLAKE2B a20ba9f2bc814d7aac031f1cbaec90289f63893b76c60b536a65af85379771e102d6c3d949a8528328587ac776d7a3b684c12a217f9e186bf10046a1fcb34652 SHA512 0a77203499381b6bc4e9258480d7ef499d9c26b195baf38d0b7b228872f844d24c827cd57c8e2b0176927fd5957428084f53fe80cf60b35b7ba02d02b27a4682
+DIST wasm-bindgen-macro-0.2.92.crate 13835 BLAKE2B 1f2202fdaeb78c32813eaf08b2fbd7aa9c469228386df71b8ffd81a46374e39a7104b79991f702505f9b7e97957fda8574517fbb03e3f9e93098c4d6e1e46be3 SHA512 78d2ddac88a9ca3ca5eef8a7af81cdf2366187a67d844e69f65f6893d1949f9723ab5f2be762c2217a5c21aee2f3dbc2d5d55ef0c9cbf0dec0d52d67a6ba7462
+DIST wasm-bindgen-macro-support-0.2.92.crate 20092 BLAKE2B 8e274a4053e7afc680740e811c3941478caf5342e2206e3d28cdea9f9514bedbfa4f2b6bc608817306a1c455dd7134b7e17f0f04499f6bfb5302f29b041ac7ae SHA512 92543d2aad0b25798ec20e68832b823610c2c01401088cd9cac1684a86ddd1b567b3e2712acb862060f9c645a0df509b01d9834fd3e13cdaab97960f66d8daa7
+DIST wasm-bindgen-shared-0.2.92.crate 7263 BLAKE2B e54895486b9a31cc4651b7bb042059cc84421708346c06a9764315ebd4f440a1077520c7d325d6889a690b2c06aa185d40cede2dc4d061b363594cbde20fac31 SHA512 70e3a22731ed8aec428433bf30500eb3f62e3b7f4f1be34d8bb3b6f34f99690fc85d49eb413caecab807064494cfec64242c6a42709dffd638046e370bf86e07
+DIST wasm-streams-0.4.0.crate 34328 BLAKE2B a29fc66c00b9fab42ba1691ddbc251bebba429837875989874073427cfcd2ed1874597d7f7a9f1097e0bab74a3cef04ba6d312ee9138a5cd973d71837a545d6c SHA512 9a729b183999bd5cd6a31e69014381371d7c750bd0ff5c3ef0b08682fa4563ad8de1a2db0901bfc53f6721269c937cfdc4742b34388829513dfee1337d30d60d
+DIST wayland-backend-0.3.3.crate 70455 BLAKE2B 9c6bbb5c8982411b8d63305cd109d5dba3b396ea1c130e0327dc31d4f6d0df56e8d8fe5992fc80c000bb8127ad4e8d32d2ef5e7fec925fe3b0b508e63b4149d9 SHA512 fb3c7f25074747954b5dbf8455c2faa92862ae53864599f49ed64b74e5f114d7e578ed388cb3b7240fac3fff98a5d231a977154bbe976354938d66fc5da5b8e4
+DIST wayland-client-0.31.2.crate 62976 BLAKE2B f7c4e1f581bace8b491c7ffd393106db44b7be028c136b1ab99c9f091f828c6ff6e5157234882a7926da5cc0de22c1ce14dda7e00ccd5e2ecc5e3356dec86e71 SHA512 1f15b1f8787e1b25b90369106ac6119f208a60ab9c3fe851287fa9c7c8d9fb03217c3f33ffb1dfba5df4f2a749be19402d25ed80e1ed9d7301c1c40e847911b8
+DIST wayland-csd-frame-0.3.0.crate 5696 BLAKE2B cc475e52f9cb0bd06569b7a6996cc78158a07ed2cad7282973806d4b4dd345b968088d5d035ce1f52909aeb3aeb804b93243f6fe98c38c0e8032d961992cbc1a SHA512 2ae56291ebf40e84ff690f15ce43cee36a29fc67975cb1331c47a44cd93aab7c19fc8b385b67149a62836b3bcbe1d5bdb646078b9cf2b00e5288893ba9840bb8
+DIST wayland-cursor-0.31.1.crate 6883 BLAKE2B b70a56f45fc16d0dbb63ac64c69270ef1ef4185101c77751fd063913489e49e0c0257e83a07a136f2f6ac8d923a495d52bfd6bbbaca69b5f3de2f4f50fe0ae44 SHA512 42b975a1c9097b588505243c2923ff3acfe0aa312e8dce5390cb7aea98924f3e29d1cf29245a54a54b617829028c96ad2b5ad51f3854a3e85ce840eaf0edf844
+DIST wayland-protocols-0.31.2.crate 147062 BLAKE2B 62d5ea52833d9edc661d405c83159f97c5bdbc41bdefbc9418a08971236cb74d317efe11e2e23ed6d96f0be27e4a830b4d47bf27d5b269e30e5a4cb97c469c8b SHA512 8f295413b20f308fbf337d8d6e2b6905061d32baa0aeea2aac55edeceadc754a121c56b8b96ca218aa902cfb26fa168c84334ef5033f8cc72e1505f1cfba06fa
+DIST wayland-protocols-plasma-0.2.0.crate 59992 BLAKE2B e43993c207db0ab01c09ca2ad523adaefa1b07978fe2bf67c1e16a8d7e24f443e181a4ebaab2555bc45119d0c66a26ac4f91de932d13b3fe1c881d9bcf0a211a SHA512 d72a03ae0c34b9102567b584971714734aa97e0bd85a3447663a0f88b05bc06a295b1aabc46b6c92701e620c2af87ad6a321a5daddab0df08e7e09f1337f3cb6
+DIST wayland-protocols-wlr-0.2.0.crate 25804 BLAKE2B 226af653146d7eef2ee0a7b6d1484048c5f8b1d2618d3bb9d33eca7e019579c9868d42e5488ba8dc830457ca186a0aa07599accef22902b982d653e381b2f4ef SHA512 b1e5025dbe50a9b90bfd7a38d7564ea8a02c84c8c802d2200864dc604847a4b0979f8a0e05d8d76c2b7c1e198c7847e4d59ad49311b00ab2d4d36eceb776a16a
+DIST wayland-scanner-0.31.1.crate 35419 BLAKE2B adaf9d19f395c5b11e35113ef31b5e11e76fda4929365e61f5a40fbc3f8505e68cacc4e31eb0137da2a07edaca898a2835a22e7236affddf7fea012f087197b7 SHA512 61521f39f414bce7bf372656544294382676649a42d3e2751b6a33874bf12ea3fe87d55c9389799197bbbab36fade2f386a6a83437434d4e0175347b232f7f62
+DIST wayland-sys-0.31.1.crate 8577 BLAKE2B 9252740742340e1f4a4192f610c3c8e6788e08e9c37528c97371762a8949d5eedcc9c052f2b74edf23218e8a6dfce3c63adea0da769ff805e3f68d689d041fab SHA512 79d6feda8a2a4307218ad51b292efd7d0e80707630908a9ae9bca6c0ceed57af874f3b6467915fefd078279ff4f7d39291d84d6250312f692305d38d7f0bed3e
+DIST weak-table-0.3.2.crate 23989 BLAKE2B f5b12d62704a86f77fabaac918d084a4f7471b52994307da20376d48264b811eaeffe2cae2f28ebeeefa4338c758516bcdba5d138cd7ac12ebfccc697009e167 SHA512 78936f2afca36575d3faa823ef4e621d7dea9e3eb4c8c3e1d66af296951fc25476dc8cbadae184322f6e1e8166410df617fe74794b2d3696d599bb2406499562
+DIST web-sys-0.3.69.crate 728877 BLAKE2B 9f1678cbddb15f5a37331216a43785c72896f87e8ce62c6b9e69007316ca6eeaa7edbb33b9f2d9bf96c98de2a1e10afe491d8734657b186e2c3905ad1ff19ad9 SHA512 78b79ceb6a47485c766ad660bb8b971ba549424542a020c35c7db64a19f7b161617e464eaea0602f433b6ac4973b8d1a86a56e76dcda179ccea60aef1245347b
+DIST web-time-0.2.4.crate 15743 BLAKE2B b0255c2d8742c736a2900e32422c439c90878b3bf883943bb6772b91ab13411fbe6617b7801434062b1529843c57d7debfc454cc7a67553c6247047e4def4413 SHA512 d52025a11a11e3286aa0fcd20639eac6cb93ac189b368419adc0ccd2045b288bee9df8c0042a65744a78700e4576f3055478fd52c5a5381088f9a6e28ca3e3c3
+DIST web-time-1.1.0.crate 18026 BLAKE2B cd72e384aca90c79e587448160587531c417f31a32e9ded23e6b78d492d0e517520170fd03177f28870c313b9302b28c32069a2408acccc076a1e4939a2c8f8d SHA512 73e4ef9851de089fde9381a595cb9e37a434f563f1fd350e345f2617b701caf57a9aef739b922b5b10cda131cdf2fd0af42c55603f8973a623a8b6ae70f6cc9f
+DIST webbrowser-0.8.15.crate 39264 BLAKE2B c33d3def837e89f9c52635a401dc5db56adb3fef4cf57907c0770cbe7b576da4d6147c0a93c24a309b99a59cff91be7756f609c840db0d11c81de7f27a04a0e8 SHA512 b34d6fed1833b03dcc949429443acbabe9f5fc59ab559b87cdc3764303eb817d628f27c46b6361a6163a60cffe6b0f0acc93d2129b8503dbfe9711fda3e21442
+DIST webpki-roots-0.26.1.crate 249748 BLAKE2B 6a2468eb2f868c65c599d2f6664798f75e77cb7a7228a2c7285ee5256cb01d110709474feb389991f12ba0d143211770c6922932c7fab01b4b0e37b612cbd453 SHA512 89ac53267d850953aa78550a60f58f5bcb0f9e885c4c448911dc55bbb8dbc3fb845cd7545fc40ff26998b0c360756de85206adcb148ca6190e50bc2daea7f61f
+DIST weezl-0.1.8.crate 42175 BLAKE2B 2a8dc84f018a4364ef814044a590477724b79655cd01d605e02442bdc8de1f7df3003946041dbcc17bc82315f0c11e7fc3c3b0b0375f65436f53bcac11b2bc71 SHA512 6012de47d6bb5177820be9794e70ce6354577247750b8a125dad1d3e093d96cacba62471d8f67f056a72447bb6bf7fffabc6254ae96d93014a5200c71d571c97
+DIST wgpu-0.19.4.crate 140361 BLAKE2B e1cab07eec353b487f7cec5ef7924dfd8b892a58332ef492ad0ed2baff77766dfcdd4aab4b16c1e28b5704702b12e5f8c0cec6a33836283b628cec4bda2b332b SHA512 6a4e92be70b639ad7870db2a1425f145448e480315ae1d2f5de061c4a2b4be3dd83a2971138dc6de107356947a8bc40ec869b7b0f03a99873065f07217cd8b62
+DIST wgpu-core-0.19.3.crate 235851 BLAKE2B 40ffb89a2e4b960c4b88239980c007d70dbc4196cab10bedc5fcf9092cf2cba3423261eec34eaae1be098b83d82987f37c18e908a73118007f471cfa545d7d0a SHA512 330df424655981937f11e32c70fc2ada5f21dbfe5e82961eb3c0093ff329f5cd7db69b7e05126bbdca5fd04c4f16a08392daa0b3afee609b18ad67f5cb2091a8
+DIST wgpu-hal-0.19.3.crate 289888 BLAKE2B 4fbbecaaa29b3691156a4923d8c9bfed7fe1f84a7bd633449bf70c196ec7e96deb1f85953b2511d1c7fb471f3663431e22d4cb12a6d174507686e448fc846f11 SHA512 372e63533c796859152b21babce39e8decc8e5ee533a9ffd203f08fb7eafbbcffcdf8057008cb0fe36756ccb42eca77baeb35c501bff27b4c6640eaf547ffa08
+DIST wgpu-types-0.19.2.crate 59463 BLAKE2B 25d333b889e4fa21a79d0ae2a4b613cc317afa1eb57cfc73e08191facc29a2536a00a0cbb67470da9f98b1dcb11e96e3d63d0b434a6ddaec479db2beea2faa2f SHA512 5476fb614a92cd74197831ee7f7aa16e7cd1ed8258d699458c7a77d2ea2d6224c58076f994e01554cee8010b826a8d0dc15fa2c03a25797f87f4d92060c69ce6
+DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5
+DIST wide-0.7.15.crate 80990 BLAKE2B 6e9321206e1929257130c18074304f69000cf69f61df42b7924fec6cf0416c05cac02062d910b73b90371a7e6fd3c4e7253644516708bbf1cc688bf0d9b7718d SHA512 ba28b5583b524bc32878b07bf183ce293776006c514fe7a6ee95e6fb9abe8ef4e832c4dfb0642b224df3e8f7f39d9023a50492b414c3a77c28caff8eb1f4a19b
+DIST widestring-1.0.2.crate 79706 BLAKE2B 64423d0c485d1596015e9fcee691222a2a69b85a1b13a91651c50c1e3c5ec61c5105232904c6239bb442a2b3f2e808379d802856b93bb62ec8779cbf3db77655 SHA512 cbebac37d87808e791d7839ad69e0b86af49b0e8a354a22e11797915c719937ed5b0cb638e5afc9d710cd1e073eaa9f7db76cd3ca1ec35a71b565f0b8f55407b
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-0.48.0.crate 11864177 BLAKE2B 39c0e4f058f68a829ee08721818a0b04287af20dfe6e03a125b75566b4c8a58b56557d685600f1f9c215811154f9782f12368d42848445d54dcf9bfd6471349d SHA512 7c906f885fa0a730f1cb1ef4e62f5b602a49d44343febe1d38fcd4cbc28e0342766983796042585fe457aa229333558715b6270e378946faa8f398a7ecc2af8c
+DIST windows-0.52.0.crate 11843715 BLAKE2B 0d35225f5d61f71b0cb768f03825031101e05c83d7f12e05cb17b14ba28e6bc6a3d5aaee5ba07e54c1a773b6eadde4ce3523ab87e8e313e5578e2de01a3dcdc7 SHA512 8a9d443cfae3b44ab50bdffd70b70ea3b3d536f464e4beb7cfa9e15eb4e4505cbac20266b44d589bb7231790a87f473ead6d2160b8cd18d62f31b78bf61417da
+DIST windows-0.54.0.crate 11096265 BLAKE2B d9e2741577ef5a8cdd66ff0dc3de16d92b5005a43c4d521f9c9670ec15fdf0ef5f9656219695d80e2f9bc2ed51e31b5e3b867c484a00dae1a388b647f2eca6b9 SHA512 703d9de3d8624b9179e3b4aae24c8ba384c823d54e9f55133c9ae8bec8090019280674aa6c8e47872d91fb0f194c692ef5cbaff710714bddef12cf3fe98552db
+DIST windows-core-0.52.0.crate 42154 BLAKE2B 9670bf02261b4ab2a24eff97dad11e305deac823cacfae286965b62b11bc035f19a55ca710eaa4359c8a4905433a94fe62a836b77ddd68f244ad6ac2c9657f58 SHA512 0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36
+DIST windows-core-0.54.0.crate 44015 BLAKE2B 2ec7bdc09eef66ca4360dbe6b6c75548b91abc6cbc7272818108d3f37b97141bf4ee57e1b70cd33a5ee9d637be9f3674067ab26cdd204d97aa195e4f59b98935 SHA512 eb83e67ea04b7fc6cb33fa470e43683588a26c842f6949abd3b5ef26753dab3f8ce6924872a3dfae4b497f7980921027162c6d364a02430d3af7d2f63fa9f45f
+DIST windows-result-0.1.0.crate 10486 BLAKE2B d830c0edaf913014dbb61e108b5c8967c50bd8b8741155b1ea6d0d3a0181d1fcd9d6bd260e3c1413697e6c1f8e4828547ae44f5c4c5ec0cec57022d6803ab13c SHA512 69cd05d1ddc61e52d1f5c76d48a8de716aee40874ab6cfa5b72143873fa4b09bcfa82be6744c9ed87b551e0b0d0489f87801ece5b74d4993cfc1a10580c6b29d
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.4.crate 6310 BLAKE2B 0393bf3e7f8823edc455055e9977798bd6cdc1e523127cf840ee1b9e36febe40e01dcad9875a06aea283dd55443d02f643d42752103a5ec1de933285fe410b17 SHA512 4b2c26468df54b9801e6badd120dcffc15429fc78a614f45efa16d5fed1a36983198fbb621cc3beb4a4f9f0161ef8ddeca3a5c6a6ac48b5589681936f4d2bf50
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.4.crate 433373 BLAKE2B 5678cf2371e4c566b7ff0dd1fabcae92d12ce9f97670524c93fd8c34bf6b09d054e7de2f852302b8d994f52c81015b7cc8a74f529490c7bdd17a3b5d2c88a12e SHA512 dbb914a866873892a8cffecd4ed4977fe6c3fc48a58bb9f88655d86e7f8969cc27e6f5bb7d40eee41ae7d78f6f4be65d46650719321a7697c7b5b99a0f07a5dd
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.4.crate 828055 BLAKE2B 3088f2f66fc91ad698906315eae7e6c0dd7da5414c28cfa25b24e138fc4a7da40535be09129cd37b8e331d8d6e8c41d0106fba1ef9e5b4ac561140653e9ded4d SHA512 dcc538d0a9c276e7ec415575ec1392bf476219348984d9567f56d5cc7af0f9beeac523a9a6651f763dd4f50f89535a3ea2275d5321ec022c2ee8814e4e84e95b
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.4.crate 875736 BLAKE2B 31ee3017a6db246b0d5fc02e10cdb517a69ceac3dbbc9d41b4051f5dfa1196e4a46e7b3f5f90935560c03bb139b897e5dce69989a3698d9c88ebae923e24ef30 SHA512 9d57260744607eb63453040c532bf3693cf3d8d93c56543ee00aa66adf3a71919e72bdef7811f287167403ade893248f189b797a5d2dcb24ef4e6f3d915a88c6
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.4.crate 895530 BLAKE2B 87ec4628472beec8697317662fd599a8ea0ba5a11a0cad6b23f2481f39b3a4e0546d37fade4d715ad06a4798cf7faa6435bafa1e5054105c064cb560468b6025 SHA512 0d5526b21bfb96ab352b5181dcf84ff31007ce338245a374b3b413805239359a689b1a21de56ae998cc13444e40867bc30c4200454b84ef9ffa7117318baef1e
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.4.crate 831627 BLAKE2B 64d29f6e0837be822d89cc8aaea2514382d2c03b33deb5684df1d6b81573b3817add39d99f66181a762fae7c155e60a8c070affe43a0f2e247fb0c5ddcc7afd9 SHA512 96c673fb330af597fc3c71b53b9b66cacc9f3f64f05dc7cfe4a77447b7545280f065df22b7d91a6b7cf681a442d8b71c9d2dd128e76580664d8598c481cbb95e
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.4.crate 433358 BLAKE2B ffd55fba15ef713bd48caec5ed5f32936e05ac4897b721bd2b041229bc8c7beeca77ca018c3258dcdb09495629aa359d1dadaaf5112d38e7ea54670309d0ddf4 SHA512 f153d86b01e47f17ef08271b69becf7883bab92f96d40cdb1d74432f2bc6a7a65aa4ed931d8f6f4c2679e360bbd8d12037dc2a74a6a444fcaec5e4c784c54c74
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.4.crate 828019 BLAKE2B 08163b63d934114457cd64b1c372f8a0cfc1ebf48a2efb41d79031c58ea64e023acd32d2f5075b8b78536998188138562e584ece95f2021b4bc71087ac45f026 SHA512 0671fa3c0463c6d65b525ece8bc91eab2f75cb534de86ba2b1e854d4136fcb439717441881206dba7cfb602493bc24d2aefa96abf8977f5a0fe38d41eadc90f1
+DIST winit-0.29.15.crate 588797 BLAKE2B a22d11d2f6a733624ff093df348e0b4fb2dfb01b40d2e6483a4c72ed93a964df9af6a15d624f99a54c0e0e4cf9a751036be4bd8c3f3bbfd7a3fb8eb41118d9f7 SHA512 eb1ffc450eb4254b45e44d0291e6574247254eea39e0703379c81a14a4ac77429710f5b8e2f25b84c44ad0fa080318cbff12012bcf28b892f56321aa8eb13160
+DIST winnow-0.5.40.crate 159316 BLAKE2B aae5076d59b3459c901d918d8aaa97ba8bfcc993b8484344f52e45f1f37deb96d6cd3a1663a67f3c367be2b05d633286f270274c621bda9f3ab72b98bb652cc2 SHA512 525156f08514b0110697360be6e331a68d08f0cb65ee4ba3ac9d101dd2d42a8c89601e7409bdb5652c5b05145626506651010f58a854c47712065334c61ff39c
+DIST winnow-0.6.5.crate 159316 BLAKE2B d28c6a069e3d557335c09ae04f1d90a9086b1744d711e259da230c031a0302e270e304f8f9e8bc690c01cedcf07b46e05938ab3468b3e388ae8c51ac361b6408 SHA512 5395db16797beb158e9458099279abf53c5ea62c65584bbb9e0111213ab21c88cd0b0674062757e57ceb6c762a349f22db6ef60deef866fe15ebb0818287ab99
+DIST winreg-0.52.0.crate 30148 BLAKE2B 7b458d356ed1385b23ace88d8a7e2a4e2e3211ba4bd22e6488b60fe508ab2b5f6d93c7547e45e0564f512391a8fbc2af1bbd3e3e3a773865d87adff67b5b2fb5 SHA512 50659afe4fa9671696bb5c6a50d62e493ef5359a324a71f7877e2ff0b522560ad65196ac6d2f7f4117edb2e47e84adce7d1de5ed2ce273f132cb2d5006472e25
+DIST wio-0.2.2.crate 11214 BLAKE2B 7356229f90aa50d6ac8a7651637967de3e06755a7a45eab2a144e13c876058553c22129abffb07717b1715233f6cfc1efe90ff60c1877f4291fabaa4b5ea283d SHA512 13838de6e01b20de8996c7aa9efbaca5bcd9e4551614cfc10bee45ecca4bcc70b953b2c59fe460d1a054b3ecac13445b020aa244ea70686fd19be8d65c539b0e
+DIST x11-dl-2.21.0.crate 66823 BLAKE2B 83305b44ec89e765ecb2dc48fc3aa93bc67d30f12e9782348bca822ca636207e9a9c2b707ab33b6dfc7fadd2b2cdaa599480470eef7a29a15332e923413a7cce SHA512 b864b0865720a9b2afc6d986fb7ebe19734671433449897d7f00488e019f3781f417f8e3763f09fa0db100a1d0c7e709ea9ac43c6dd48775f3daf803ebaebee5
+DIST x11rb-0.13.0.crate 222396 BLAKE2B 279dd73a1b342d773097cbbac7ce3ce198ee503c809f6d3b89c2c69b2e40dd21005e47cde708c0e9b12f2d944c0c1965a815eee774b86d9620d4dd51289cf0fa SHA512 9e86c7fab70d20193804a85608aaf46697b56f3d78eec50dd835c4ddd4a45ff56c0819309b443baa4a58f93e7d37f303e29ef279dbcd5d8c917c559751ca00b8
+DIST x11rb-protocol-0.13.0.crate 507838 BLAKE2B 11955c1908fef177bef859c1207f8fb9e644a8841ccbef885446a021152cb37a113bcb988a0d645e8b9289dc760d03d66ea0a6836e28bc25717e6ba571d02cb0 SHA512 36f412ed83634c402cfb3fea3fc64b9782b348fde3e98617a6c478867a0e93bacd9a69b1feb8d7ee5c01de578ddb85fff1ab86dfaaf88391c3e03dc7aeb3dca7
+DIST xcursor-0.3.5.crate 6256 BLAKE2B 09af0002e0fc70790dd4a132fd74525c18d45cd285fc5ba263e9e6faf83a97aeaaef2ef6e04fc7eb939c501e865623a0f454cbc93913d9821fa6005b8f4445e7 SHA512 284f0012a07776f351d9951de33187636f8410651ed71cee3169c0cc082fda6a01a39fddbed4185dae894f7d5314ce204078ce0848308672ee19789a1fdfb05c
+DIST xdg-home-1.1.0.crate 3600 BLAKE2B 9ebd05881f0b835ad8647691d05b168f0cc807ccd02bbeff4da9db0a4f6b9c5458a891d6df2867f8597f70789d7e4d49d4b81dcd266ed05d1c3d4b67ad9f11f6 SHA512 3f4d6d81b84beab8eb549e124c9dcf5dbcad8b6471cd87edcebf5c0011371667718104c7ea6eba7301fde7524137b18484621c820c75b182bafd7b9b2972957a
+DIST xkbcommon-dl-0.4.2.crate 5879 BLAKE2B f80fdcd23e71ac64a302f89d572ae8eb61be3115f298c4a6a5b65345cc625bac089c131aa7f77a3601ee898405c0b1a6a1cb4d754fae200c932456964d12ee1e SHA512 71d6a8468bb05d5c1dac130c90135dec88804708f8f2061b861953a980948b1e7c1f893b86ba8bbf251012d834398394deaa26934939ad161fd4ab9a28578cba
+DIST xkeysym-0.2.0.crate 101431 BLAKE2B 626c023f399c3fb2dc155934e2b0d14d74e0b4cda25353a03b6bba3060e11e8ebba017571c7e704d5df8e658207149899cf741bc84262734e464be1a7efb55be SHA512 7dc5893f91aacafacce66f14ec27a6c792e7bf82c116e6d2221d2ed5ba3ef2889243f4af3f407d0370b46db6ac27568708b431d59b82c5d056f89d11e42ae44f
+DIST xml-rs-0.8.19.crate 54051 BLAKE2B 667358226fd5fa1829110ee9b587dae7d95fe1f010f8106f515af12435d3c49b0f9f3c09bb4ec4fa019f8e9b25575b3c5fc2dd5858b37b5bbca9bfa263df842a SHA512 a46796ed542a7396e760ee327ec191e96d61b3fd8b78cef2ab2da75c5290433f422a34cabef20267e8a6a162e0a48fc8f81cd66a5dcf997ddd539e55d9130199
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
+DIST zbus-4.1.2.crate 153356 BLAKE2B c6ca76de9305bcb9d1d8f0b21236feeee339aa1b0ce021336953df858fd3655045bffd7d8d95878d35db19bef264f719f0a74b0585b15a13bec2d612a597502e SHA512 2ac175d2ab04d3ac53567f44420d8cc61d2c67907072b9b08673ec776a6c6e0fc07c776e3893429ae6a488c79b7b382ecf242933803a55bad09b4fb1256f40c7
+DIST zbus_macros-4.1.2.crate 28306 BLAKE2B eb65d96bcb1f28e8cf7ce3196c6a1679d187229cbf66183c10315bed34c5d5f660e0e2920be0522f19aa0ec42ae32ee8f1748c129ee76d8dd42fd7d764b5f992 SHA512 394dcc0ef553e18e4dbed66f480bd444a24160d95498784615dc30c8611cb08a419a34324e8d761580d1c38e7da0489f9479b63b76b968f210590ff06fae85aa
+DIST zbus_names-3.0.0.crate 10650 BLAKE2B 0c8a0ee67c9236ef51a1add3038d5ac5a9f00dccd9df059b16454754db44e7c5ac66b74f3f98c317ee73a1c982b8439d6a92995d984b9b9d744c3c9203edbed3 SHA512 e0ebd468f152ef8063faa547f60b58d2d87948e24741d1cec0e97eef1817653d524ce5519795db64a3a7d9101ee2c6b67f0bf2bade894c57b5c37aee19fc82ab
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
+DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756
+DIST zip-0.6.6.crate 65789 BLAKE2B acefc076297468d72cb20d8c6234fe5406875056fbf78fc0eac3ac430af78f320ed839f8683bd96fa1a03c457d6ac568d42bd703a902bc37bd126791d8b4c709 SHA512 affd46c17ceaa0545a155250dfd16756f8706dda43bae8a322ec0481dbfb41e4cf3166bf9662fc139ef9d0ab3b0f9f158535b21d2a61b21d38b8b2407813eeef
+DIST zstd-0.11.2+zstd.1.5.2.crate 28987 BLAKE2B e04fe25ec6661819efeca08698c207922c38447459aa291961d3512d7c30016c51ddf49a8dadac0b7b2bf677b6a89d22670ec1e214607b476584a7e1b2dbf36d SHA512 d3f053c4acbdb45f3dadc9590db56095c761f0ff8899d22461f664701de766dde2fac2960a4477cd05d0a9c7ec200caa02ff891eb1f04630734996e0c38d10dd
+DIST zstd-safe-5.0.2+zstd.1.5.2.crate 17273 BLAKE2B 74dc561046f9bc595c58b62bc6ff291325bc23fd06a1249148426bb853271393eab5121d2e1e29e433eff562c9eab72c1be265f3fe3bf14cc35d4a741db03c38 SHA512 03a6f07ada211fd6c364f03d06acff705fa5b08129aa09c29ad310f05b233553f8ea697e504470d4c104bd947f5d4102328c4df0df5e1da6d8e537f51451a014
+DIST zstd-sys-2.0.10+zstd.1.5.6.crate 749088 BLAKE2B 89ec471502281a65841e1c38b313571ac0ba1d2bb3aacba11297f782db9f0f8ed9cf945b757840e7851da0b7400b8c58fc79a60f24a6535fc271d28f07b2ffe9 SHA512 588008a436a9c7751fa7c088620bf04434751e508c9a729e6840e42a14a2cc26c8ee252e8f129a5ae00eb1f76ae6ecfffaac043d854b61381d386f71d80993f9
+DIST zvariant-4.0.2.crate 81443 BLAKE2B 5bf2cb6b2e2b34c2397d9579a60ea7cf28a060456e8dc86498e07c9d1bbf8313d5c2235cadd5be8ec30646cf9e224312efff49ed3c41e010678ec498ed586ae9 SHA512 2811d3b9da164d3848684ceb74ce928f5951b135a40be11502a67f8a6506342efcab0e9c4f9401b5ca0d7b7a14df02f6f4f1c4375c418e5a20ec5faf2a878a3e
+DIST zvariant_derive-4.0.2.crate 10974 BLAKE2B ae6c23021ded15d76305e9b3f3fa3a65d4e68f369cc3300e1d17206ca44c632b5ea624affb2df302f955f08a344b235cf01602168618980bc489bf490f3811a1 SHA512 87c17ad302c5f30f7677cc15b8db5b939e579b6bc0261534bb7321440266bfba9f43bbcf19e65603cdca8077bda8a4f3b7c7d4f177cd89980e2bfec39c98409d
+DIST zvariant_utils-1.1.0.crate 6858 BLAKE2B ed117144cdd1b3351cddb0403b7b8fa3290e097dc527456ca7580910a0ad07b323c5c221f2c796eefd8dd5c7945e594c5bffe6b72caf26f2d416b58889b8cc34 SHA512 5ab70e347a3251c029688b0e8060f640168da3d20d1f0ceef054096209b9101fbb48ba74eb04aabd4c39f4c8090eb94a0594750b85d9955542f0bf7732a66aa7
diff --git a/app-emulation/ruffle/files/ruffle-0_p20231216-skip-render-tests.patch b/app-emulation/ruffle/files/ruffle-0_p20231216-skip-render-tests.patch
new file mode 100644
index 000000000000..ef39453b7d58
--- /dev/null
+++ b/app-emulation/ruffle/files/ruffle-0_p20231216-skip-render-tests.patch
@@ -0,0 +1,16 @@
+Running renderer tests using mesa's software rendering has a tendency
+to misbehave (esp. on tinderboxes) and does not reflect usage on real
+hardware.
+
+These are auto-skipped if mesa[-gles2] and perhaps [-llvm], but pretend
+we lack support even if conditions are met.
+
+https://bugs.gentoo.org/903295
+https://bugs.gentoo.org/911320
+https://bugs.gentoo.org/911367
+--- a/tests/framework/src/options.rs
++++ b/tests/framework/src/options.rs
+@@ -170,2 +170,3 @@
+ if let Some(render) = &self.with_renderer {
++ if check_renderer { return false; }
+ // If we don't actually want to check the renderer (ie we're just listing potential tests),
diff --git a/app-emulation/ruffle/metadata.xml b/app-emulation/ruffle/metadata.xml
new file mode 100644
index 000000000000..b6a06cf293ca
--- /dev/null
+++ b/app-emulation/ruffle/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ruffle-rs/ruffle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/ruffle/ruffle-0_p20240422.ebuild b/app-emulation/ruffle/ruffle-0_p20240422.ebuild
new file mode 100644
index 000000000000..3429c8fc5d64
--- /dev/null
+++ b/app-emulation/ruffle/ruffle-0_p20240422.ebuild
@@ -0,0 +1,767 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ab_glyph@0.2.23
+ ab_glyph_rasterizer@0.1.8
+ accesskit@0.12.3
+ addr2line@0.21.0
+ adler32@1.2.0
+ adler@1.0.2
+ aes@0.8.4
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ allocator-api2@0.2.16
+ alsa-sys@0.3.1
+ alsa@0.9.0
+ android-activity@0.5.2
+ android-properties@0.2.2
+ android-tzdata@0.1.1
+ android_system_properties@0.1.5
+ anstream@0.6.13
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.6
+ anyhow@1.0.82
+ approx@0.5.1
+ arboard@3.3.2
+ arc-swap@1.7.1
+ arrayref@0.3.7
+ arrayvec@0.7.4
+ ashpd@0.8.1
+ ash@0.37.3+1.3.251
+ async-broadcast@0.7.0
+ async-channel@2.2.1
+ async-executor@1.8.0
+ async-fs@2.1.1
+ async-io@2.3.2
+ async-lock@2.8.0
+ async-lock@3.3.0
+ async-net@2.0.0
+ async-process@2.1.0
+ async-recursion@1.1.0
+ async-signal@0.2.5
+ async-task@4.7.0
+ async-trait@0.1.79
+ as-raw-xcb-connection@1.0.1
+ atomic-waker@1.1.2
+ autocfg@1.2.0
+ backtrace@0.3.71
+ base64ct@1.6.0
+ base64@0.21.7
+ base64@0.22.0
+ bindgen@0.69.4
+ bitflags@1.3.2
+ bitflags@2.5.0
+ bitstream-io@2.2.0
+ bit-set@0.5.3
+ bit-vec@0.6.3
+ block2@0.3.0
+ blocking@1.5.1
+ block-buffer@0.10.4
+ block-sys@0.2.1
+ block@0.1.6
+ bstr@1.9.1
+ bumpalo@3.15.4
+ bytemuck@1.15.0
+ bytemuck_derive@1.6.0
+ byteorder@1.5.0
+ bytes@1.6.0
+ bzip2-sys@0.1.11+1.0.8
+ bzip2@0.4.4
+ calloop-wayland-source@0.2.0
+ calloop@0.12.4
+ camino@1.1.6
+ cargo-platform@0.1.8
+ cargo_metadata@0.18.1
+ cc@1.0.90
+ cesu8@1.1.0
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ cfg_aliases@0.1.1
+ chrono@0.4.38
+ cipher@0.4.4
+ clang-sys@1.7.0
+ clap@4.5.4
+ clap_builder@4.5.2
+ clap_derive@4.5.4
+ clap_lex@0.7.0
+ clipboard-win@5.3.0
+ codespan-reporting@0.11.1
+ colorchoice@1.0.0
+ color_quant@1.1.0
+ combine@4.6.6
+ com@0.6.0
+ com_macros@0.6.0
+ com_macros_support@0.6.0
+ concurrent-queue@2.4.0
+ console@0.15.8
+ console_error_panic_hook@0.1.7
+ constant_time_eq@0.1.5
+ convert_case@0.6.0
+ cookie-factory@0.3.3
+ cookie@0.17.0
+ cookie_store@0.20.0
+ core2@0.4.0
+ coreaudio-rs@0.11.3
+ coreaudio-sys@0.2.15
+ core-foundation-sys@0.8.6
+ core-foundation@0.9.4
+ core-graphics-types@0.1.3
+ core-graphics@0.23.1
+ cpal@0.15.3
+ cpufeatures@0.2.12
+ crc32fast@1.4.0
+ crc-catalog@2.4.0
+ crc@3.0.1
+ crossbeam-channel@0.5.12
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ crypto-common@0.1.6
+ csv-core@0.1.11
+ csv@1.3.0
+ cursor-icon@1.1.0
+ d3d12@0.19.0
+ darling@0.20.8
+ darling_core@0.20.8
+ darling_macro@0.20.8
+ dary_heap@0.3.6
+ dasp@0.11.0
+ dasp_envelope@0.11.0
+ dasp_frame@0.11.0
+ dasp_interpolate@0.11.0
+ dasp_peak@0.11.0
+ dasp_ring_buffer@0.11.0
+ dasp_rms@0.11.0
+ dasp_sample@0.11.0
+ dasp_signal@0.11.0
+ dasp_slice@0.11.0
+ dasp_window@0.11.1
+ data-encoding@2.5.0
+ deranged@0.3.11
+ derivative@2.2.0
+ diff@0.1.13
+ digest@0.10.7
+ dirs-sys@0.4.1
+ dirs@5.0.1
+ dispatch@0.2.0
+ displaydoc@0.2.4
+ dlib@0.5.2
+ document-features@0.2.8
+ downcast-rs@1.2.1
+ ecolor@0.27.2
+ egui-wgpu@0.27.2
+ egui-winit@0.27.2
+ egui@0.27.2
+ egui_extras@0.27.2
+ either@1.11.0
+ emath@0.27.2
+ embed-resource@2.4.2
+ encode_unicode@0.3.6
+ encoding_rs@0.8.34
+ endi@1.1.0
+ enumflags2@0.7.9
+ enumflags2_derive@0.7.9
+ enumn@0.1.13
+ enumset@1.1.3
+ enumset_derive@0.8.1
+ enum-map-derive@0.17.0
+ enum-map@2.7.3
+ env_filter@0.1.0
+ env_logger@0.11.3
+ epaint@0.27.2
+ equivalent@1.0.1
+ errno@0.3.8
+ error-code@3.2.0
+ escape8259@0.5.2
+ euclid@0.22.9
+ event-listener-strategy@0.4.0
+ event-listener-strategy@0.5.0
+ event-listener@2.5.3
+ event-listener@4.0.3
+ event-listener@5.2.0
+ fastrand@2.0.2
+ fdeflate@0.3.4
+ filetime@0.2.23
+ flate2@1.0.28
+ float-cmp@0.9.0
+ float_next_after@1.0.0
+ fluent-bundle@0.15.2
+ fluent-langneg@0.13.0
+ fluent-syntax@0.11.0
+ fluent-templates@0.9.2
+ fluent-template-macros@0.9.2
+ fluent@0.16.0
+ flume@0.10.14
+ flume@0.11.0
+ fnv@1.0.7
+ fontconfig-parser@0.5.6
+ fontdb@0.16.2
+ foreign-types-macros@0.2.3
+ foreign-types-shared@0.3.1
+ foreign-types@0.5.0
+ form_urlencoded@1.2.1
+ futures-channel@0.3.30
+ futures-core@0.3.30
+ futures-executor@0.3.30
+ futures-io@0.3.30
+ futures-lite@2.3.0
+ futures-macro@0.3.30
+ futures-sink@0.3.30
+ futures-task@0.3.30
+ futures-util@0.3.30
+ futures@0.3.30
+ gc-arena-derive@0.5.0
+ gc-arena@0.5.0
+ generator@0.7.5
+ generic-array@0.14.7
+ gethostname@0.4.3
+ getrandom@0.2.14
+ gif@0.13.1
+ gilrs-core@0.5.11
+ gilrs@0.10.6
+ gimli@0.28.1
+ globset@0.4.14
+ glob@0.3.1
+ gloo-net@0.5.0
+ gloo-utils@0.2.0
+ glow@0.13.1
+ glutin_wgl_sys@0.5.0
+ gl_generator@0.14.0
+ gpu-allocator@0.25.0
+ gpu-alloc-types@0.3.0
+ gpu-alloc@0.6.0
+ gpu-descriptor-types@0.1.2
+ gpu-descriptor@0.2.4
+ h2@0.4.4
+ hashbrown@0.13.2
+ hashbrown@0.14.3
+ hassle-rs@0.11.0
+ heck@0.4.1
+ heck@0.5.0
+ hermit-abi@0.3.9
+ hexf-parse@0.2.1
+ hex@0.4.3
+ hmac@0.12.1
+ home@0.5.9
+ httparse@1.8.0
+ http-body-util@0.1.1
+ http-body@1.0.0
+ http@0.2.12
+ http@1.1.0
+ humantime@2.1.0
+ hyper-rustls@0.26.0
+ hyper-util@0.1.3
+ hyper@1.2.0
+ iana-time-zone-haiku@0.1.2
+ iana-time-zone@0.1.60
+ icrate@0.0.4
+ id3@1.13.1
+ ident_case@1.0.1
+ idna@0.3.0
+ idna@0.5.0
+ ignore@0.4.22
+ image@0.24.9
+ image@0.25.1
+ indexmap@2.2.6
+ indicatif@0.17.8
+ inotify-sys@0.1.5
+ inotify@0.10.2
+ inout@0.1.3
+ instant@0.1.12
+ insta@1.38.0
+ intl-memoizer@0.5.1
+ intl_pluralrules@7.0.2
+ io-kit-sys@0.4.1
+ ipnet@2.9.0
+ itertools@0.12.1
+ itoa@1.0.11
+ jni-sys@0.3.0
+ jni@0.21.1
+ jobserver@0.1.28
+ jpeg-decoder@0.3.1
+ js-sys@0.3.69
+ khronos-egl@6.0.0
+ khronos_api@3.1.0
+ lazycell@1.3.0
+ lazy_static@1.4.0
+ libc@0.2.153
+ libflate@2.0.0
+ libflate_lz77@2.0.0
+ libloading@0.7.4
+ libloading@0.8.3
+ libm@0.2.8
+ libredox@0.0.1
+ libredox@0.0.2
+ libtest-mimic@0.7.2
+ libudev-sys@0.1.4
+ linked-hash-map@0.5.6
+ linkme-impl@0.3.25
+ linkme@0.3.25
+ linux-raw-sys@0.4.13
+ litrs@0.4.1
+ lock_api@0.4.11
+ log@0.4.21
+ loom@0.7.1
+ lru@0.12.3
+ lyon@1.0.1
+ lyon_algorithms@1.0.4
+ lyon_geom@1.0.5
+ lyon_path@1.0.4
+ lyon_tessellation@1.0.13
+ lzma-rs@0.3.0
+ mach2@0.4.2
+ macro_rules_attribute-proc_macro@0.2.0
+ macro_rules_attribute@0.2.0
+ malloc_buf@0.0.6
+ matchers@0.1.0
+ memchr@2.7.2
+ memmap2@0.9.4
+ memoffset@0.9.1
+ metal@0.27.0
+ mime@0.3.17
+ mime_guess2@2.0.5
+ minimal-lexical@0.2.1
+ miniz_oxide@0.7.2
+ mio@0.8.11
+ naga@0.19.2
+ naga_oil@0.13.0
+ ndk-context@0.1.1
+ ndk-sys@0.5.0+25.2.9519653
+ ndk@0.8.0
+ nix@0.28.0
+ nohash-hasher@0.2.0
+ nom@7.1.3
+ number_prefix@0.4.0
+ num-bigint@0.4.4
+ num-complex@0.4.5
+ num-conv@0.1.0
+ num-derive@0.4.2
+ num-integer@0.1.46
+ num-traits@0.2.18
+ num_cpus@1.16.0
+ num_enum@0.7.2
+ num_enum_derive@0.7.2
+ num_threads@0.1.7
+ nu-ansi-term@0.46.0
+ objc2-encode@3.0.0
+ objc2@0.4.1
+ objc-foundation@0.1.1
+ objc-sys@0.3.2
+ objc@0.2.7
+ objc_exception@0.1.2
+ objc_id@0.1.1
+ object@0.32.2
+ oboe-sys@0.6.1
+ oboe@0.6.1
+ once_cell@1.19.0
+ option-ext@0.2.0
+ orbclient@0.3.47
+ ordered-stream@0.2.0
+ os_info@3.8.2
+ overload@0.1.1
+ owned_ttf_parser@0.20.0
+ parking@2.2.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ password-hash@0.4.2
+ paste@1.0.14
+ path-slash@0.2.1
+ pbkdf2@0.11.0
+ percent-encoding@2.3.1
+ pin-project-internal@1.1.5
+ pin-project-lite@0.2.13
+ pin-project@1.1.5
+ pin-utils@0.1.0
+ piper@0.2.1
+ pkg-config@0.3.30
+ png@0.17.13
+ polling@3.6.0
+ pollster@0.3.0
+ portable-atomic@1.6.0
+ powerfmt@0.2.0
+ ppv-lite86@0.2.17
+ pp-rs@0.2.1
+ presser@0.3.1
+ prettyplease@0.2.17
+ pretty_assertions@1.4.0
+ primal-check@0.3.3
+ proc-macro2@1.0.81
+ proc-macro-crate@3.1.0
+ proc-macro-hack@0.5.20+deprecated
+ profiling-procmacros@1.0.14
+ profiling@1.0.14
+ psl-types@2.0.11
+ publicsuffix@2.2.3
+ quick-xml@0.31.0
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ range-alloc@0.1.3
+ raw-window-handle@0.5.2
+ raw-window-handle@0.6.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ realfft@3.3.0
+ redox_syscall@0.3.5
+ redox_syscall@0.4.1
+ redox_users@0.4.4
+ regex-automata@0.1.10
+ regex-automata@0.4.6
+ regex-syntax@0.6.29
+ regex-syntax@0.8.3
+ regex@1.10.4
+ regress@0.9.1
+ renderdoc-sys@1.1.0
+ renderdoc@0.12.1
+ reqwest@0.12.3
+ rfd@0.14.1
+ ring@0.17.8
+ rle-decode-fast@1.0.3
+ ron@0.8.1
+ roxmltree@0.19.0
+ rustc-demangle@0.1.23
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ rustdct@0.7.1
+ rustfft@6.2.0
+ rustix@0.38.32
+ rustls-pemfile@2.1.2
+ rustls-pki-types@1.4.1
+ rustls-webpki@0.102.2
+ rustls@0.22.4
+ rustversion@1.0.14
+ ryu@1.0.17
+ safe_arch@0.7.1
+ same-file@1.0.6
+ scoped-tls@1.0.1
+ scopeguard@1.2.0
+ sctk-adwaita@0.8.1
+ self_cell@0.10.3
+ self_cell@1.0.3
+ semver@1.0.22
+ serde-wasm-bindgen@0.6.5
+ serde@1.0.198
+ serde_derive@1.0.198
+ serde_json@1.0.116
+ serde_repr@0.1.18
+ serde_spanned@0.6.5
+ serde_urlencoded@0.7.1
+ sha1@0.10.6
+ sha2@0.10.8
+ sharded-slab@0.1.7
+ shlex@1.3.0
+ signal-hook-registry@1.4.1
+ simd-adler32@0.3.7
+ similar@2.5.0
+ simple_asn1@0.6.2
+ slab@0.4.9
+ slotmap@1.0.7
+ smallvec@1.13.2
+ smithay-client-toolkit@0.18.1
+ smithay-clipboard@0.7.1
+ smol_str@0.2.1
+ socket2@0.5.6
+ spin@0.9.8
+ spirv@0.3.0+sdk-1.3.268.0
+ sptr@0.3.2
+ static_assertions@1.1.0
+ strength_reduce@0.2.4
+ strict-num@0.1.1
+ strsim@0.11.0
+ subtle@2.5.0
+ symphonia-bundle-mp3@0.5.4
+ symphonia-core@0.5.4
+ symphonia-metadata@0.5.4
+ symphonia@0.5.4
+ sync_wrapper@0.1.2
+ synstructure@0.13.1
+ syn@1.0.109
+ syn@2.0.60
+ system-configuration-sys@0.5.0
+ system-configuration@0.5.1
+ sys-locale@0.3.1
+ tempfile@3.10.1
+ termcolor@1.4.1
+ thiserror-impl@1.0.58
+ thiserror@1.0.58
+ threadpool@1.8.1
+ thread_local@1.1.8
+ tiff@0.9.1
+ time-core@0.1.2
+ time-macros@0.2.17
+ time@0.3.34
+ tinystr@0.7.5
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ tiny-skia-path@0.11.4
+ tiny-skia@0.11.4
+ tokio-macros@2.2.0
+ tokio-rustls@0.25.0
+ tokio-util@0.7.10
+ tokio@1.37.0
+ toml@0.8.12
+ toml_datetime@0.6.5
+ toml_edit@0.21.1
+ toml_edit@0.22.9
+ tower-layer@0.3.2
+ tower-service@0.3.2
+ tower@0.4.13
+ tracing-appender@0.2.3
+ tracing-attributes@0.1.27
+ tracing-core@0.1.32
+ tracing-log@0.2.0
+ tracing-subscriber@0.3.18
+ tracing-tracy@0.10.4
+ tracing-wasm@0.2.1
+ tracing@0.1.40
+ tracy-client-sys@0.22.2
+ tracy-client@0.16.5
+ transpose@0.2.3
+ try-lock@0.2.5
+ ttf-parser@0.20.0
+ typenum@1.17.0
+ type-map@0.4.0
+ type-map@0.5.0
+ uds_windows@1.1.0
+ unicase@2.7.0
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unicode-segmentation@1.11.0
+ unicode-width@0.1.11
+ unicode-xid@0.2.4
+ unic-char-property@0.9.0
+ unic-char-range@0.9.0
+ unic-common@0.9.0
+ unic-langid-impl@0.9.4
+ unic-langid-macros-impl@0.9.4
+ unic-langid-macros@0.9.4
+ unic-langid@0.9.4
+ unic-segment@0.9.0
+ unic-ucd-segment@0.9.0
+ unic-ucd-version@0.9.0
+ untrusted@0.9.0
+ urlencoding@2.1.3
+ url@2.5.0
+ utf8parse@0.2.1
+ uuid@1.8.0
+ valuable@0.1.0
+ vec_map@0.8.2
+ vergen@8.3.1
+ version_check@0.9.4
+ vfs@0.12.0
+ vswhom-sys@0.1.2
+ vswhom@0.1.0
+ walkdir@2.5.0
+ want@0.3.1
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.92
+ wasm-bindgen-futures@0.4.42
+ wasm-bindgen-macro-support@0.2.92
+ wasm-bindgen-macro@0.2.92
+ wasm-bindgen-shared@0.2.92
+ wasm-bindgen@0.2.92
+ wasm-streams@0.4.0
+ wayland-backend@0.3.3
+ wayland-client@0.31.2
+ wayland-csd-frame@0.3.0
+ wayland-cursor@0.31.1
+ wayland-protocols-plasma@0.2.0
+ wayland-protocols-wlr@0.2.0
+ wayland-protocols@0.31.2
+ wayland-scanner@0.31.1
+ wayland-sys@0.31.1
+ weak-table@0.3.2
+ webbrowser@0.8.15
+ webpki-roots@0.26.1
+ web-sys@0.3.69
+ web-time@0.2.4
+ web-time@1.1.0
+ weezl@0.1.8
+ wgpu-core@0.19.3
+ wgpu-hal@0.19.3
+ wgpu-types@0.19.2
+ wgpu@0.19.4
+ which@4.4.2
+ widestring@1.0.2
+ wide@0.7.15
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-core@0.52.0
+ windows-core@0.54.0
+ windows-result@0.1.0
+ windows-sys@0.45.0
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.42.2
+ windows-targets@0.48.5
+ windows-targets@0.52.4
+ windows@0.48.0
+ windows@0.52.0
+ windows@0.54.0
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.4
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.4
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.4
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.4
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.4
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.4
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.4
+ winit@0.29.15
+ winnow@0.5.40
+ winnow@0.6.5
+ winreg@0.52.0
+ wio@0.2.2
+ x11rb-protocol@0.13.0
+ x11rb@0.13.0
+ x11-dl@2.21.0
+ xcursor@0.3.5
+ xdg-home@1.1.0
+ xkbcommon-dl@0.4.2
+ xkeysym@0.2.0
+ xml-rs@0.8.19
+ yansi@0.5.1
+ zbus@4.1.2
+ zbus_macros@4.1.2
+ zbus_names@3.0.0
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+ zeroize@1.7.0
+ zip@0.6.6
+ zstd-safe@5.0.2+zstd.1.5.2
+ zstd-sys@2.0.10+zstd.1.5.6
+ zstd@0.11.2+zstd.1.5.2
+ zvariant@4.0.2
+ zvariant_derive@4.0.2
+ zvariant_utils@1.1.0
+"
+declare -A GIT_CRATES=(
+ [flash-lso]="https://github.com/ruffle-rs/rust-flash-lso;2f770555ea49c6db49c57c1dd46c7cc686e8dacc;rust-flash-lso-%commit%/flash-lso"
+ [h263-rs-deblock]='https://github.com/ruffle-rs/h263-rs;5c8d9d7d86f62b70ca484df006a75a9c8ff1985c;h263-rs-%commit%/deblock'
+ [h263-rs-yuv]="https://github.com/ruffle-rs/h263-rs;5c8d9d7d86f62b70ca484df006a75a9c8ff1985c;h263-rs-%commit%/yuv"
+ [h263-rs]="https://github.com/ruffle-rs/h263-rs;5c8d9d7d86f62b70ca484df006a75a9c8ff1985c;h263-rs-%commit%/h263"
+ [jpegxr]="https://github.com/ruffle-rs/jpegxr;688021cb0a4935295f9aa8b488ca05bb4f1e9b34;jpegxr-%commit%"
+ [nellymoser-rs]="https://github.com/ruffle-rs/nellymoser;754b1184037aa9952a907107284fb73897e26adc;nellymoser-%commit%"
+ [nihav_codec_support]="https://github.com/ruffle-rs/nihav-vp6;83c7e1094d603d9fc1212d39d99abb17f3a3226b;nihav-vp6-%commit%/nihav-codec-support"
+ [nihav_core]="https://github.com/ruffle-rs/nihav-vp6;83c7e1094d603d9fc1212d39d99abb17f3a3226b;nihav-vp6-%commit%/nihav-core"
+ [nihav_duck]="https://github.com/ruffle-rs/nihav-vp6;83c7e1094d603d9fc1212d39d99abb17f3a3226b;nihav-vp6-%commit%/nihav-duck"
+)
+inherit cargo desktop optfeature xdg
+
+MY_PV="nightly-${PV:3:4}-${PV:7:2}-${PV:9:2}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Flash Player emulator written in Rust"
+HOMEPAGE="https://ruffle.rs/"
+SRC_URI="
+ https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz -> ${MY_P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+LICENSE+="
+ Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT
+ MPL-2.0 OFL-1.1 openssl Unicode-DFS-2016 ZLIB
+" # crates
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# dlopen: libX* (see winit+x11-dl crates)
+RDEPEND="
+ media-libs/alsa-lib
+ virtual/libudev:=
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXrandr
+ x11-libs/libXrender
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ virtual/jre:*
+ virtual/pkgconfig
+ >=virtual/rust-1.76
+"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}.*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch
+)
+
+src_configure() {
+ local workspaces=(
+ ruffle_{desktop,scanner}
+ exporter
+ $(usev test tests)
+ )
+
+ cargo_src_configure "${workspaces[@]/#/--package=}"
+}
+
+src_test() {
+ local skip=(
+ # may need more investigation, strangely "pass" (xfail) when
+ # RUSTFLAGS is unset, skip for now (bug #915726)
+ --skip from_avmplus/as3/Types/Int/wraparound
+ )
+
+ cargo_src_test -- "${skip[@]}"
+}
+
+src_install() {
+ dodoc README.md
+
+ newicon web/packages/extension/assets/images/icon180.png ${PN}.png
+ make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \
+ "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;"
+
+ # TODO: swap with /gentoo after https://github.com/gentoo/gentoo/pull/29510
+ cd target/$(usex debug{,} release) || die
+
+ newbin ${PN}_desktop ${PN}
+ newbin exporter ${PN}_exporter
+ dobin ${PN}_scanner
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "${PN} is experimental software that is still under heavy development"
+ elog "and only receiving nightly releases. Plans in Gentoo is to update"
+ elog "roughly every months if no known major regressions (feel free to"
+ elog "report if you feel a newer nightly is needed ahead of time)."
+ elog
+ elog "There is currently no plans to support wasm builds / browser"
+ elog "extensions, this provides the desktop viewer and other tools."
+ fi
+
+ optfeature "the in-application file picker" sys-apps/xdg-desktop-portal
+}
diff --git a/app-emulation/ruffle/ruffle-9999.ebuild b/app-emulation/ruffle/ruffle-9999.ebuild
new file mode 100644
index 000000000000..29549b6f4ecb
--- /dev/null
+++ b/app-emulation/ruffle/ruffle-9999.ebuild
@@ -0,0 +1,90 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cargo desktop git-r3 optfeature xdg
+
+DESCRIPTION="Flash Player emulator written in Rust"
+HOMEPAGE="https://ruffle.rs/"
+EGIT_REPO_URI="https://github.com/ruffle-rs/ruffle.git"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+LICENSE+="
+ Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT
+ MPL-2.0 OFL-1.1 openssl Unicode-DFS-2016 ZLIB
+" # crates
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# dlopen: libX* (see winit+x11-dl crates)
+RDEPEND="
+ media-libs/alsa-lib
+ virtual/libudev:=
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXrandr
+ x11-libs/libXrender
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ virtual/jre:*
+ virtual/pkgconfig
+ >=virtual/rust-1.76
+"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}.*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch
+)
+
+src_unpack() {
+ git-r3_src_unpack
+ cargo_live_src_unpack
+}
+
+src_configure() {
+ local workspaces=(
+ ruffle_{desktop,scanner}
+ exporter
+ $(usev test tests)
+ )
+
+ cargo_src_configure "${workspaces[@]/#/--package=}"
+}
+
+src_test() {
+ local skip=(
+ # may need more investigation, strangely "pass" (xfail) when
+ # RUSTFLAGS is unset, skip for now (bug #915726)
+ --skip from_avmplus/as3/Types/Int/wraparound
+ )
+
+ cargo_src_test -- "${skip[@]}"
+}
+
+src_install() {
+ dodoc README.md
+
+ newicon web/packages/extension/assets/images/icon180.png ${PN}.png
+ make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \
+ "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;"
+
+ # TODO: swap with /gentoo after https://github.com/gentoo/gentoo/pull/29510
+ cd target/$(usex debug{,} release) || die
+
+ newbin ${PN}_desktop ${PN}
+ newbin exporter ${PN}_exporter
+ dobin ${PN}_scanner
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "the in-application file picker" sys-apps/xdg-desktop-portal
+}
diff --git a/app-emulation/runc/Manifest b/app-emulation/runc/Manifest
deleted file mode 100644
index 0cfaf470c57d..000000000000
--- a/app-emulation/runc/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST runc-1.0.0_rc10.tar.gz 1929802 BLAKE2B 8399c3d62726bbb6256efef7e15b7496a7172bf25170b12beb60be498967dec4fde2aebd073de4265e132ff864bafc4d2499ab677390a4f7c0a1605d83ae55e5 SHA512 598221071ef07d18bf34bf5d5c68b8ad78ee71716177fc3ce5b6909cd841d5aed93f17ebf1f3d134707d29eef1f54a4ddc21e79621a9bd957df28a8d2e028ab7
-DIST runc-1.0.0_rc92.tar.gz 2061469 BLAKE2B 06444eaf7602fe9ddaf7728c7f55bd718d1fe8f5f0ce6b21abc49a1d84eaa2fc3550d0d275ba5548ee9ebb6948a8ed415de8562a990d6085d1da8fb37e46afb9 SHA512 770a31736f5ab4ba359d91bd236750511f90b29af0af2bad5c238b611f465d7302e78b57ce8a702068440fda2d74588b92fd4d24c6d34e6fc1bd649ea3d8ee40
-DIST runc-1.0.0_rc93.tar.gz 2132429 BLAKE2B 35d6fe9eebd26fb37d648a67b35415c51283ac3dff0f111e88be9120cf139e4811ab9a7b98e2c559dc4ce8b0e7958f15464dc4f039f7b3eb9f06f26a1776875f SHA512 087becdf3882818b7c8d05ac0192928695b35033d72e5ce584d5b8291310f4ba35b1cc78299fc8f17dc7ee425a94817b989890f4108444cc3c45927740b2d378
diff --git a/app-emulation/runc/metadata.xml b/app-emulation/runc/metadata.xml
deleted file mode 100644
index 8b7ea39239c3..000000000000
--- a/app-emulation/runc/metadata.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription lang="en">
- runc is a CLI tool for spawning and running containers according
- to the OCF (Open Container Format) specification.
- </longdescription>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <use>
- <flag name="ambient">
- Enable support for ambient capabilities set (Requires Linux kernel 4.3 or later).
- </flag>
- <flag name="apparmor">
- Enable AppArmor support.
- </flag>
- <flag name="kmem">
- Enable Kernel Memory Accounting.
- </flag>
- </use>
- <upstream>
- <remote-id type="github">opencontainers/runc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/runc/runc-1.0.0_rc10-r1.ebuild b/app-emulation/runc/runc-1.0.0_rc10-r1.ebuild
deleted file mode 100644
index 9f60bd86db13..000000000000
--- a/app-emulation/runc/runc-1.0.0_rc10-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit golang-vcs-snapshot linux-info
-
-# update on bump, look for https://github.com/docker\
-# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
-RUNC_COMMIT="dc9208a3303feef5b3839f4323d9beb36df0a9dd"
-CONFIG_CHECK="~USER_NS"
-EGO_PN="github.com/opencontainers/${PN}"
-
-DESCRIPTION="runc container cli tools"
-HOMEPAGE="http://runc.io"
-SRC_URI="https://github.com/opencontainers/${PN}/archive/v${RUNC_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD-2 BSD MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x86"
-IUSE="apparmor +ambient hardened +kmem +seccomp selinux test"
-
-DEPEND="seccomp? ( sys-libs/libseccomp )"
-
-RDEPEND="
- ${DEPEND}
- !app-emulation/docker-runc
- apparmor? ( sys-libs/libapparmor )
-"
-
-BDEPEND="
- dev-go/go-md2man
- test? ( "${RDEPEND}" )
-"
-
-# tests need busybox binary, and portage namespace
-# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
-# majority of tests pass
-RESTRICT+=" test"
-
-src_compile() {
- # Taken from app-emulation/docker-1.7.0-r1
- export CGO_CFLAGS="-I${ROOT}/usr/include"
- export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
- -L${ROOT}/usr/$(get_libdir)"
-
- # build up optional flags
- local options=(
- $(usev ambient)
- $(usev apparmor)
- $(usev seccomp)
- $(usev selinux)
- $(usex kmem '' 'nokmem')
- )
-
- myemakeargs=(
- BINDIR="${ED}/usr/bin"
- BUILDTAGS="${options[*]}"
- COMMIT=${RUNC_COMMIT}
- DESTDIR="${ED}"
- PREFIX="${ED}/usr"
- GOPATH="${S}"
- -C "src/${EGO_PN}"
- )
-
- emake "${myemakeargs[@]}" runc man
-}
-
-src_install() {
- emake "${myemakeargs[@]}" install install-man install-bash
-
- local DOCS=( src/"${EGO_PN}"/{README.md,PRINCIPLES.md,docs/.} )
- einstalldocs
-}
-
-src_test() {
- emake "${myemakeargs[@]}" localunittest
-}
diff --git a/app-emulation/runc/runc-1.0.0_rc92.ebuild b/app-emulation/runc/runc-1.0.0_rc92.ebuild
deleted file mode 100644
index 2a192400ef49..000000000000
--- a/app-emulation/runc/runc-1.0.0_rc92.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module linux-info
-
-# update on bump, look for https://github.com/docker\
-# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
-RUNC_COMMIT=ff819c7e9184c13b7c2607fe6c30ae19403a7aff
-CONFIG_CHECK="~USER_NS"
-
-DESCRIPTION="runc container cli tools"
-HOMEPAGE="http://runc.io"
-MY_PV="${PV/_/-}"
-SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD-2 BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="apparmor +ambient hardened +kmem +seccomp selinux test"
-
-DEPEND="seccomp? ( sys-libs/libseccomp )"
-
-RDEPEND="
- ${DEPEND}
- !app-emulation/docker-runc
- apparmor? ( sys-libs/libapparmor )
-"
-
-BDEPEND="
- dev-go/go-md2man
- test? ( "${RDEPEND}" )
-"
-
-# tests need busybox binary, and portage namespace
-# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
-# majority of tests pass
-RESTRICT+=" test"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-src_compile() {
- # Taken from app-emulation/docker-1.7.0-r1
- export CGO_CFLAGS="-I${ROOT}/usr/include"
- export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
- -L${ROOT}/usr/$(get_libdir)"
-
- # build up optional flags
- local options=(
- $(usev ambient)
- $(usev apparmor)
- $(usev seccomp)
- $(usev selinux)
- $(usex kmem '' 'nokmem')
- )
-
- myemakeargs=(
- BINDIR="${ED}/usr/bin"
- BUILDTAGS="${options[*]}"
- COMMIT=${RUNC_COMMIT}
- DESTDIR="${ED}"
- PREFIX="${ED}/usr"
- )
-
- emake "${myemakeargs[@]}" runc man
-}
-
-src_install() {
- emake "${myemakeargs[@]}" install install-man install-bash
-
- local DOCS=( README.md PRINCIPLES.md docs/. )
- einstalldocs
-}
-
-src_test() {
- emake "${myemakeargs[@]}" localunittest
-}
diff --git a/app-emulation/runc/runc-1.0.0_rc93.ebuild b/app-emulation/runc/runc-1.0.0_rc93.ebuild
deleted file mode 100644
index f89d4a1ce278..000000000000
--- a/app-emulation/runc/runc-1.0.0_rc93.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit go-module linux-info
-
-# update on bump, look for https://github.com/docker\
-# docker-ce/blob/<docker ver OR branch>/components/engine/hack/dockerfile/install/runc.installer
-RUNC_COMMIT=ff819c7e9184c13b7c2607fe6c30ae19403a7aff
-CONFIG_CHECK="~USER_NS"
-
-DESCRIPTION="runc container cli tools"
-HOMEPAGE="http://runc.io"
-MY_PV="${PV/_/-}"
-SRC_URI="https://github.com/opencontainers/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD-2 BSD MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="apparmor hardened +kmem +seccomp test"
-
-DEPEND="seccomp? ( sys-libs/libseccomp )"
-
-RDEPEND="
- ${DEPEND}
- !app-emulation/docker-runc
- apparmor? ( sys-libs/libapparmor )
-"
-
-BDEPEND="
- dev-go/go-md2man
- test? ( "${RDEPEND}" )
-"
-
-# tests need busybox binary, and portage namespace
-# sandboxing disabled: mount-sandbox pid-sandbox ipc-sandbox
-# majority of tests pass
-RESTRICT+=" test"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-src_compile() {
- # Taken from app-emulation/docker-1.7.0-r1
- export CGO_CFLAGS="-I${ROOT}/usr/include"
- export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')
- -L${ROOT}/usr/$(get_libdir)"
-
- # build up optional flags
- local options=(
- $(usev apparmor)
- $(usev seccomp)
- $(usex kmem '' 'nokmem')
- )
-
- myemakeargs=(
- BINDIR="/usr/bin"
- BUILDTAGS="${options[*]}"
- COMMIT=${RUNC_COMMIT}
- DESTDIR="${ED}"
- PREFIX="/usr"
- )
-
- emake "${myemakeargs[@]}" runc man
-}
-
-src_install() {
- emake "${myemakeargs[@]}" install install-man install-bash
-
- local DOCS=( README.md PRINCIPLES.md docs/. )
- einstalldocs
-}
-
-src_test() {
- emake "${myemakeargs[@]}" localunittest
-}
diff --git a/app-emulation/runv/metadata.xml b/app-emulation/runv/metadata.xml
index af5a58145e7f..8187312886a3 100644
--- a/app-emulation/runv/metadata.xml
+++ b/app-emulation/runv/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/app-emulation/s6-overlay/Manifest b/app-emulation/s6-overlay/Manifest
deleted file mode 100644
index 4b3eabe8b046..000000000000
--- a/app-emulation/s6-overlay/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST s6-overlay-1.18.1.3.tar.gz 20067 BLAKE2B 7006549052fb27c8e7ec2a756854ebd82a41a88e14be45657c375321f4c18f482aefc8d21f1d57d8432ff1b836f114aac75a28b56bdd7722b14de3c06330024d SHA512 2b17b86a93e1efc27181a100bb86aacbce2e2c58cfd0d0855a293b99ba5c871a2f17bd10fa14b173b297816ae2d1658aaee2e6a6e25b957ad60f93d535955775
-DIST s6-overlay-2.1.0.2.tar.gz 30688 BLAKE2B 14d631a23be831d9dbc62a7e5ca341320eb8a0f46ae94d243bba4d6ba8fe9f6102dc818555398af64a207ea3056eb2cbbe045b5ec3baaf7d3a058217ad20e4f7 SHA512 6ff18566c64031fca985b36d6cbba646c3fb5c7f16a9d2dcca74e66ed4de5f10399c2142453e550c4e711f716158b91dd5777c7f6a03a91ed61ca9e81d6cef30
diff --git a/app-emulation/s6-overlay/metadata.xml b/app-emulation/s6-overlay/metadata.xml
deleted file mode 100644
index eae269410bf0..000000000000
--- a/app-emulation/s6-overlay/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <upstream>
- <remote-id type="github">just-containers/s6-overlay</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/s6-overlay/s6-overlay-1.18.1.3.ebuild b/app-emulation/s6-overlay/s6-overlay-1.18.1.3.ebuild
deleted file mode 100644
index c9dd1445da21..000000000000
--- a/app-emulation/s6-overlay/s6-overlay-1.18.1.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-if [[ ${PV} = 9999 ]]; then
- EGIT_REPO_URI="https://github.com/just-containers/${PN}"
- inherit git-r3
-else
- SRC_URI="https://github.com/just-containers/${PN}/archive/v${PV}.tar.gz ->
- ${P}.tar.gz"
- KEYWORDS="~amd64"
- inherit vcs-snapshot
-fi
-
-DESCRIPTION="an s6-based init system for containers"
-HOMEPAGE="https://github.com/just-containers/s6-overlay"
-
-LICENSE="ISC"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="sys-apps/s6
- sys-apps/s6-portable-utils"
-
-src_install() {
- dodoc *.md
- cd builder/overlay-rootfs
- dobin usr/bin/{fix-attrs,logutil*,print*,with*}
-
- insinto /
- doins -r etc init
-
- # create must exist directories
- dodir /etc/{cont-init.d,cont-finish.d,fix-attrs.d,services.d}
- dodir /etc/s6/init/env-stage2
-
- # create "supervise" directory in fdholder, its needed for no-catchall
- # stage2 wake up
- dodir /etc/s6/services/s6-fdholderd/supervise
- fperms 0700 /etc/s6/services/s6-fdholderd/supervise
-
- # fix misc permissions
- fperms 0755 /init
- fperms 0755 /etc/s6/init/init-stage1 \
- /etc/s6/init/init-stage2 \
- /etc/s6/init/init-stage2-redirfd \
- /etc/s6/init/init-stage3
- fperms 0755 /etc/s6/init-catchall/init-stage1 \
- /etc/s6/init-catchall/init-stage2
- fperms 0755 /etc/s6/init-no-catchall/init-stage1 \
- /etc/s6/init-no-catchall/init-stage2
- fperms 0755 /etc/s6/services/.s6-svscan/crash
- fperms 0755 /etc/s6/services/.s6-svscan/finish
- fperms 0755 /etc/s6/services/s6-fdholderd/run
- fperms 0755 /etc/s6/services/s6-svscan-log/run
-}
diff --git a/app-emulation/s6-overlay/s6-overlay-2.1.0.2-r1.ebuild b/app-emulation/s6-overlay/s6-overlay-2.1.0.2-r1.ebuild
deleted file mode 100644
index 17960297fa00..000000000000
--- a/app-emulation/s6-overlay/s6-overlay-2.1.0.2-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = 9999 ]]; then
- EGIT_REPO_URI="https://github.com/just-containers/${PN}"
- inherit git-r3
-else
- SRC_URI="https://github.com/just-containers/${PN}/archive/v${PV}.tar.gz ->
- ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="an s6-based init system for containers"
-HOMEPAGE="https://github.com/just-containers/s6-overlay"
-
-LICENSE="ISC"
-SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="sys-apps/s6
- sys-apps/s6-portable-utils"
-
-src_install() {
- dodoc *.md
- cd builder/overlay-rootfs
- dobin usr/bin/{fix-attrs,logutil*,print*,with*}
-
- insinto /
- doins -r etc init
-
- # create must exist directories
- dodir /etc/{cont-init.d,cont-finish.d,fix-attrs.d,services.d}
- dodir /etc/s6/init/env-stage2
-
- # create "supervise" directory in fdholder, its needed for no-catchall
- # stage2 wake up
- dodir /etc/s6/services/s6-fdholderd/supervise
- fperms 0700 /etc/s6/services/s6-fdholderd/supervise
-
- # fix misc permissions
- fperms 0755 /init
- fperms 0755 /etc/s6/init/init-stage1 \
- /etc/s6/init/init-stage2 \
- /etc/s6/init/init-stage2-redirfd \
- /etc/s6/init/init-stage3
- fperms 0755 /etc/s6/init-catchall/init-stage1 \
- /etc/s6/init-catchall/init-stage2
- fperms 0755 /etc/s6/init-no-catchall/init-stage1 \
- /etc/s6/init-no-catchall/init-stage2
- fperms 0755 /etc/s6/services/.s6-svscan/crash
- fperms 0755 /etc/s6/services/.s6-svscan/finish
- fperms 0755 /etc/s6/services/s6-fdholderd/run
- fperms 0755 /etc/s6/services/s6-svscan-log/run
-
- # create a stub for the s6-overlay-preinit setuid program, since
- # it's really not needed when permissions are already correct
- dosym true /bin/s6-overlay-preinit
-}
diff --git a/app-emulation/sen/Manifest b/app-emulation/sen/Manifest
deleted file mode 100644
index f610c5c57e56..000000000000
--- a/app-emulation/sen/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sen-0.6.1_p20200905.tar.gz 1913978 BLAKE2B 189bff583770265de29ca3e54cad1283051c05eccab4fc98160801e50b31376188c52e49b43972292fe231b376ba42879fb34d7b1ae70c2246d676a6e25f670b SHA512 cd1899c1b4c5c7cf7f1f2f5e557bd609a7d7619dbc3fc6457f5ef5ce5c9ab43d92a6fbfa228c43d543d4f46c7928d74dbed9ab8346cabc772c8e7c63a7c07bfe
diff --git a/app-emulation/sen/metadata.xml b/app-emulation/sen/metadata.xml
deleted file mode 100644
index b6ab49948eb6..000000000000
--- a/app-emulation/sen/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>nelo@wallus.de</email>
- <name>Nelo-Thara Wallus</name>
- </maintainer>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">TomasTomecek/sen</remote-id>
- <remote-id type="pypi">sen</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/sen/sen-0.6.1_p20200905.ebuild b/app-emulation/sen/sen-0.6.1_p20200905.ebuild
deleted file mode 100644
index 0ce4e0dc2ae1..000000000000
--- a/app-emulation/sen/sen-0.6.1_p20200905.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1
-
-COMMIT="02e5872ee2905861e1da06ab5174e1a3f41f0e0b"
-
-DESCRIPTION="Terminal User Interface for docker engine"
-HOMEPAGE="https://github.com/TomasTomecek/sen"
-SRC_URI="https://github.com/TomasTomecek/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]
- dev-python/urwidtrees[${PYTHON_USEDEP}]
- dev-python/docker-py[${PYTHON_USEDEP}]
- "
-DEPEND="${RDEPEND}
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/flexmock[${PYTHON_USEDEP}]
- )
- "
-
-python_install_all() {
- distutils-r1_python_install_all
- dodoc -r docs
-}
-
-python_test() {
- pytest -vv tests || die "pytest failed"
-}
diff --git a/app-emulation/simh/metadata.xml b/app-emulation/simh/metadata.xml
index c5298995d2d4..b67c0c2fbff6 100644
--- a/app-emulation/simh/metadata.xml
+++ b/app-emulation/simh/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">simh/simh</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/simplevirt/Manifest b/app-emulation/simplevirt/Manifest
deleted file mode 100644
index 4c0da8421552..000000000000
--- a/app-emulation/simplevirt/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-DIST github.com-go-check-check-20d25e2804050c1cd24a7eea1e7a6447dd0e74ec.tar.gz 30367 BLAKE2B c18a0f1aff1bde8e6fc533ea627377ca4de4830d84289355f68163855ec97ac47f537b3b2627568c31714ac3a7672ebf86d60452269c75c80c2cd7565d7c97a0 SHA512 94342de3aad4db1c4442062f4cf4e57c723a43bbcb0069a8bed3b719e3864eef7500a24c9c99c755114708d6822e9b23f296b6d0b2b46f32cc6ffc65944d1729
-DIST github.com-go-yaml-yaml-v2.2.1.tar.gz 70217 BLAKE2B 4ba34bd9432699ec60348d13d8b95498abf751a922f782bf177695e6854faf907c1728d1dc13ad1cb63215fe3a86366cd99068247d15c726ba77bd0cf434b9c6 SHA512 d49267ee361196b0a1e1b9ad6f6cfa903627ccf7925fc3acc8d1bd214b64d362a9dcee10ba524fb8887226235c5baa2c8812a9f62adc7e6719d4ed84baa4ce4b
-DIST github.com-inconshreveable-mousetrap-v1.0.0.tar.gz 2290 BLAKE2B bd46103e50dd916bad41aafbf8c1945d835222c131a88f4d3fba35feb4b11ae83c900280c9dafc6f0ef92f71b6a3ba02996dcb31d67eb49314b29d23fda2c8b8 SHA512 6f68bd6b7b1c7aa6651fe83b5230b6c8398b85561b01ca6a36ee638e186c325cc70444818de7a569db240159ba5840ed24f212e0defdf9f9890803a7641285d9
-DIST github.com-spf13-cobra-v0.0.3.tar.gz 101526 BLAKE2B 8613eccdd5bbd31429b7aa8260ee9367e34a5cc78075b394b09db91a97445ed1dadfb53a86105b55cb6ea3b4c2f9d50553e9198d64dfb6033dd1db2805984a2c SHA512 c38db9432a168f913b41a1e1b11d84bedfade82ff70791be9d343a6cc86b8a05b18bae344d67ebd8bae4c98662db7ac664a9dc86fa9b9ad4aa5c96cbf0178efb
-DIST github.com-spf13-pflag-v1.0.2.tar.gz 44042 BLAKE2B 157fa6c2b1efa594abebd76ff03121050187974d62475b1aa66af325a2198ea64105655597703c37f25e22c4a07864d9fc31a6a29ba9233fdeefcceef400d5e5 SHA512 fd3cefd683329316eda4ec660193a970e38435515c16805190235e2c969c8d65a6f602fdc7c2f7cf3d9740c5a321ee5be5e8034bd6cd7c05c12722cf64d1e8ae
-DIST simplevirt-0.0_p20181012.tar.gz 14652 BLAKE2B a6a648ed159d0648f27174c6598c9ae85e41530b218ef0360962884d1f61cfd16d2534ef4d2a01eb87138d0390fc7fe25e070c602f296344b8285c9dd2804287 SHA512 64c0edfc22ed0347c7335b942b06b6b9fd8c3f2ea7d374bf14b96b98b23248d15b6f38d7d1d809c8cd60b605f1809dfca8ff5c249e2df183c8b1636c26440ca8
diff --git a/app-emulation/simplevirt/files/simplevirtd.confd b/app-emulation/simplevirt/files/simplevirtd.confd
deleted file mode 100644
index 9f679f6221ac..000000000000
--- a/app-emulation/simplevirt/files/simplevirtd.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-# /etc/conf.d/simplevirtd: config file for simplevirtd
-
-# See `simplevirtd --help`
-SIMPLEVIRTD_OPTS=""
diff --git a/app-emulation/simplevirt/files/simplevirtd.initd b/app-emulation/simplevirt/files/simplevirtd.initd
deleted file mode 100644
index d8dfadbcb69b..000000000000
--- a/app-emulation/simplevirt/files/simplevirtd.initd
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-name="simplevirtd"
-pidfile="/run/simplevirtd.pid"
-retry="SIGTERM/7200"
-command="/usr/sbin/simplevirtd"
-command_background="1"
-command_args="--syslog ${SIMPLEVIRTD_ARGS}"
-
-depend() {
- need net
- use dns logger
-}
diff --git a/app-emulation/simplevirt/metadata.xml b/app-emulation/simplevirt/metadata.xml
deleted file mode 100644
index 37f1f5f77e60..000000000000
--- a/app-emulation/simplevirt/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <maintainer status="active">
- <email>rafael@rafaelmartins.eng.br</email>
- <name>Rafael G. Martins</name>
- </maintainer>
- <remote-id type="github">rafaelmartins/simplevirt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/simplevirt/simplevirt-0.0_p20181012-r1.ebuild b/app-emulation/simplevirt/simplevirt-0.0_p20181012-r1.ebuild
deleted file mode 100644
index 45f5a524d281..000000000000
--- a/app-emulation/simplevirt/simplevirt-0.0_p20181012-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGO_VENDOR=(
- "github.com/inconshreveable/mousetrap v1.0.0"
- "github.com/spf13/cobra v0.0.3"
- "github.com/spf13/pflag v1.0.2"
- "gopkg.in/check.v1 20d25e2804050c1cd24a7eea1e7a6447dd0e74ec github.com/go-check/check"
- "gopkg.in/yaml.v2 v2.2.1 github.com/go-yaml/yaml"
-)
-
-inherit linux-info golang-vcs-snapshot
-
-EGO_PN="github.com/rafaelmartins/simplevirt"
-GIT_COMMIT="78d29d8fa11ce72af5f897430af7bb7d2947a32f"
-GIT_VERSION="0.0.26-78d2"
-ARCHIVE_URI="https://${EGO_PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-DESCRIPTION="Simple virtual machine manager for Linux (QEMU/KVM)"
-HOMEPAGE="https://github.com/rafaelmartins/simplevirt"
-SRC_URI="
- ${ARCHIVE_URI}
- ${EGO_VENDOR_URI}"
-
-LICENSE="Apache-2.0 BSD-2 BSD MIT"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-RDEPEND="
- acct-group/simplevirt
- virtual/logger
- app-emulation/qemu"
-
-CONFIG_CHECK="~TUN ~BRIDGE"
-ERROR_TUN="CONFIG_TUN: Universal TUN/TAP driver required to setup bridge networking"
-ERROR_BRIDGE="CONFIG_BRIDGE: 802.1d Ethernet Bridging required to setup bridge networking"
-
-src_compile() {
- pushd src/${EGO_PN} > /dev/null || die
- GOPATH="${S}" go install -v -ldflags "-X ${EGO_PN}.Version=${GIT_VERSION}" ./cmd/... || die
- popd > /dev/null || die
-}
-
-src_install() {
- dobin bin/simplevirtctl
- dosbin bin/simplevirtd
-
- newinitd "${FILESDIR}/simplevirtd.initd" simplevirtd
- newconfd "${FILESDIR}/simplevirtd.confd" simplevirtd
-
- dodoc "src/${EGO_PN}/README.md"
-
- keepdir /etc/simplevirt
-}
-
-src_test() {
- pushd src/${EGO_PN} > /dev/null || die
- GOPATH="${S}" go test -v ./pkg/... || die
- popd > /dev/null || die
-}
-
-pkg_postinst() {
- elog
- elog "To use simplevirt, the simplevirtd daemon must be running as root."
- elog "To automatically start the daemon at boot, add it to the default runlevel:"
- elog " rc-update add simplevirtd default"
- elog
- elog "systemd is not supported for now."
- elog
- elog "To use simplevirtctl as a non-root user, add yourself to the 'simplevirt' group:"
- elog " usermod -aG simplevirt youruser"
- elog
-}
diff --git a/app-emulation/ski/Manifest b/app-emulation/ski/Manifest
index 3aed4ea18a1c..dbb5bd287253 100644
--- a/app-emulation/ski/Manifest
+++ b/app-emulation/ski/Manifest
@@ -1 +1,2 @@
DIST ski-1.3.2.tar.gz 2715791 BLAKE2B 5e6b237ea21bf410e44dbaa88150d980f2af66728effeab4e8bcef02f27c24069c4bcaf42d3814ad15c3bd759819d468f163b6c64a89408c09d1ffbdc9302c0f SHA512 21f2e1dd87cb517602d4d6ef62707ec6042c1b6ec5dfd063db7315d13bbc3fb47b491c15b7efb0433fc82f27c7924e2d50b2f57fe24e49aeb864ce2c3c2c8bd0
+DIST ski-1.4.0.tar.xz 2373876 BLAKE2B c9c20582274dd6db6e216c709a1793b55ac2c1aaf26c5e235bffdd190e9e7dca4c7ef37f96309c61ba9b5f03229966710a65405e2a345d65a08b9163f545c85b SHA512 855bc73c2cd93d890cd532db524eecc122d5f3eddf189efdbf34069d1c9bd7b7f98d5e593387fdc31b38fc8630f00b6b126f5c1a1f22dab57447e024b9015cf5
diff --git a/app-emulation/ski/metadata.xml b/app-emulation/ski/metadata.xml
index bdbbdb76bcb8..fab9a91d89c3 100644
--- a/app-emulation/ski/metadata.xml
+++ b/app-emulation/ski/metadata.xml
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="debug">enable extra binary emulation debugging via <pkg>sys-libs/binutils-libs</pkg></flag>
</use>
<upstream>
<remote-id type="sourceforge">ski</remote-id>
+ <remote-id type="github">trofi/ski</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/ski/ski-1.3.2-r4.ebuild b/app-emulation/ski/ski-1.3.2-r4.ebuild
index ed996625c01d..ae695b1a8056 100644
--- a/app-emulation/ski/ski-1.3.2-r4.ebuild
+++ b/app-emulation/ski/ski-1.3.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,8 +6,8 @@ EAPI=7
inherit autotools
DESCRIPTION="ia64 instruction set simulator"
-HOMEPAGE="http://ski.sourceforge.net/ http://www.gelato.unsw.edu.au/IA64wiki/SkiSimulator"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="http://ski.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -20,8 +20,8 @@ RDEPEND="dev-libs/libltdl:0=
debug? ( sys-libs/binutils-libs:0= )
motif? ( x11-libs/motif:0= )"
DEPEND="${RDEPEND}
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
dev-util/gperf"
# games-sports/ski and app-emulation/ski both install 'ski' binary, bug #653110
diff --git a/app-emulation/ski/ski-1.4.0.ebuild b/app-emulation/ski/ski-1.4.0.ebuild
new file mode 100644
index 000000000000..1867d53df65f
--- /dev/null
+++ b/app-emulation/ski/ski-1.4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="ia64 instruction set simulator"
+HOMEPAGE="https://github.com/trofi/ski http://ski.sourceforge.net/"
+SRC_URI="https://github.com/trofi/ski/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug motif"
+
+RDEPEND="
+ dev-libs/libltdl:=
+ sys-libs/ncurses:=
+ virtual/libelf
+ debug? ( sys-libs/binutils-libs:= )
+ motif? ( x11-libs/motif:= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/gperf
+"
+# games-sports/ski and app-emulation/ski both install 'ski' binary, bug #653110
+RDEPEND="
+ ${RDEPEND}
+ !games-sports/ski
+"
+
+src_configure() {
+ # bug #854531
+ filter-lto
+
+ local myeconfargs=(
+ --without-gtk
+ $(use_with motif x11)
+ $(use_with debug bfd)
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/app-emulation/skopeo/Manifest b/app-emulation/skopeo/Manifest
deleted file mode 100644
index 4bb4f7d6b7c3..000000000000
--- a/app-emulation/skopeo/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST skopeo-0.1.41.tar.gz 4692408 BLAKE2B d5e99be0cb478065f1478beda355abc11c8f13ad8446251048502da1b1af38d407ec46d284e59d2018af5d1ca6a953ad6156a306e9bc1acbdb22b447fe17a59f SHA512 924af178eb9621395cfffcf51aa072886dc8c20746bce1599a503df8c54794e34184a1fc6fd9582b889c7c8efecf8cf192797bc8e208b90c71cca31bb970d8e9
-DIST skopeo-0.2.0.tar.gz 4295805 BLAKE2B 4ad13ff49bec56f3766e8d94f80fe8e22edb011b8862fb1249882e5695fa9260a6e2ce3d8345411ee7717cb92d4c1516268678f0884a62b02bfc8c9a554367ee SHA512 89d416110561dbe967860f752db607634a37b12adc376736de48264ec064abfed6b3db9ae195ffb3e9616dd6d65528660a23f2a5145d4674ed47cf443f17295a
-DIST skopeo-1.1.0.tar.gz 4516471 BLAKE2B 665acc925cd4f0a97919bbc03db37ca9b5636d110e4780b5053c4a2773b4e524dd879870262f1760aee7413f52c7614cc4adcd56f20881cfe20b2c9a3af09dc3 SHA512 84ce9d786a471cf7d2551ae884801255b0fe501a21d3d2bbbfe0bb9e9c771105b00cdcfc1bef2cee5bd5ce55d0fd30be49c87c09361be47854dbb5e8e20e13a5
-DIST skopeo-1.1.1.tar.gz 4622784 BLAKE2B 3f72a812409a48d960fe36028355cf7128dabbb466bbb20aae9d8dda81a35e018e5a3cf4d430beaf8834f5355d6293a01b7702e88713557afb58216bffd9f3e5 SHA512 7d38179d550a1461f58d2d590d69ea8445d2c1d399a7cf39fcbcf6aab64da056c6de0f772f28eb60aec04c379d2cf27cbc5678546005ea6c1e8c20b7fe5b8676
diff --git a/app-emulation/skopeo/metadata.xml b/app-emulation/skopeo/metadata.xml
deleted file mode 100644
index 6027ac0be078..000000000000
--- a/app-emulation/skopeo/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <use>
- <flag name="btrfs">Enables dependencies for the "btrfs" graph driver.</flag>
- </use>
-</pkgmetadata>
diff --git a/app-emulation/skopeo/skopeo-0.1.41.ebuild b/app-emulation/skopeo/skopeo-0.1.41.ebuild
deleted file mode 100644
index cc09b12134e3..000000000000
--- a/app-emulation/skopeo/skopeo-0.1.41.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-COMMIT=7d080ca
-inherit go-module bash-completion-r1
-
-DESCRIPTION="Command line utility foroperations on container images and image repositories"
-HOMEPAGE="https://github.com/containers/skopeo"
-SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:=
- >=dev-libs/libassuan-2.4.3:=
- dev-libs/libgpg-error:=
- >=sys-fs/btrfs-progs-4.0.1
- >=sys-fs/lvm2-2.02.145:="
-DEPEND="${COMMON_DEPEND}
- dev-go/go-md2man"
-RDEPEND="${COMMON_DEPEND}"
-
-RESTRICT="test"
-
-src_compile() {
- local BUILDTAGS="containers_image_ostree_stub"
- set -- env -u GOCACHE -u XDG_CACHE_HOME \
- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \
- -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \
- -o skopeo ./cmd/skopeo
- echo "$@"
- "$@" || die
- cd docs || die
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
- dobin skopeo
- doman docs/*.1
- dobashcomp completions/bash/skopeo
- insinto /etc/containers
- newins default-policy.json policy.json
- insinto /etc/containers/registries.d
- doins default.yaml
- keepdir /var/lib/atomic/sigstore
- einstalldocs
-}
diff --git a/app-emulation/skopeo/skopeo-0.2.0.ebuild b/app-emulation/skopeo/skopeo-0.2.0.ebuild
deleted file mode 100644
index c6caefe701f8..000000000000
--- a/app-emulation/skopeo/skopeo-0.2.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-COMMIT=1119299c4b27e16680744e8bcf3b5362344a40d7
-inherit go-module bash-completion-r1
-
-DESCRIPTION="Command line utility foroperations on container images and image repositories"
-HOMEPAGE="https://github.com/containers/skopeo"
-SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="btrfs"
-
-COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:=
- >=dev-libs/libassuan-2.4.3:=
- dev-libs/libgpg-error:=
- btrfs? ( >=sys-fs/btrfs-progs-4.0.1 )
- >=sys-fs/lvm2-2.02.145:="
-DEPEND="${COMMON_DEPEND}
- dev-go/go-md2man"
-RDEPEND="${COMMON_DEPEND}"
-
-RESTRICT="test"
-
-src_compile() {
- local BUILDTAGS
- BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)"
- set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \
- -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \
- -o skopeo ./cmd/skopeo
- echo "$@"
- "$@" || die
- cd docs || die
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
- dobin skopeo
- doman docs/*.1
- dobashcomp completions/bash/skopeo
- insinto /etc/containers
- newins default-policy.json policy.json
- insinto /etc/containers/registries.d
- doins default.yaml
- keepdir /var/lib/atomic/sigstore
- einstalldocs
-}
diff --git a/app-emulation/skopeo/skopeo-1.1.0.ebuild b/app-emulation/skopeo/skopeo-1.1.0.ebuild
deleted file mode 100644
index 7a625ebb1c56..000000000000
--- a/app-emulation/skopeo/skopeo-1.1.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-COMMIT=63085f5bef1131aa9ec0907a5c8d66b67de7c4b2
-inherit go-module bash-completion-r1
-
-DESCRIPTION="Command line utility foroperations on container images and image repositories"
-HOMEPAGE="https://github.com/containers/skopeo"
-SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="btrfs"
-
-COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:=
- >=dev-libs/libassuan-2.4.3:=
- dev-libs/libgpg-error:=
- btrfs? ( >=sys-fs/btrfs-progs-4.0.1 )
- >=sys-fs/lvm2-2.02.145:="
-DEPEND="${COMMON_DEPEND}
- dev-go/go-md2man"
-RDEPEND="${COMMON_DEPEND}"
-
-RESTRICT="test"
-
-src_compile() {
- local BUILDTAGS
- BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)"
- set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \
- -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \
- -o skopeo ./cmd/skopeo
- echo "$@"
- "$@" || die
- cd docs || die
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
- dobin skopeo
- doman docs/*.1
- dobashcomp completions/bash/skopeo
- insinto /etc/containers
- newins default-policy.json policy.json
- insinto /etc/containers/registries.d
- doins default.yaml
- keepdir /var/lib/atomic/sigstore
- einstalldocs
-}
diff --git a/app-emulation/skopeo/skopeo-1.1.1.ebuild b/app-emulation/skopeo/skopeo-1.1.1.ebuild
deleted file mode 100644
index e0c555f2bb9c..000000000000
--- a/app-emulation/skopeo/skopeo-1.1.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-COMMIT=67abbb3cefbdc876447583d5ea45e76bf441eba7
-inherit go-module bash-completion-r1
-
-DESCRIPTION="Command line utility foroperations on container images and image repositories"
-HOMEPAGE="https://github.com/containers/skopeo"
-SRC_URI="https://github.com/containers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD BSD-2 CC-BY-SA-4.0 ISC MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="btrfs"
-
-COMMON_DEPEND=">=app-crypt/gpgme-1.5.5:=
- >=dev-libs/libassuan-2.4.3:=
- dev-libs/libgpg-error:=
- btrfs? ( >=sys-fs/btrfs-progs-4.0.1 )
- >=sys-fs/lvm2-2.02.145:="
-DEPEND="${COMMON_DEPEND}
- dev-go/go-md2man"
-RDEPEND="${COMMON_DEPEND}"
-
-RESTRICT="test"
-
-src_compile() {
- local BUILDTAGS
- BUILDTAGS="containers_image_ostree_stub $(usex btrfs "" exclude_graphdriver_btrfs)"
- set -- go build -mod=vendor -ldflags "-X main.gitCommit=${COMMIT}" \
- -gcflags "${GOGCFLAGS}" -tags "${BUILDTAGS}" \
- -o skopeo ./cmd/skopeo
- echo "$@"
- "$@" || die
- cd docs || die
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
- dobin skopeo
- doman docs/*.1
- dobashcomp completions/bash/skopeo
- insinto /etc/containers
- newins default-policy.json policy.json
- insinto /etc/containers/registries.d
- doins default.yaml
- keepdir /var/lib/atomic/sigstore
- einstalldocs
-}
diff --git a/app-emulation/slirp4netns/Manifest b/app-emulation/slirp4netns/Manifest
deleted file mode 100644
index 4ec0c31a67e8..000000000000
--- a/app-emulation/slirp4netns/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST slirp4netns-1.1.8.tar.gz 58022 BLAKE2B cb65af6a5298411c158dd3da8160f8e4999ce5cb6bafc85f233d4d64a58c545ff7e9db21501f718ce7990d2497a6960853ecb9ff548859b1be19f3d74e86610b SHA512 28b2dd73cfd0a0fc71338c55a7f4ae448456620a0d27eb1e7c79f2d58da2a90f2f9af363c9abf5148d4d6435f69ea26809e5f20721fec5daf4c9897bb29c3547
-DIST slirp4netns-1.1.9.tar.gz 58951 BLAKE2B e4fde408b3cd55dec0cca495c58936ec32c6201a0fe63c1a9fc9502ac41da615f92271d5fb365475f6864dd3c195097c81f01268b1b8d10d0f888c4e154cac34 SHA512 6471bf2b2eff9bd3ef037de986ab612f20bfce7a52bfd2b1b434d0606a3d2e6170b3fc43b168c8cc6f56ffb82f8361f21a26522ac1092c71f6e694a9588d5854
diff --git a/app-emulation/slirp4netns/metadata.xml b/app-emulation/slirp4netns/metadata.xml
deleted file mode 100644
index 1a395700b09e..000000000000
--- a/app-emulation/slirp4netns/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>g.braeunlich@disroot.org</email>
- <name>Gerhard Bräunlich</name>
- </maintainer>
- <upstream>
- <remote-id type="github">rootless-containers/slirp4netns</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-emulation/slirp4netns/slirp4netns-1.1.8.ebuild b/app-emulation/slirp4netns/slirp4netns-1.1.8.ebuild
deleted file mode 100644
index ab7c659fa363..000000000000
--- a/app-emulation/slirp4netns/slirp4netns-1.1.8.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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 ~arm64"
-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.9.ebuild b/app-emulation/slirp4netns/slirp4netns-1.1.9.ebuild
deleted file mode 100644
index 619879cf45b4..000000000000
--- a/app-emulation/slirp4netns/slirp4netns-1.1.9.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 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 ~arm64"
-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/snapd/Manifest b/app-emulation/snapd/Manifest
deleted file mode 100644
index 076c99373bbc..000000000000
--- a/app-emulation/snapd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST snapd-2.47.1.tar.xz 3664756 BLAKE2B 90cb117ea385890c38c6efdecd3652c115158ad769858ebe1a5035d37c9543da5b2a8768ce4f56cfcee053701d308f826bf7993d9b5f9d5313f2840ca829ab23 SHA512 e08dd7057b85b970a1177996c483d3f663b1424cdbf6643a69923a7012d38fc13109b449ce3a2c5c8d65e5836f93a36567f2f641a62caea6e9989a458f7f2892
-DIST snapd-2.48.tar.xz 3757292 BLAKE2B 4d1fd4b9ff3bd7cf05ebf0e27db4bcc87b5de689be470b4c62758e411e9d99a541ae084c7b1afe4ede44ad6dce19a53b337dcddc18d0b82957ef537f466e720a SHA512 27e1924d86296a969cd18980d6100c8e41be66f2ad0214ac2857580a2686b1e7ef01e2561c6ed532106eadb1ac2d5fd070ef9eb05e5fabfb8fa9a98456259b89
diff --git a/app-emulation/snapd/files/README.gentoo b/app-emulation/snapd/files/README.gentoo
deleted file mode 100644
index f2e34601802e..000000000000
--- a/app-emulation/snapd/files/README.gentoo
+++ /dev/null
@@ -1,56 +0,0 @@
-*Security Alert*
-
-Application confinement may be automatically disabled if snapd
-fails to detect the required features. If you would like to disable
-this automatic behavior, causing snapd to panic if its confinement
-feature detection fails, then use this setting in package.use:
-
- app-emulation/snapd -forced-devmode
-
-Use this command to enable the snapd service:
-
- systemctl enable snapd.socket
-
-You can source /etc/profile.d/snapd.sh in your shell in order to
-update PATH and XDG_DATA_DIRS environment variables to include
-installed snaps.
-
-Once you have snapd running (first refer to the *AppArmor Section*
-below if you have that enabled), see the snap-store installation
-instructions here:
-
- https://snapcraft.io/docs/installing-snap-store-app
-
-If snap-store does not work correctly then it may be due to a temporary
-service outage which will hopefully be reported on this page:
-
- https://status.snapcraft.io/
-
-When snap-store is not working due to a service outage, it may still
-be possible to install apps via the snap cli. See snap --help for
-details. Many apps can be installed without a snap store (Ubuntu One)
-account. The snap login, logout, and whoami subcommands are available
-to manage snap store account details.
-
-Note that you will need a polkit authentication agent running in
-order to authenticate as root when installing snaps as a non-root user.
-The agent is typically started by a desktop entry found in
-/etc/xdg/autostart such as one of these:
-
- polkit-gnome-authentication-agent-1.desktop
- polkit-kde-authentication-agent-1.desktop
-
-*AppArmor Section*
-
-When apparmor is enabled you should enable these services:
-
- systemctl enable apparmor.service snapd.apparmor.service
-
-You also need it enabled in your kernel and you may need to add these
-kernel parameters to your boot loader configuration:
-
- apparmor=1 security=apparmor
-
-Refer here for more information about apparmor:
-
- https://wiki.gentoo.org/wiki/AppArmor
diff --git a/app-emulation/snapd/metadata.xml b/app-emulation/snapd/metadata.xml
deleted file mode 100644
index 2d641fece55b..000000000000
--- a/app-emulation/snapd/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="github">snapcore/snapd</remote-id>
- </upstream>
- <use>
- <flag name="apparmor">
- Enable AppArmor support.
- </flag>
- <flag name="cgroup-hybrid">
- Default to hybrid (legacy) cgroup hierarchy instead of unified (modern).
- </flag>
- <flag name="forced-devmode">
- Automatically disable application confinement if feature detection fails.
- </flag>
- </use>
-</pkgmetadata>
diff --git a/app-emulation/snapd/snapd-2.47.1-r1.ebuild b/app-emulation/snapd/snapd-2.47.1-r1.ebuild
deleted file mode 100644
index 863784f7b24c..000000000000
--- a/app-emulation/snapd/snapd-2.47.1-r1.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-EGO_PN="github.com/snapcore/${PN}"
-inherit autotools bash-completion-r1 golang-vcs-snapshot linux-info readme.gentoo-r1 systemd xdg-utils
-
-DESCRIPTION="Service and tools for management of snap packages"
-HOMEPAGE="http://snapcraft.io/"
-
-MY_S="${S}/src/github.com/snapcore/${PN}"
-
-SRC_URI="https://github.com/snapcore/${PN}/releases/download/${PV}/${PN}_${PV}.vendor.tar.xz -> ${P}.tar.xz"
-MY_PV=${PV}
-KEYWORDS="~amd64"
-
-LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT"
-SLOT="0"
-IUSE="apparmor +cgroup-hybrid +forced-devmode gtk kde systemd"
-REQUIRED_USE="!forced-devmode? ( apparmor cgroup-hybrid ) systemd"
-
-CONFIG_CHECK="~CGROUPS
- ~CGROUP_DEVICE
- ~CGROUP_FREEZER
- ~NAMESPACES
- ~SQUASHFS
- ~SQUASHFS_ZLIB
- ~SQUASHFS_LZO
- ~SQUASHFS_XZ
- ~BLK_DEV_LOOP
- ~SECCOMP
- ~SECCOMP_FILTER"
-
-RDEPEND="
- sys-libs/libseccomp:=
- apparmor? (
- sec-policy/apparmor-profiles
- sys-apps/apparmor:=
- )
- dev-libs/glib
- virtual/libudev
- systemd? ( sys-apps/systemd[cgroup-hybrid(+)?] )
- sys-libs/libcap:=
- sys-fs/squashfs-tools"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- >=dev-lang/go-1.9
- dev-python/docutils
- sys-devel/gettext"
-
-PDEPEND="sys-auth/polkit[gtk?,kde?]"
-
-README_GENTOO_SUFFIX=""
-
-pkg_setup() {
- if use apparmor; then
- CONFIG_CHECK+=" ~SECURITY_APPARMOR"
- fi
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
- # Update apparmor profile to allow libtinfow.so*
- sed -i 's/libtinfo/libtinfo{,w}/' \
- "${MY_S}/cmd/snap-confine/snap-confine.apparmor.in" || die
-
- # Add "gentoo" to altDirDistros: https://github.com/snapcore/snapd/pull/9588
- echo -e '@@ -289,2 +289,3 @@ func SetRootDir(rootdir string) {
-\x20 "fedora",
-+ "gentoo",
-\x20 "manjaro",' | patch "${MY_S}/dirs/dirs.go" || die
-
- if ! use forced-devmode; then
- sed -e 's#return \(!apparmorFull || cgroupv2\)#//\1\n\tif !apparmorFull || cgroupv2 {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
- -i "${MY_S}/sandbox/forcedevmode.go" || die
- grep -q 'panic("USE=forced-devmode is disabled")' "${MY_S}/sandbox/forcedevmode.go" || die "failed to disable forced-devmode"
- fi
-
- sed -i 's:command -v git >/dev/null:false:' -i "${MY_S}/mkversion.sh" || die
-
- pushd "${MY_S}" >/dev/null || die
- ./mkversion.sh "${PV}"
- popd >/dev/null || die
- pushd "${MY_S}/cmd" >/dev/null || die
- eautoreconf
-}
-
-src_configure() {
- SNAPD_MAKEARGS=(
- "BINDIR=${EPREFIX}/usr/bin"
- "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services"
- "LIBEXECDIR=${EPREFIX}/usr/lib"
- "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap"
- "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)"
- )
- export CGO_ENABLED="1"
- export CGO_CFLAGS="${CFLAGS}"
- export CGO_CPPFLAGS="${CPPFLAGS}"
- export CGO_CXXFLAGS="${CXXFLAGS}"
-
- pushd "${MY_S}/cmd" >/dev/null || die
- econf --libdir="${EPREFIX}/usr/lib" \
- --libexecdir="${EPREFIX}/usr/lib/snapd" \
- $(use_enable apparmor) \
- --enable-nvidia-biarch \
- --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap"
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME
- export GO111MODULE=off GOBIN="${S}/bin" GOPATH="${S}"
-
- local file
- for file in "${MY_S}/po/"*.po; do
- msgfmt "${file}" -o "${file%.po}.mo" || die
- done
-
- emake -C "${MY_S}/data" "${SNAPD_MAKEARGS[@]}"
-
- local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath)
- local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath)
-
- local cmd
- for cmd in snap snapd snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do
- go build -o "${GOBIN}/${cmd}" "${flags[@]}" \
- -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
- [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
- done
- for cmd in snapctl snap-exec snap-update-ns; do
- go build -o "${GOBIN}/${cmd}" "${staticflags[@]}" \
- -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
- [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
- done
-}
-
-src_install() {
- emake -C "${MY_S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
- emake -C "${MY_S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
-
- if use apparmor; then
- mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die
- keepdir /var/lib/snapd/apparmor/profiles
- fi
- keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void}
- fperms 700 /var/lib/snapd/{cache,cookie}
-
- dobin "${GOBIN}/"{snap,snapctl}
- ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die
-
- exeinto /usr/lib/snapd
- doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \
- "${MY_S}/"{cmd/snap-confine/snap-device-helper,cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
- "${MY_S}/data/completion/bash/"{complete.sh,etelpmoc.sh,}
-
- dobashcomp "${MY_S}/data/completion/bash/snap"
-
- insinto /usr/share/zsh/site-functions
- doins "${MY_S}/data/completion/zsh/_snap"
-
- insinto "/usr/share/polkit-1/actions"
- doins "${MY_S}/data/polkit/io.snapcraft.snapd.policy"
-
- dodoc "${MY_S}/packaging/ubuntu-16.04/changelog"
- domo "${MY_S}/po/"*.mo
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- xdg_desktop_database_update
-
- if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles &&
- $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then
- apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real"
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/app-emulation/snapd/snapd-2.48.ebuild b/app-emulation/snapd/snapd-2.48.ebuild
deleted file mode 100644
index b25ca4a9b988..000000000000
--- a/app-emulation/snapd/snapd-2.48.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-EGO_PN="github.com/snapcore/${PN}"
-inherit autotools bash-completion-r1 golang-vcs-snapshot linux-info readme.gentoo-r1 systemd xdg-utils
-
-DESCRIPTION="Service and tools for management of snap packages"
-HOMEPAGE="http://snapcraft.io/"
-
-MY_S="${S}/src/github.com/snapcore/${PN}"
-
-SRC_URI="https://github.com/snapcore/${PN}/releases/download/${PV}/${PN}_${PV}.vendor.tar.xz -> ${P}.tar.xz"
-MY_PV=${PV}
-KEYWORDS="~amd64"
-
-LICENSE="GPL-3 Apache-2.0 BSD BSD-2 LGPL-3-with-linking-exception MIT"
-SLOT="0"
-IUSE="apparmor +cgroup-hybrid +forced-devmode gtk kde systemd"
-REQUIRED_USE="!forced-devmode? ( apparmor cgroup-hybrid ) systemd"
-
-CONFIG_CHECK="~CGROUPS
- ~CGROUP_DEVICE
- ~CGROUP_FREEZER
- ~NAMESPACES
- ~SQUASHFS
- ~SQUASHFS_ZLIB
- ~SQUASHFS_LZO
- ~SQUASHFS_XZ
- ~BLK_DEV_LOOP
- ~SECCOMP
- ~SECCOMP_FILTER"
-
-RDEPEND="
- sys-libs/libseccomp:=
- apparmor? (
- sec-policy/apparmor-profiles
- sys-apps/apparmor:=
- )
- dev-libs/glib
- virtual/libudev
- systemd? ( sys-apps/systemd[cgroup-hybrid(+)?] )
- sys-libs/libcap:=
- sys-fs/squashfs-tools"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- >=dev-lang/go-1.9
- dev-python/docutils
- sys-devel/gettext
- sys-fs/xfsprogs"
-
-PDEPEND="sys-auth/polkit[gtk?,kde?]"
-
-README_GENTOO_SUFFIX=""
-
-pkg_setup() {
- if use apparmor; then
- CONFIG_CHECK+=" ~SECURITY_APPARMOR"
- fi
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
- # Update apparmor profile to allow libtinfow.so*
- sed -i 's/libtinfo/libtinfo{,w}/' \
- "${MY_S}/cmd/snap-confine/snap-confine.apparmor.in" || die
-
- if ! use forced-devmode; then
- sed -e 's#return \(!apparmorFull || cgroupv2\)#//\1\n\tif !apparmorFull || cgroupv2 {\n\t\tpanic("USE=forced-devmode is disabled")\n\t}\n\treturn false#' \
- -i "${MY_S}/sandbox/forcedevmode.go" || die
- grep -q 'panic("USE=forced-devmode is disabled")' "${MY_S}/sandbox/forcedevmode.go" || die "failed to disable forced-devmode"
- fi
-
- sed -i 's:command -v git >/dev/null:false:' -i "${MY_S}/mkversion.sh" || die
-
- pushd "${MY_S}" >/dev/null || die
- ./mkversion.sh "${PV}"
- popd >/dev/null || die
- pushd "${MY_S}/cmd" >/dev/null || die
- eautoreconf
-}
-
-src_configure() {
- SNAPD_MAKEARGS=(
- "BINDIR=${EPREFIX}/usr/bin"
- "DBUSSERVICESDIR=${EPREFIX}/usr/share/dbus-1/services"
- "LIBEXECDIR=${EPREFIX}/usr/lib"
- "SNAP_MOUNT_DIR=${EPREFIX}/var/lib/snapd/snap"
- "SYSTEMDSYSTEMUNITDIR=$(systemd_get_systemunitdir)"
- )
- export CGO_ENABLED="1"
- export CGO_CFLAGS="${CFLAGS}"
- export CGO_CPPFLAGS="${CPPFLAGS}"
- export CGO_CXXFLAGS="${CXXFLAGS}"
-
- pushd "${MY_S}/cmd" >/dev/null || die
- econf --libdir="${EPREFIX}/usr/lib" \
- --libexecdir="${EPREFIX}/usr/lib/snapd" \
- $(use_enable apparmor) \
- --enable-nvidia-biarch \
- --with-snap-mount-dir="${EPREFIX}/var/lib/snapd/snap"
-}
-
-src_compile() {
- export -n GOCACHE XDG_CACHE_HOME
- export GO111MODULE=off GOBIN="${S}/bin" GOPATH="${S}"
-
- local file
- for file in "${MY_S}/po/"*.po; do
- msgfmt "${file}" -o "${file%.po}.mo" || die
- done
-
- emake -C "${MY_S}/data" "${SNAPD_MAKEARGS[@]}"
-
- local -a flags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS}'" -trimpath)
- local -a staticflags=(-buildmode=pie -ldflags "-s -linkmode external -extldflags '${LDFLAGS} -static'" -trimpath)
-
- local cmd
- for cmd in snap snapd snap-bootstrap snap-failure snap-preseed snap-recovery-chooser snap-repair snap-seccomp; do
- go build -o "${GOBIN}/${cmd}" "${flags[@]}" \
- -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
- [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
- done
- for cmd in snapctl snap-exec snap-update-ns; do
- go build -o "${GOBIN}/${cmd}" "${staticflags[@]}" \
- -v -x "github.com/snapcore/${PN}/cmd/${cmd}"
- [[ -e "${GOBIN}/${cmd}" ]] || die "failed to build ${cmd}"
- done
-}
-
-src_install() {
- emake -C "${MY_S}/data" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
- emake -C "${MY_S}/cmd" install "${SNAPD_MAKEARGS[@]}" DESTDIR="${D}"
-
- if use apparmor; then
- mv "${ED}/etc/apparmor.d/usr.lib.snapd.snap-confine"{,.real} || die
- keepdir /var/lib/snapd/apparmor/profiles
- fi
- keepdir /var/lib/snapd/{apparmor/snap-confine,cache,cookie,snap,void}
- fperms 700 /var/lib/snapd/{cache,cookie}
-
- dobin "${GOBIN}/"{snap,snapctl}
- ln "${ED}/usr/bin/snapctl" "${ED}/usr/lib/snapd/snapctl" || die
-
- exeinto /usr/lib/snapd
- doexe "${GOBIN}/"{snapd,snap-bootstrap,snap-failure,snap-exec,snap-preseed,snap-recovery-chooser,snap-repair,snap-seccomp,snap-update-ns} \
- "${MY_S}/"{cmd/snap-confine/snap-device-helper,cmd/snap-discard-ns/snap-discard-ns,cmd/snap-gdb-shim/snap-gdb-shim,cmd/snap-mgmt/snap-mgmt} \
- "${MY_S}/data/completion/bash/"{complete.sh,etelpmoc.sh,}
-
- dobashcomp "${MY_S}/data/completion/bash/snap"
-
- insinto /usr/share/zsh/site-functions
- doins "${MY_S}/data/completion/zsh/_snap"
-
- insinto "/usr/share/polkit-1/actions"
- doins "${MY_S}/data/polkit/io.snapcraft.snapd.policy"
-
- dodoc "${MY_S}/packaging/ubuntu-16.04/changelog"
- domo "${MY_S}/po/"*.mo
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- xdg_desktop_database_update
-
- if use apparmor && [[ -z ${ROOT} && -e /sys/kernel/security/apparmor/profiles &&
- $(wc -l < /sys/kernel/security/apparmor/profiles) -gt 0 ]]; then
- apparmor_parser -r "${EPREFIX}/etc/apparmor.d/usr.lib.snapd.snap-confine.real"
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/app-emulation/softgun/files/softgun-0.22-fix-declarations-with-type-mismatches.patch b/app-emulation/softgun/files/softgun-0.22-fix-declarations-with-type-mismatches.patch
new file mode 100644
index 000000000000..25bf382eee56
--- /dev/null
+++ b/app-emulation/softgun/files/softgun-0.22-fix-declarations-with-type-mismatches.patch
@@ -0,0 +1,148 @@
+Subject: [PATCH] fix declarations with type mismatches
+
+Type mismatches between declarations prevent the compile from using LTO
+
+Bug: https://bugs.gentoo.org/854534
+Upstream: https://sourceforge.net/p/softgun/patches/5/
+
+# Pascal Jäger <pascal.jaeger@leimstift.de> (2023-09-21)
+
+--- a/m16c/idecode_m16c.c
++++ b/m16c/idecode_m16c.c
+@@ -9,7 +9,7 @@
+ #include "sglib.h"
+
+ M16C_InstructionProc **iProcTab;
+-M16C_Instruction **iTab;
++M16C_Instruction **iTabM16C;
+
+ static M16C_Instruction instrlist[] = {
+ {0xfef0,0x76f0,"abs.size_dst",2 ,m16c_abs_size_dst},
+@@ -308,7 +308,7 @@ M16C_IDecoderNew()
+ int i,j;
+ int onecount1,onecount2;
+ iProcTab=(M16C_InstructionProc**)sg_calloc(0x10000*sizeof(M16C_InstructionProc*));
+- iTab=sg_calloc(0x10000*sizeof(M16C_Instruction*));
++ iTabM16C=sg_calloc(0x10000*sizeof(M16C_Instruction*));
+ fprintf(stderr,"Allocated M16C Instruction decoder table\n");
+ for(j=0;instrlist[j].proc;j++) {
+ M16C_Instruction *instr = &instrlist[j];
+@@ -327,8 +327,8 @@ M16C_IDecoderNew()
+ }
+ #endif
+ if((i & instr->mask) == instr->icode) {
+- if(iTab[i]) {
+- M16C_Instruction *instr2 = iTab[i];
++ if(iTabM16C[i]) {
++ M16C_Instruction *instr2 = iTabM16C[i];
+ specmask1 = instr->mask;
+ specmask2 = instr2->mask;
+ onecount1 = SGLib_OnecountU32(instr->mask);
+@@ -336,18 +336,18 @@ M16C_IDecoderNew()
+ fprintf(stderr,"Collission %s, %s\n",instr->name,instr2->name);
+ #if 0
+ if(instr->len > instr2->len) {
+- iTab[i] = instr;
++ iTabM16C[i] = instr;
+ iProcTab[i] = instr->proc;
+ } else if(instr2->len > instr->len) {
+- iTab[i] = instr2;
++ iTabM16C[i] = instr2;
+ iProcTab[i] = instr2->proc;
+ } else
+ #endif
+ if(onecount1 > onecount2) {
+- iTab[i] = instr;
++ iTabM16C[i] = instr;
+ iProcTab[i] = instr->proc;
+ } else if(onecount2 > onecount1) {
+- iTab[i] = instr2;
++ iTabM16C[i] = instr2;
+ iProcTab[i] = instr2->proc;
+ } else {
+ fprintf(stderr,"Can not decide %s, %s\n",instr->name,instr2->name);
+@@ -360,10 +360,10 @@ M16C_IDecoderNew()
+ specmask2 |= 0xff00;
+ }
+ if((specmask2 & specmask1) == specmask1) {
+- iTab[i] = instr2;
++ iTabM16C[i] = instr2;
+ iProcTab[i] = instr2->proc;
+ } else if((specmask2 & specmask1) == specmask2) {
+- iTab[i] = instr;
++ iTabM16C[i] = instr;
+ iProcTab[i] = instr->proc;
+ } else {
+ fprintf(stdout,"%04x: no instruction is more specific %s %s %04x %04x %d %d\n",i,instr->name,instr2->name,instr->icode,instr2->icode,instr->len,instr2->len);
+@@ -371,13 +371,13 @@ M16C_IDecoderNew()
+ }
+ #endif
+ } else {
+- iTab[i] = instr;
++ iTabM16C[i] = instr;
+ iProcTab[i] = instr->proc;
+ }
+ }
+ }
+- if(iTab[i] == NULL) {
+- iTab[i] = &undefined_instr;
++ if(iTabM16C[i] == NULL) {
++ iTabM16C[i] = &undefined_instr;
+ iProcTab[i] = (&undefined_instr)->proc;
+ }
+ }
+--- a/m16c/idecode_m16c.h
++++ b/m16c/idecode_m16c.h
+@@ -11,14 +11,14 @@ typedef struct M16C_Instruction {
+ } M16C_Instruction;
+
+ extern M16C_InstructionProc **iProcTab;
+-extern M16C_Instruction **iTab;
++extern M16C_Instruction **iTabM16C;
+
+ void M16C_IDecoderNew(void);
+
+ static inline M16C_Instruction *
+ M16C_InstructionFind(uint16_t icode)
+ {
+- return iTab[icode];
++ return iTabM16C[icode];
+ }
+ static inline M16C_InstructionProc *
+ M16C_InstructionProcFind(uint16_t icode)
+--- a/m16c/instructions_m16c.h
++++ b/m16c/instructions_m16c.h
+@@ -160,7 +160,7 @@ void m16c_smovb_size(void);
+ void m16c_smovf_size(void);
+ void m16c_sstr_size(void);
+ void m16c_stc_srcdst(void);
+-void m16c_stc_pcdst(void);
++void m16c_stc_pcdst(uint16_t icode);
+ void m16c_stctx_abs16abs20(void);
+ void m16c_ste_size_srcabs20(void);
+ void m16c_ste_size_srcdsp20(void);
+--- a/ppc/mmu_ppc.c
++++ b/ppc/mmu_ppc.c
+@@ -587,7 +587,7 @@ PPCMMU_Read8(uint32_t va) {
+ }
+
+ void
+-PPCMMU_Write64(uint32_t value,uint32_t va) {
++PPCMMU_Write64(uint64_t value,uint32_t va) {
+ uint32_t pa=translate_data(va);
+ Bus_Write64(value,pa);
+ }
+--- a/printer/decompress.c
++++ b/printer/decompress.c
+@@ -55,7 +55,7 @@ enum
+ eeCachedColor = 0x60
+ };
+
+-inline uint32_t get3pixel (uint8_t* src)
++static inline uint32_t get3pixel (uint8_t* src)
+ {
+ return (src[0] << 16) | (src[1] << 8) | (src[2]);
+ }
+--
+2.41.0
+
diff --git a/app-emulation/softgun/files/softgun-0.22-fix-implicit-int.patch b/app-emulation/softgun/files/softgun-0.22-fix-implicit-int.patch
new file mode 100644
index 000000000000..b65ddaf660f3
--- /dev/null
+++ b/app-emulation/softgun/files/softgun-0.22-fix-implicit-int.patch
@@ -0,0 +1,33 @@
+Subject: [PATCH] fix implicit int declarations in function params
+
+Clang16 does not allow implicit integer declarations by default.
+
+Bug: https://bugs.gentoo.org/882583
+Upstream: https://sourceforge.net/p/softgun/patches/5/
+
+# Pascal Jäger <pascal.jaeger@leimstift.de> (2023-09-21)
+--- a/arm/arm9cpu.h
++++ b/arm/arm9cpu.h
+@@ -356,7 +356,7 @@ ARM_PostRestartIdecoder() {
+ }
+
+ static inline void
+-ARM_SigDebugMode(value) {
++ARM_SigDebugMode(uint32_t value) {
+ if(value) {
+ gcpu.signals_raw |= ARM_SIG_DEBUGMODE;
+ } else {
+--- a/m32c/idecode_m32c.h
++++ b/m32c/idecode_m32c.h
+@@ -84,7 +84,7 @@ M32C_InstructionProcFind(uint16_t icode)
+ #endif
+
+ static inline int
+-M32C_InstructionLen(icode) {
++M32C_InstructionLen(uint32_t icode) {
+ M32C_Instruction *instr = M32C_InstructionFind(icode);
+ return instr->len;
+ }
+--
+2.41.0
+
diff --git a/app-emulation/softgun/metadata.xml b/app-emulation/softgun/metadata.xml
index a1d277727e3a..2ac14e132ac2 100644
--- a/app-emulation/softgun/metadata.xml
+++ b/app-emulation/softgun/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>arm@gentoo.org</email>
- <name>Gentoo Linux ARM Development</name>
+ <name>ARM architecture team</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">softgun</remote-id>
diff --git a/app-emulation/softgun/softgun-0.22-r1.ebuild b/app-emulation/softgun/softgun-0.22-r1.ebuild
new file mode 100644
index 000000000000..f36e66a00487
--- /dev/null
+++ b/app-emulation/softgun/softgun-0.22-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="ARM software emulator"
+HOMEPAGE="https://softgun.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="media-libs/alsa-lib"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.22-make.patch
+ "${FILESDIR}"/${PN}-0.22-fix-implicit-int.patch
+ "${FILESDIR}"/${PN}-0.22-fix-declarations-with-type-mismatches.patch
+)
+
+src_configure() {
+ append-cflags -fcommon
+ default
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ dodir /usr/bin
+ emake install prefix="${D}/usr"
+ dodoc README configs/*.sg
+}
diff --git a/app-emulation/softgun/softgun-0.22.ebuild b/app-emulation/softgun/softgun-0.22.ebuild
index adba0132e20a..50138146342f 100644
--- a/app-emulation/softgun/softgun-0.22.ebuild
+++ b/app-emulation/softgun/softgun-0.22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs
DESCRIPTION="ARM software emulator"
HOMEPAGE="http://softgun.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/app-emulation/spectemu/metadata.xml b/app-emulation/spectemu/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/app-emulation/spectemu/metadata.xml
+++ b/app-emulation/spectemu/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/app-emulation/spice-html5/Manifest b/app-emulation/spice-html5/Manifest
deleted file mode 100644
index b206c42b4f8a..000000000000
--- a/app-emulation/spice-html5/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST spice-html5-spice-html5-0.2.1.tar.gz 486871 BLAKE2B 4b44ad772ab5abf13e8d3fe7c651169b340c8978f4163b9b679046efaa554f86d5919d154f16262ea28ddb512ac55ea7b6651ae63f64cf6b69033d8306191dc3 SHA512 c6e17aa465da1a0b882184bb19f2560f43fd3b345fdc00ec71774c7aec37c3453fd87b2448202011e217dda21b602d20dd4d552d49d9a52b64cb91aff092eff7
-DIST spice-html5-spice-html5-0.2.2.tar.gz 487210 BLAKE2B 125e5c2b36970c787897395eb56f71f90067ca5e6a80da4981f26ed3083b3cef4aaa40d2bb9767e775f9739eb15182c2cea874305e6a247c56be00e037bee6d6 SHA512 2a486552055762e44f54a7454d97e49d8f0d92a476b768f8724e6dfb6796851bd143a2c5b74fc2cff0bcec1f86b919428562f82e4b8de51ff95dadcc8b1a8133
diff --git a/app-emulation/spice-html5/metadata.xml b/app-emulation/spice-html5/metadata.xml
deleted file mode 100644
index 4567d53b9b82..000000000000
--- a/app-emulation/spice-html5/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>prometheanfire@gentoo.org</email>
- <name>Matthew Thode</name>
- </maintainer>
- <maintainer type="project">
- <email>openstack@gentoo.org</email>
- <name>Openstack</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/spice-html5/spice-html5-0.2.1.ebuild b/app-emulation/spice-html5/spice-html5-0.2.1.ebuild
deleted file mode 100644
index f5632403f2a1..000000000000
--- a/app-emulation/spice-html5/spice-html5-0.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Spice Javascript client"
-HOMEPAGE="https://gitlab.freedesktop.org/spice/spice-html5"
-SRC_URI="https://gitlab.freedesktop.org/spice/${PN}/-/archive/${P}/${PN}-${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-# no compiling
-src_compile() {
- true
-}
-
-src_install() {
- insinto /usr/share/spice-html5
- doins -r src apache.conf.sample spice.css spice.html spice_auto.html
-}
diff --git a/app-emulation/spice-html5/spice-html5-0.2.2.ebuild b/app-emulation/spice-html5/spice-html5-0.2.2.ebuild
deleted file mode 100644
index b14ee2cb65c1..000000000000
--- a/app-emulation/spice-html5/spice-html5-0.2.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Spice Javascript client"
-HOMEPAGE="https://gitlab.freedesktop.org/spice/spice-html5"
-SRC_URI="https://gitlab.freedesktop.org/spice/${PN}/-/archive/${P}/${PN}-${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-# no compiling
-src_compile() {
- true
-}
-
-src_install() {
- insinto /usr/share/spice-html5
- doins -r src apache.conf.sample spice.css spice.html spice_auto.html
-}
diff --git a/app-emulation/spice-protocol/Manifest b/app-emulation/spice-protocol/Manifest
index c3ab7bab2987..b8a9464a18fa 100644
--- a/app-emulation/spice-protocol/Manifest
+++ b/app-emulation/spice-protocol/Manifest
@@ -1,2 +1,3 @@
DIST spice-protocol-0.14.1.tar.bz2 73444 BLAKE2B 12050c38ee3d24814b57a340a88423352edae6412b5a20e27d59b7235e753f51aaf757f7e9e6ce702d0b0c0afeadfde7f3937725ae4715ae4dc4da20ee7fd663 SHA512 88b0e652564a1f826ee6d3c165ab05c40d13f366567db3840805f03d433d13d7f722225219c26759770d2cde33221fe6d97528521d0eb14bc069cd7ce9af8482
DIST spice-protocol-0.14.3.tar.xz 22224 BLAKE2B 32e69c56ea78e21cf2ff9474e34908eababc1dd9667cd8be24c973e9ff006e1a14f55dd23ab16c40d7bcb5bd7f00392edccdd3512218928787ad9162a6519f1c SHA512 9e35fd0d9be14074a482bdb20fe6954e5f0a616d0ad60da63a065435df2b169ec134a95d5756df73e2606c7497c9bf0427023d4e5ebfbb1abb181cf8020879a6
+DIST spice-protocol-0.14.4.tar.xz 23540 BLAKE2B a36ea56f000fbbfd87f3a318ff932332116f5229d89cbf19be53e7605aef52cc650d453982d23d1f2decb7ef1273758b40022dc1dada49f40cd6f75e55f014d6 SHA512 c55677fd6da37303487f8245388cbd555715c736e15bca4a305c4374feafc655b74e549ea401949d72e17b2e6ad76f16c5add3963008a18a1fefedd4b4a001c1
diff --git a/app-emulation/spice-protocol/metadata.xml b/app-emulation/spice-protocol/metadata.xml
index 121cd46cb5e1..cfac6f8ac4ff 100644
--- a/app-emulation/spice-protocol/metadata.xml
+++ b/app-emulation/spice-protocol/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
diff --git a/app-emulation/spice-protocol/spice-protocol-0.14.3.ebuild b/app-emulation/spice-protocol/spice-protocol-0.14.3.ebuild
index 40a5e5da9967..2d8171ddeca0 100644
--- a/app-emulation/spice-protocol/spice-protocol-0.14.3.ebuild
+++ b/app-emulation/spice-protocol/spice-protocol-0.14.3.ebuild
@@ -11,4 +11,4 @@ SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.xz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv ~sparc x86"
diff --git a/app-emulation/spice-protocol/spice-protocol-0.14.4.ebuild b/app-emulation/spice-protocol/spice-protocol-0.14.4.ebuild
new file mode 100644
index 000000000000..3bd2990219d2
--- /dev/null
+++ b/app-emulation/spice-protocol/spice-protocol-0.14.4.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice-protocol.git"
+else
+ SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+fi
+
+DESCRIPTION="Headers defining the SPICE protocol"
+HOMEPAGE="https://spice-space.org/"
+
+LICENSE="BSD"
+SLOT="0"
diff --git a/app-emulation/spice-protocol/spice-protocol-9999.ebuild b/app-emulation/spice-protocol/spice-protocol-9999.ebuild
index d2d8fbb6a858..8908284a7192 100644
--- a/app-emulation/spice-protocol/spice-protocol-9999.ebuild
+++ b/app-emulation/spice-protocol/spice-protocol-9999.ebuild
@@ -1,17 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson
if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice-protocol.git"
- SRC_URI=""
else
- SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="Headers defining the SPICE protocol"
@@ -19,7 +18,3 @@ HOMEPAGE="https://spice-space.org/"
LICENSE="BSD"
SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/app-emulation/spice-vdagent/Manifest b/app-emulation/spice-vdagent/Manifest
index 75945c04abed..49738685af14 100644
--- a/app-emulation/spice-vdagent/Manifest
+++ b/app-emulation/spice-vdagent/Manifest
@@ -1,2 +1 @@
-DIST spice-vdagent-0.19.0.tar.bz2 151356 BLAKE2B b7a99a7205d955b27edfe483746e3f267a6e0b7885c4b8146ba42d99b581cf4e1748b503a37a3d6b66623ef2515b42756f2e6a5a4775d56def7aa396bd0dfb4f SHA512 f5056dfe66df3ee8205549be22bbc8c17d2196c8448eda97f01659ff30c34d9929f330767d7fafec557dc5f7fb9b65eaf85973193b38df774042de9b72d6e60d
-DIST spice-vdagent-0.21.0.tar.bz2 164103 BLAKE2B 298122b334f880ffb8d77d3a7d822b70debce56d62bc3004bbac37445f10236a47706d23501ee3f82520c45b65deec12c9578cf4a8b9ac138df8b1c0b8cdb784 SHA512 1ff1a89e75301b1c2c89f26ba4bce8d4df29bbff6387ade128ce847ca30162a2bc731c70c10a8d129518e64bbca6b8271fd11ff3e340899182a65a5295051bff
+DIST spice-vdagent-0.22.1.tar.bz2 165560 BLAKE2B 4fd4318592d20d305d515c65d7491b90ac79bcc7f5bdfafd9df7858bdce24aa57c79f2121bbf9cbadec8e6297890f4b8598b9abcadcce5a9f39712b96deaa396 SHA512 5a4d2661145f33a0583880a128d925b15ca5aec05df83271c80f8baa0fcdd28fab0242301bc38443ccddf70fbdcfd76b5d30bb5a6b4b7c895c3cea0eb38bdf92
diff --git a/app-emulation/spice-vdagent/metadata.xml b/app-emulation/spice-vdagent/metadata.xml
index 121cd46cb5e1..cfac6f8ac4ff 100644
--- a/app-emulation/spice-vdagent/metadata.xml
+++ b/app-emulation/spice-vdagent/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
diff --git a/app-emulation/spice-vdagent/spice-vdagent-0.21.0.ebuild b/app-emulation/spice-vdagent/spice-vdagent-0.21.0.ebuild
deleted file mode 100644
index ea8f4936384e..000000000000
--- a/app-emulation/spice-vdagent/spice-vdagent-0.21.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools linux-info
-
-DESCRIPTION="SPICE VD Linux Guest Agent"
-HOMEPAGE="https://www.spice-space.org/"
-SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="gtk selinux systemd"
-
-CDEPEND="
- dev-libs/glib:2
- >=app-emulation/spice-protocol-0.14.0
- media-libs/alsa-lib
- >=x11-libs/libpciaccess-0.10
- x11-libs/libdrm
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libX11
- x11-libs/libXinerama
- gtk? ( x11-libs/gtk+:3 )
- systemd? ( sys-apps/systemd )"
-DEPEND="${CDEPEND}
- virtual/pkgconfig"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-vdagent )"
-
-CONFIG_CHECK="~INPUT_UINPUT ~VIRTIO_CONSOLE"
-ERROR_INPUT_UINPUT="User level input support (INPUT_UINPUT) is required"
-ERROR_VIRTIO_CONSOLE="VirtIO console/serial device support (VIRTIO_CONSOLE) is required"
-
-src_configure() {
- local opt=()
- if use systemd; then
- opt+=( --with-session-info=systemd )
- else
- opt+=( --with-session-info=none )
- fi
-
- econf \
- --with-init-script=systemd \
- --localstatedir="${EPREFIX}"/var \
- $(use_with gtk) \
- "${opt[@]}"
-}
-
-src_install() {
- default
-
- cd "${ED}" && rmdir -p var/run/spice-vdagentd || die
-
- keepdir /var/log/spice-vdagentd
-
- newinitd "${FILESDIR}/${PN}.initd-4" "${PN}"
- newconfd "${FILESDIR}/${PN}.confd-2" "${PN}"
-}
diff --git a/app-emulation/spice-vdagent/spice-vdagent-0.19.0-r1.ebuild b/app-emulation/spice-vdagent/spice-vdagent-0.22.1.ebuild
index 81ddd00bd633..c58c80ea1479 100644
--- a/app-emulation/spice-vdagent/spice-vdagent-0.19.0-r1.ebuild
+++ b/app-emulation/spice-vdagent/spice-vdagent-0.22.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools linux-info
+inherit linux-info tmpfiles udev
DESCRIPTION="SPICE VD Linux Guest Agent"
HOMEPAGE="https://www.spice-space.org/"
@@ -11,25 +11,27 @@ SRC_URI="https://www.spice-space.org/download/releases/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 ~loong x86"
IUSE="gtk selinux systemd"
-CDEPEND="
+COMMON_DEPEND="
dev-libs/glib:2
>=app-emulation/spice-protocol-0.14.0
media-libs/alsa-lib
- >=x11-libs/libpciaccess-0.10
+ sys-apps/dbus
x11-libs/libdrm
+ >=x11-libs/libpciaccess-0.10
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libX11
x11-libs/libXinerama
gtk? ( x11-libs/gtk+:3 )
systemd? ( sys-apps/systemd )"
-DEPEND="${CDEPEND}
- virtual/pkgconfig"
-RDEPEND="${CDEPEND}
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto"
+RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-vdagent )"
+BDEPEND="virtual/pkgconfig"
CONFIG_CHECK="~INPUT_UINPUT ~VIRTIO_CONSOLE"
ERROR_INPUT_UINPUT="User level input support (INPUT_UINPUT) is required"
@@ -53,10 +55,19 @@ src_configure() {
src_install() {
default
- cd "${ED}" && rmdir -p var/run/spice-vdagentd || die
+ rmdir "${ED}"/var/run/spice-vdagentd || die
keepdir /var/log/spice-vdagentd
newinitd "${FILESDIR}/${PN}.initd-4" "${PN}"
newconfd "${FILESDIR}/${PN}.confd-2" "${PN}"
}
+
+pkg_postinst() {
+ udev_reload
+ tmpfiles_process spice-vdagentd.conf
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/spice/Manifest b/app-emulation/spice/Manifest
index 7b50d54451c4..c75ff310017c 100644
--- a/app-emulation/spice/Manifest
+++ b/app-emulation/spice/Manifest
@@ -1 +1,2 @@
-DIST spice-0.14.3.tar.bz2 1504304 BLAKE2B be655e1d4c48dae29903ab8e0dc52da63723e3252052afccc9587065531f28c8af7dbab4c585093f26d98f2273c6e734a553c18d4779a9f4464334ae1764f682 SHA512 9ecdc455ff25c71ac1fe6c576654b51efbfb860110bd6828065d23f7462d5c5cac772074d1a40f033386258d970b77275b2007bcfdffb23fdff2137154ea46e4
+DIST spice-0.15.1.tar.bz2 1623290 BLAKE2B 19ddb3cac91be07a4a358ed89a5e4d1a5c406a9831b8c8a518764055354ecf6e09d129ae03ba65d876669da72f2cbf0c307261564097f60951711e9852eebb69 SHA512 362ab2f0b483911830693834515e1d331a6b929c5c63fd4522e843c42bbb7d8a52510d60f5f17d175dd2617c9621630f6a81f3ff7dce11dc28e6fb135e60fa86
+DIST spice-0.15.2.tar.bz2 1663326 BLAKE2B 00f5393ac409590b8fe0203251b811a4fe6dca16e644a30dd8165d57ff28cbef3b2f9c2a92ff7d2f6c8092bbef4f89a4e85ef9228cc8c03b0a163ffa3afaf9f6 SHA512 c8f273b9e97ef38a03b331f7d32c5f0a09d540523fe626568c845152cbd22273a92b3a08bc13fa2e061b913ad16ceb7cbddf142655cd9cdcd8eb5f646fa6aa26
diff --git a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-404d7478.patch b/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-404d7478.patch
deleted file mode 100644
index 338f4e6ca657..000000000000
--- a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-404d7478.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/common/quic.c b/common/quic.c
-index bc753ca5064a0326906b4aa8c18d8745747feb5c..681531677fbd6c3bca5e482c77bb709d4465ef8e 100644
---- a/subprojects/spice-common/common/quic.c
-+++ b/subprojects/spice-common/common/quic.c
-@@ -56,6 +56,9 @@ typedef uint8_t BYTE;
- #define MINwminext 1
- #define MAXwminext 100000000
-
-+/* Maximum image size in pixels, mainly to avoid possible integer overflows */
-+#define SPICE_MAX_IMAGE_SIZE (512 * 1024 * 1024 - 1)
-+
- typedef struct QuicFamily {
- unsigned int nGRcodewords[MAXNUMCODES]; /* indexed by code number, contains number of
- unmodified GR codewords in the code */
-@@ -1165,6 +1168,16 @@ int quic_decode_begin(QuicContext *quic, uint32_t *io_ptr, unsigned int num_io_w
- height = encoder->io_word;
- decode_eat32bits(encoder);
-
-+ if (width <= 0 || height <= 0) {
-+ encoder->usr->warn(encoder->usr, "invalid size\n");
-+ return QUIC_ERROR;
-+ }
-+
-+ /* avoid too big images */
-+ if ((uint64_t) width * height > SPICE_MAX_IMAGE_SIZE) {
-+ encoder->usr->error(encoder->usr, "image too large\n");
-+ }
-+
- quic_image_params(encoder, type, &channels, &bpc);
-
- if (!encoder_reset_channels(encoder, channels, width, bpc)) {
diff --git a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-762e0aba.patch b/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-762e0aba.patch
deleted file mode 100644
index ce79ef0043ee..000000000000
--- a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-762e0aba.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/common/quic.c b/common/quic.c
-index e2dee0fd68741512911d5d050053ad073cf29457..bc753ca5064a0326906b4aa8c18d8745747feb5c 100644
---- a/subprojects/spice-common/common/quic.c
-+++ b/subprojects/spice-common/common/quic.c
-@@ -1136,7 +1136,7 @@ int quic_decode_begin(QuicContext *quic, uint32_t *io_ptr, unsigned int num_io_w
- int channels;
- int bpc;
-
-- if (!encoder_reset(encoder, io_ptr, io_ptr_end)) {
-+ if (!num_io_words || !encoder_reset(encoder, io_ptr, io_ptr_end)) {
- return QUIC_ERROR;
- }
-
diff --git a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-b24fe6b6.patch b/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-b24fe6b6.patch
deleted file mode 100644
index 40127deda15a..000000000000
--- a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-b24fe6b6.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/common/quic_family_tmpl.c b/common/quic_family_tmpl.c
-index 8a5f7d2c9be3f6b1bd82993703749268bab243b4..6cc051b36889f773fe5401e204db6245d99e27df 100644
---- a/subprojects/spice-common/common/quic_family_tmpl.c
-+++ b/subprojects/spice-common/common/quic_family_tmpl.c
-@@ -103,7 +103,12 @@ static s_bucket *FNAME(find_bucket)(Channel *channel, const unsigned int val)
- {
- spice_extra_assert(val < (0x1U << BPC));
-
-- return channel->_buckets_ptrs[val];
-+ /* The and (&) here is to avoid buffer overflows in case of garbage or malicious
-+ * attempts. Is much faster then using comparisons and save us from such situations.
-+ * Note that on normal build the check above won't be compiled as this code path
-+ * is pretty hot and would cause speed regressions.
-+ */
-+ return channel->_buckets_ptrs[val & ((1U << BPC) - 1)];
- }
-
- #undef FNAME
diff --git a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-ef1b6ff7.patch b/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-ef1b6ff7.patch
deleted file mode 100644
index bc764ec23ce2..000000000000
--- a/app-emulation/spice/files/spice-0.14.3-CVE-2020-14355-ef1b6ff7.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/common/quic_tmpl.c b/common/quic_tmpl.c
-index ecd6f3f187c753a89b7dbb0657edc3ae82ffaaff..ebae992d642a657a7505b3ca0e8145310805f32f 100644
---- a/subprojects/spice-common/common/quic_tmpl.c
-+++ b/subprojects/spice-common/common/quic_tmpl.c
-@@ -563,7 +563,11 @@ static void FNAME_DECL(uncompress_row_seg)(const PIXEL * const prev_row,
- do_run:
- state->waitcnt = stopidx - i;
- run_index = i;
-- run_end = i + decode_state_run(encoder, state);
-+ run_end = decode_state_run(encoder, state);
-+ if (run_end < 0 || run_end > (end - i)) {
-+ encoder->usr->error(encoder->usr, "wrong RLE\n");
-+ }
-+ run_end += i;
-
- for (; i < run_end; i++) {
- UNCOMPRESS_PIX_START(&cur_row[i]);
diff --git a/app-emulation/spice/metadata.xml b/app-emulation/spice/metadata.xml
index ee309bddf45f..ce2f1efd9185 100644
--- a/app-emulation/spice/metadata.xml
+++ b/app-emulation/spice/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
@@ -8,4 +8,7 @@
<use>
<flag name="smartcard">Enable smartcard remoting using <pkg>app-emulation/libcacard</pkg></flag>
</use>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">spice/spice</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/spice/spice-0.14.3.ebuild b/app-emulation/spice/spice-0.14.3.ebuild
deleted file mode 100644
index 95c2c45cdecc..000000000000
--- a/app-emulation/spice/spice-0.14.3.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-inherit autotools python-any-r1 readme.gentoo-r1 xdg-utils
-
-DESCRIPTION="SPICE server"
-HOMEPAGE="https://www.spice-space.org/"
-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"
-IUSE="libressl lz4 sasl smartcard static-libs gstreamer"
-
-# the libspice-server only uses the headers of libcacard
-RDEPEND="
- dev-lang/orc[static-libs(+)?]
- >=dev-libs/glib-2.22:2[static-libs(+)?]
- media-libs/opus[static-libs(+)?]
- sys-libs/zlib[static-libs(+)?]
- virtual/jpeg:0=[static-libs(+)?]
- >=x11-libs/pixman-0.17.7[static-libs(+)?]
- !libressl? ( dev-libs/openssl:0=[static-libs(+)?] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)?] )
- lz4? ( app-arch/lz4:0=[static-libs(+)?] )
- smartcard? ( >=app-emulation/libcacard-0.1.2 )
- sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )"
-DEPEND="${RDEPEND}
- >=app-emulation/spice-protocol-0.14.0
- smartcard? ( app-emulation/qemu[smartcard] )"
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- $(python_gen_any_dep '
- >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- ')"
-
-python_check_deps() {
- has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
- has_version -b "dev-python/six[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- # Prevent sandbox violations, bug #586560
- # https://bugzilla.gnome.org/show_bug.cgi?id=744134
- # https://bugzilla.gnome.org/show_bug.cgi?id=744135
- addpredict /dev
-
- xdg_environment_reset
-
- local myconf="
- $(use_enable static-libs static)
- $(use_enable lz4)
- $(use_with sasl)
- $(use_enable smartcard)
- --enable-gstreamer=$(usex gstreamer "1.0" "no")
- --disable-celt051
- "
- econf ${myconf}
-}
-
-src_compile() {
- # Prevent sandbox violations, bug #586560
- # https://bugzilla.gnome.org/show_bug.cgi?id=744134
- # https://bugzilla.gnome.org/show_bug.cgi?id=744135
- addpredict /dev
-
- default
-}
-
-src_install() {
- default
- use static-libs || find "${D}" -name '*.la' -type f -delete || die
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/app-emulation/spice/spice-0.14.3-r1.ebuild b/app-emulation/spice/spice-0.15.1-r1.ebuild
index 3b1c4cfb9ca5..3a1d525ff2a6 100644
--- a/app-emulation/spice/spice-0.14.3-r1.ebuild
+++ b/app-emulation/spice/spice-0.15.1-r1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10..12} )
+# Port to meson once https://gitlab.freedesktop.org/spice/spice/-/issues/75 is fixed
inherit autotools python-any-r1 readme.gentoo-r1 xdg-utils
DESCRIPTION="SPICE server"
@@ -12,33 +13,32 @@ 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"
-IUSE="libressl lz4 sasl smartcard static-libs gstreamer test"
+KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
+IUSE="gstreamer lz4 sasl smartcard static-libs test"
RESTRICT="!test? ( test )"
# the libspice-server only uses the headers of libcacard
-RDEPEND="
- dev-lang/orc[static-libs(+)?]
- >=dev-libs/glib-2.22:2[static-libs(+)?]
+RDEPEND="dev-lang/orc[static-libs(+)?]
+ >=dev-libs/glib-2.38:2[static-libs(+)?]
+ dev-libs/openssl:0=[static-libs(+)?]
media-libs/opus[static-libs(+)?]
+ media-libs/libjpeg-turbo:0=[static-libs(+)?]
sys-libs/zlib[static-libs(+)?]
- virtual/jpeg:0=[static-libs(+)?]
>=x11-libs/pixman-0.17.7[static-libs(+)?]
- !libressl? ( dev-libs/openssl:0=[static-libs(+)?] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)?] )
lz4? ( app-arch/lz4:0=[static-libs(+)?] )
- smartcard? ( >=app-emulation/libcacard-0.1.2 )
+ smartcard? ( >=app-emulation/libcacard-2.5.1 )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)"
DEPEND="${RDEPEND}
- >=app-emulation/spice-protocol-0.14.0
+ >=app-emulation/spice-protocol-0.14.3
smartcard? ( app-emulation/qemu[smartcard] )
test? ( net-libs/glib-networking )"
BDEPEND="${PYTHON_DEPS}
+ dev-build/autoconf-archive
virtual/pkgconfig
$(python_gen_any_dep '
>=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
@@ -46,17 +46,10 @@ BDEPEND="${PYTHON_DEPS}
')"
python_check_deps() {
- has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
- has_version -b "dev-python/six[${PYTHON_USEDEP}]"
+ python_has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
+ python_has_version -b "dev-python/six[${PYTHON_USEDEP}]"
}
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2020-14355-762e0aba.patch
- "${FILESDIR}"/${P}-CVE-2020-14355-404d7478.patch
- "${FILESDIR}"/${P}-CVE-2020-14355-ef1b6ff7.patch
- "${FILESDIR}"/${P}-CVE-2020-14355-b24fe6b6.patch
-)
-
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
}
@@ -75,7 +68,7 @@ src_configure() {
xdg_environment_reset
- local myconf="
+ local myconf=(
$(use_enable static-libs static)
$(use_enable lz4)
$(use_with sasl)
@@ -83,8 +76,9 @@ src_configure() {
$(use_enable test tests)
--enable-gstreamer=$(usex gstreamer "1.0" "no")
--disable-celt051
- "
- econf ${myconf}
+ )
+
+ econf "${myconf[@]}"
}
src_compile() {
diff --git a/app-emulation/spice/spice-0.15.2.ebuild b/app-emulation/spice/spice-0.15.2.ebuild
new file mode 100644
index 000000000000..69caa30dafc1
--- /dev/null
+++ b/app-emulation/spice/spice-0.15.2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils
+
+DESCRIPTION="SPICE server"
+HOMEPAGE="https://www.spice-space.org/"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice.git"
+ inherit git-r3
+
+ DEPEND="~app-emulation/spice-protocol-9999"
+else
+ SRC_URI="https://www.spice-space.org/download/releases/spice-server/${P}.tar.bz2"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="gstreamer lz4 sasl smartcard static-libs test"
+RESTRICT="!test? ( test )"
+
+# The libspice-server only uses the headers of libcacard
+RDEPEND="
+ dev-lang/orc[static-libs(+)?]
+ >=dev-libs/glib-2.38:2[static-libs(+)?]
+ dev-libs/openssl:0=[static-libs(+)?]
+ media-libs/opus[static-libs(+)?]
+ media-libs/libjpeg-turbo:0=[static-libs(+)?]
+ sys-libs/zlib[static-libs(+)?]
+ >=x11-libs/pixman-0.17.7[static-libs(+)?]
+ lz4? ( app-arch/lz4:0=[static-libs(+)?] )
+ smartcard? ( >=app-emulation/libcacard-2.5.1 )
+ sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+"
+DEPEND+="
+ ${RDEPEND}
+ >=app-emulation/spice-protocol-0.14.3
+ smartcard? ( app-emulation/qemu[smartcard] )
+ test? ( net-libs/glib-networking )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glib-utils
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ >=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ')
+"
+
+python_check_deps() {
+ python_has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
+ python_has_version -b "dev-python/six[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # Prevent sandbox violations, bug #586560
+ # https://bugzilla.gnome.org/show_bug.cgi?id=744134
+ # https://bugzilla.gnome.org/show_bug.cgi?id=744135
+ use gstreamer && addpredict /dev
+
+ xdg_environment_reset
+
+ local emesonargs=(
+ -Ddefault_library=$(usex static-libs both shared)
+ -Dgstreamer=$(usex gstreamer 1.0 no)
+ -Dopus=enabled
+ -Dmanual=false
+ $(meson_use lz4)
+ $(meson_use sasl)
+ $(meson_feature smartcard)
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/spice/spice-9999.ebuild b/app-emulation/spice/spice-9999.ebuild
index 44eb9c360ee8..22dfed00d335 100644
--- a/app-emulation/spice/spice-9999.ebuild
+++ b/app-emulation/spice/spice-9999.ebuild
@@ -1,60 +1,64 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit git-r3 meson python-any-r1 readme.gentoo-r1 xdg-utils
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils
DESCRIPTION="SPICE server"
HOMEPAGE="https://www.spice-space.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice.git"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/spice/spice.git"
+ inherit git-r3
+
+ DEPEND="~app-emulation/spice-protocol-9999"
+else
+ SRC_URI="https://www.spice-space.org/download/releases/spice-server/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS=""
-IUSE="gstreamer libressl lz4 opus sasl smartcard static-libs test"
-
+IUSE="gstreamer lz4 sasl smartcard static-libs test"
RESTRICT="!test? ( test )"
-# the libspice-server only uses the headers of libcacard
+# The libspice-server only uses the headers of libcacard
RDEPEND="
- dev-lang/orc
- >=dev-libs/glib-2.22:2
- sys-libs/zlib
- virtual/jpeg:0=
- >=x11-libs/pixman-0.17.7
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- lz4? ( app-arch/lz4:0= )
- opus? ( media-libs/opus )
- smartcard? ( >=app-emulation/libcacard-0.1.2 )
- sasl? ( dev-libs/cyrus-sasl )
+ dev-lang/orc[static-libs(+)?]
+ >=dev-libs/glib-2.38:2[static-libs(+)?]
+ dev-libs/openssl:0=[static-libs(+)?]
+ media-libs/opus[static-libs(+)?]
+ media-libs/libjpeg-turbo:0=[static-libs(+)?]
+ sys-libs/zlib[static-libs(+)?]
+ >=x11-libs/pixman-0.17.7[static-libs(+)?]
+ lz4? ( app-arch/lz4:0=[static-libs(+)?] )
+ smartcard? ( >=app-emulation/libcacard-2.5.1 )
+ sasl? ( dev-libs/cyrus-sasl[static-libs(+)?] )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
- )"
-DEPEND="${RDEPEND}
- ~app-emulation/spice-protocol-9999
+ )
+"
+DEPEND+="
+ ${RDEPEND}
+ >=app-emulation/spice-protocol-0.14.3
smartcard? ( app-emulation/qemu[smartcard] )
- test? ( net-libs/glib-networking )"
-BDEPEND="${PYTHON_DEPS}
+ test? ( net-libs/glib-networking )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/glib-utils
virtual/pkgconfig
$(python_gen_any_dep '
>=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
- ')"
-
-DOCS=(
- AUTHORS
- CHANGELOG.md
- README
-)
+ ')
+"
python_check_deps() {
- has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
- has_version -b "dev-python/six[${PYTHON_USEDEP}]"
+ python_has_version -b ">=dev-python/pyparsing-1.5.6-r2[${PYTHON_USEDEP}]"
+ python_has_version -b "dev-python/six[${PYTHON_USEDEP}]"
}
pkg_setup() {
@@ -72,29 +76,19 @@ src_configure() {
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
-Dgstreamer=$(usex gstreamer 1.0 no)
+ -Dopus=enabled
+ -Dmanual=false
$(meson_use lz4)
$(meson_use sasl)
- $(meson_feature opus)
$(meson_feature smartcard)
$(meson_use test tests)
- -Dmanual=false
- -Dtests=false
)
- meson_src_configure
-}
-src_compile() {
- # Prevent sandbox violations, bug #586560
- # https://bugzilla.gnome.org/show_bug.cgi?id=744134
- # https://bugzilla.gnome.org/show_bug.cgi?id=744135
- use gstreamer && addpredict /dev
-
- meson_src_compile
+ meson_src_configure
}
src_install() {
meson_src_install
- einstalldocs
readme.gentoo_create_doc
}
diff --git a/app-emulation/spim/metadata.xml b/app-emulation/spim/metadata.xml
index 9d9f29c5239c..956e906311b4 100644
--- a/app-emulation/spim/metadata.xml
+++ b/app-emulation/spim/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
diff --git a/app-emulation/spim/spim-8.0-r3.ebuild b/app-emulation/spim/spim-8.0-r3.ebuild
index 05f6fcdf21f3..a011ed2f09c8 100644
--- a/app-emulation/spim/spim-8.0-r3.ebuild
+++ b/app-emulation/spim/spim-8.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -25,7 +25,7 @@ DEPEND="
X? ( x11-base/xorg-proto )
"
BDEPEND="
- sys-devel/bison
+ app-alternatives/yacc
X? ( x11-misc/imake )
"
diff --git a/app-emulation/uade/metadata.xml b/app-emulation/uade/metadata.xml
index 78274e0fa550..b289c0683468 100644
--- a/app-emulation/uade/metadata.xml
+++ b/app-emulation/uade/metadata.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
-</maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="fuse">Enable <pkg>sys-fs/fuse</pkg> uadefs frontend for on-the-fly WAV conversion</flag>
+ </use>
+ <upstream>
+ <remote-id type="gitlab">uade-music-player/uade</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/uade/uade-2.13-r1.ebuild b/app-emulation/uade/uade-2.13-r1.ebuild
deleted file mode 100644
index 28ceda581e45..000000000000
--- a/app-emulation/uade/uade-2.13-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Unix Amiga Delitracker Emulator - plays old Amiga tunes through UAE emulation"
-HOMEPAGE="https://zakalwe.fi/uade"
-SRC_URI="https://zakalwe.fi/uade/uade2/${P}.tar.bz2"
-
-LICENSE="GPL-2+ LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND="media-libs/libao"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog doc/BUGS doc/PLANS )
-
-PATCHES=( "${FILESDIR}"/${P}-configure.patch )
-
-src_configure() {
- tc-export CC
-
- ./configure \
- --prefix="${EPREFIX}"/usr \
- --package-prefix="${D}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-text-scope \
- --without-xmms \
- --without-audacious || die
-}
-
-src_install() {
- default
- doman doc/uade123.1
-}
diff --git a/app-emulation/uade/uade-2.13-r2.ebuild b/app-emulation/uade/uade-2.13-r2.ebuild
new file mode 100644
index 000000000000..bdefc261f02d
--- /dev/null
+++ b/app-emulation/uade/uade-2.13-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Unix Amiga Delitracker Emulator - plays old Amiga tunes through UAE emulation"
+HOMEPAGE="https://zakalwe.fi/uade"
+SRC_URI="https://zakalwe.fi/uade/uade2/${P}.tar.bz2"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="fuse"
+
+RDEPEND="
+ media-libs/libao
+ fuse? ( sys-fs/fuse:0 )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-configure.patch
+)
+
+DOCS=( AUTHORS ChangeLog doc/BUGS doc/PLANS )
+
+src_prepare() {
+ default
+
+ # needed to avoid ${D} VariableScope undefined behavior in src_configure
+ find . -name Makefile.in -exec sed -i 's|{PACKAGEPREFIX}|$(DESTDIR)|' {} + || die
+}
+
+src_configure() {
+ tc-export CC
+
+ # not autotools generated
+ local configure=(
+ ./configure
+ --prefix="${EPREFIX}"/usr
+ --libdir="${EPREFIX}"/usr/$(get_libdir)
+ --with-text-scope
+ --without-audacious
+ --without-xmms
+ $(use_with fuse uadefs)
+ ${EXTRA_ECONF}
+ )
+ echo ${configure[*]}
+ "${configure[@]}" || die
+}
diff --git a/app-emulation/umoci/Manifest b/app-emulation/umoci/Manifest
deleted file mode 100644
index 0f09907185d6..000000000000
--- a/app-emulation/umoci/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST umoci-0.2.1.tar.gz 241472 BLAKE2B 2802fcb14e717a6460f9dc06226d3b430cce2181838a32064e86987131317947a4b117e91d11f981fa1df027804dbf2d92472b5c21749783b4f2ed371c699e7e SHA512 dfd7bbd1afd232400a9bffaf6c074d28ce4ce696c9f3c70bd436cc41b96928415d0793d57b1cf34dd70efd7d0e5eb567eaeea65d793c27ff9ea46fb190bd1807
-DIST umoci-0.4.6.tar.gz 2273608 BLAKE2B d5a36c78918697b9c8f54a5c4b914a9124b5e989dff3efc81a9f64f1bd276189d15a565a6ec2e8d4021925017e9a7a17f7cc5359a552f7c57dda414c25d2fb02 SHA512 0614dd583e00b6e2e69256f1ae1d3316e5bb5989a177d18c5ceacf3af18ab82ccf8edef879b6c813855d878d5af53c541ac433d81e6c20796885a26c57564118
diff --git a/app-emulation/umoci/metadata.xml b/app-emulation/umoci/metadata.xml
deleted file mode 100644
index c36c37139fad..000000000000
--- a/app-emulation/umoci/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/umoci/umoci-0.2.1.ebuild b/app-emulation/umoci/umoci-0.2.1.ebuild
deleted file mode 100644
index ad66e4afe83d..000000000000
--- a/app-emulation/umoci/umoci-0.2.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGO_PN="github.com/openSUSE/umoci"
-COMMIT=0465f83826bc4f52e6e3c4dbb1022ec5792c421f
-inherit golang-vcs-snapshot
-
-DESCRIPTION="Manipulation tool for OCI images"
-HOMEPAGE="https://github.com/openSUSE/umoci"
-SRC_URI="https://github.com/openSUSE/umoci/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="dev-go/go-md2man"
-
-S="${WORKDIR}/${P}/src/${EGO_PN}"
-
-RESTRICT="test"
-
-src_compile() {
- set -- env GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
- go build -v -work -x \
- -ldflags "-w -X main.gitCommit=${COMMIT} -X main.version=${PV}" \
- -o "bin/${PN}" ./cmd/${PN}
- echo "$@"
- "$@" || die
- cd man
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
-dobin bin/${PN}
-doman man/*.1
-dodoc CHANGELOG.md
-einstalldocs
-}
diff --git a/app-emulation/umoci/umoci-0.4.6.ebuild b/app-emulation/umoci/umoci-0.4.6.ebuild
deleted file mode 100644
index f315c80c886b..000000000000
--- a/app-emulation/umoci/umoci-0.4.6.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-COMMIT=5efa06acfb3bb4e65d2711cf5255970948e047cf
-inherit go-module
-
-DESCRIPTION="Manipulation tool for OCI images"
-HOMEPAGE="https://github.com/opencontainers/umoci"
-SRC_URI="https://github.com/opencontainers/umoci/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="dev-go/go-md2man"
-
-RESTRICT+=" test "
-
-src_compile() {
- go build -buildmode=pie -mod=vendor \
- -ldflags "-w -X main.gitCommit=${COMMIT} -X main.version=${PV}" \
- -o "bin/${PN}" ./cmd/${PN} || die
- cd doc/man
- for f in *.1.md; do
- go-md2man -in ${f} -out ${f%%.md} || die
- done
-}
-
-src_install() {
- dobin bin/${PN}
- doman doc/man/*.1
- dodoc CHANGELOG.md
- einstalldocs
-}
diff --git a/app-emulation/uxn/Manifest b/app-emulation/uxn/Manifest
new file mode 100644
index 000000000000..4d0cba24998c
--- /dev/null
+++ b/app-emulation/uxn/Manifest
@@ -0,0 +1 @@
+DIST uxn-0_p20240304.tar.gz 307083 BLAKE2B 2b3a556c5094fd777d82d75c87f721d1a9ea136334cdbc8553662281ae498beb79514e9e567e79b84a625b2fe60b486aa7f6892594cbd08abbbfeb4c9a50b2e9 SHA512 048e24e33de04913e03fbf1b242837dd1ad190f52ede16c302cf436399f0ee478afca545236dd438e03d8dfc29252478c2d79c9b6d3e8d34bb83c99f1930d026
diff --git a/app-emulation/uxn/files/uxn-0_p20230609-build.sh.patch b/app-emulation/uxn/files/uxn-0_p20230609-build.sh.patch
new file mode 100644
index 000000000000..a8b75458da43
--- /dev/null
+++ b/app-emulation/uxn/files/uxn-0_p20230609-build.sh.patch
@@ -0,0 +1,20 @@
+--- a/build.sh
++++ b/build.sh
+@@ -52,7 +52,7 @@ fi
+
+ mkdir -p bin
+ CC="${CC:-cc}"
+-CFLAGS="${CFLAGS:--std=c89 -Wall -Wno-unknown-pragmas}"
++CFLAGS="${CFLAGS} --std=c89 "
+ case "$(uname -s 2>/dev/null)" in
+ MSYS_NT*|MINGW*) # MSYS2 on Windows
+ FILE_LDFLAGS="-liberty"
+@@ -77,7 +77,7 @@ then
+ echo "[debug]"
+ CFLAGS="${CFLAGS} -DDEBUG -Wpedantic -Wshadow -Wextra -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Wvla -g -Og -fsanitize=address -fsanitize=undefined"
+ else
+- CFLAGS="${CFLAGS} -DNDEBUG -O2 -g0 -s"
++ CFLAGS="${CFLAGS} -DNDEBUG "
+ fi
+
+ ${CC} ${CFLAGS} src/uxnasm.c -o bin/uxnasm
diff --git a/app-emulation/uxn/metadata.xml b/app-emulation/uxn/metadata.xml
new file mode 100644
index 000000000000..825e9e0f54aa
--- /dev/null
+++ b/app-emulation/uxn/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ Uxn is a virtual machine with 32 instructions. This one-page computer is
+ capable of hosting small applications, programmable in a unique language.
+ It was designed with an implementation-first mindset with a focus on
+ creating portable tools and games.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourcehut">~rabbits/uxn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/uxn/uxn-0_p20240304.ebuild b/app-emulation/uxn/uxn-0_p20240304.ebuild
new file mode 100644
index 000000000000..8e63625c852d
--- /dev/null
+++ b/app-emulation/uxn/uxn-0_p20240304.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="An assembler and emulator for the Uxn stack-machine, written in ANSI C"
+HOMEPAGE="https://wiki.xxiivv.com/site/uxn.html
+ https://git.sr.ht/~rabbits/uxn/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://git.sr.ht/~rabbits/${PN}"
+elif [[ "${PV}" == *_p20240304 ]] ; then
+ COMMIT=e7c25fad05850f0e577fc83a140405ca6ccd93c2
+ SRC_URI="https://git.sr.ht/~rabbits/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/uxn-${COMMIT}"
+
+ KEYWORDS="amd64 ~x86"
+else
+ die "wrong package version (PV), please update the ebuild, given: ${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ media-libs/libsdl2:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/uxn-0_p20230609-build.sh.patch"
+)
+
+src_compile() {
+ CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" \
+ ./build.sh --no-run \
+ || die "building with \"build.sh\" failed"
+
+ # Fails to assemble via following loop.
+ # Possibly not mean to be assembled by hand.
+ rm -rf ./projects/library ./projects/software/{asma,launcher}.tal || die
+
+ local tal_file
+ local tal_file_base
+
+ while read -r tal_file ; do
+ tal_file_base="$(basename "${tal_file}" .tal)"
+
+ ebegin "Assembling ROM ${tal_file_base}"
+ bin/uxnasm "${tal_file}" "$(dirname "${tal_file}")/${tal_file_base}.rom"
+ eend ${?} || die "failed to assemble ${tal_file}"
+ done \
+ < <(find projects -type f -name "*.tal")
+}
+
+src_install() {
+ insinto /usr/bin
+ doins bin/uxn{asm,cli,emu}
+ fperms 0755 /usr/bin/uxn{asm,cli,emu}
+
+ insinto /usr/share/uxn
+ doins -r projects
+
+ einstalldocs
+}
diff --git a/app-emulation/uxn/uxn-9999.ebuild b/app-emulation/uxn/uxn-9999.ebuild
new file mode 100644
index 000000000000..ef6e9fc2dafe
--- /dev/null
+++ b/app-emulation/uxn/uxn-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="An assembler and emulator for the Uxn stack-machine, written in ANSI C"
+HOMEPAGE="https://wiki.xxiivv.com/site/uxn.html
+ https://git.sr.ht/~rabbits/uxn/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://git.sr.ht/~rabbits/${PN}"
+elif [[ "${PV}" == *_p20240304 ]] ; then
+ COMMIT=e7c25fad05850f0e577fc83a140405ca6ccd93c2
+ SRC_URI="https://git.sr.ht/~rabbits/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/uxn-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+else
+ die "wrong package version (PV), please update the ebuild, given: ${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ media-libs/libsdl2:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/uxn-0_p20230609-build.sh.patch"
+)
+
+src_compile() {
+ CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" \
+ ./build.sh --no-run \
+ || die "building with \"build.sh\" failed"
+
+ # Fails to assemble via following loop.
+ # Possibly not mean to be assembled by hand.
+ rm -rf ./projects/library ./projects/software/{asma,launcher}.tal || die
+
+ local tal_file
+ local tal_file_base
+
+ while read -r tal_file ; do
+ tal_file_base="$(basename "${tal_file}" .tal)"
+
+ ebegin "Assembling ROM ${tal_file_base}"
+ bin/uxnasm "${tal_file}" "$(dirname "${tal_file}")/${tal_file_base}.rom"
+ eend ${?} || die "failed to assemble ${tal_file}"
+ done \
+ < <(find projects -type f -name "*.tal")
+}
+
+src_install() {
+ insinto /usr/bin
+ doins bin/uxn*
+ fperms 0755 /usr/bin/uxn*
+
+ insinto /usr/share/uxn
+ doins -r projects
+
+ einstalldocs
+}
diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest
index d686f4587be4..45b131565d44 100644
--- a/app-emulation/vagrant/Manifest
+++ b/app-emulation/vagrant/Manifest
@@ -1,2 +1,2 @@
-DIST vagrant-2.2.7.tar.gz 2173893 BLAKE2B bf905cb25a905e4fb79ce9c1fb59ad5520b5176d5681dfdc22855ca0a7520535346d2aebffe47162a1f8ca008083c94426e9de92b6d92de4373c654784605c7e SHA512 3455b74c8a867ab37ca9873187a98cdb80feb22a400c4e9f2266897da815815aaefbe0c166172b1c1dbd66aa49ccb1201dcbf904fd883ad34218d694e20d7f87
-DIST vagrant-2.2.9.tar.gz 2215868 BLAKE2B 6d40827c91c86f6b11865d9949e5313c419456c573686944ecd0d1874323aa81d6f26178d5b7a16fee701c513a98b3483dbea0531d9d77dee7b7e284004e17b3 SHA512 15e230bcf336615f0d49a2c40db36f7f26a9f0f6fd42d2ce801f28afc663aadded4fa373e33f9102b21ee70d98563fc68e2b24ffa6c3eec321f58b2c42b0d260
+DIST vagrant-2.4.0.tar.gz 3334706 BLAKE2B 62b720a83646e94c7608a2f8aa7acf985aea0a3532e0474aa45c229b054ea40a6e0b23ccdbfdbf7e27e3da9a4db5f57407656fe103ead0f5a98dc27dae5ebb57 SHA512 94e866b012303b65d33b72034f08305fc04c12be40aeb95247b786b53d14259b7b5062b372e3c87523390f0539848a0eafd45b28ad16a27badecd8888541243b
+DIST vagrant-2.4.1.tar.gz 3342333 BLAKE2B c24c7c30364cb9f03f6e43422ff05954dd877e22a5e244f62cd9ce4925bf10d064fc678dee40a7affd1b6cf49c82d2d2208ee47b92baa0cda4194419ed501be4 SHA512 12ce4a2161e99970f212f265bbc79d6af38bccc44feab95db8db3b8194e8080acb846d680d1006a4e3fb1beabac33f154a7507f43223f675ba1db09a24591893
diff --git a/app-emulation/vagrant/files/vagrant.in b/app-emulation/vagrant/files/vagrant.in
index fd35177c6fe0..21d6c0bf3c82 100644
--- a/app-emulation/vagrant/files/vagrant.in
+++ b/app-emulation/vagrant/files/vagrant.in
@@ -4,7 +4,7 @@
# Vagrant installation directory. This sets up proper environmental variables
# so that everything loads and compiles to proper directories.
-for r in ruby26 ruby25 ruby24; do
+for r in ruby33 ruby32 ruby31 ruby30 ruby27 ruby26; do
# not all ruby versions are guaranteed to be installed
if ! command -v "${r}" >/dev/null 2>&1; then
continue
diff --git a/app-emulation/vagrant/metadata.xml b/app-emulation/vagrant/metadata.xml
index 4f92768cfae5..1ca87553dc86 100644
--- a/app-emulation/vagrant/metadata.xml
+++ b/app-emulation/vagrant/metadata.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="virtualbox">
- Use VirtualBox provider.
- </flag>
- </use>
+ <maintainer type="person">
+ <email>guillaumeseren@gmail.com</email>
+ <name>Guillaume Seren</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">hashicorp/vagrant</remote-id>
</upstream>
diff --git a/app-emulation/vagrant/vagrant-2.2.7-r1.ebuild b/app-emulation/vagrant/vagrant-2.2.7-r1.ebuild
deleted file mode 100644
index 19daab60aa2d..000000000000
--- a/app-emulation/vagrant/vagrant-2.2.7-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby24 ruby25 ruby26"
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
-RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
-RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
-RUBY_FAKEGEM_TASK_DOC=""
-
-inherit bash-completion-r1 ruby-fakegem
-
-DESCRIPTION="A tool for building and distributing development environments"
-HOMEPAGE="https://vagrantup.com/"
-SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+virtualbox"
-RESTRICT="test"
-
-RDEPEND="${RDEPEND}
- app-arch/libarchive
- net-misc/curl
- virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )"
-
-ruby_add_rdepend "
- >=dev-ruby/bcrypt_pbkdf-1.0.0
- >=dev-ruby/childprocess-0.6.0
- >=dev-ruby/ed25519-1.2.4
- >=dev-ruby/erubis-2.7.0
- >=dev-ruby/hashicorp-checkpoint-0.1.5
- >=dev-ruby/i18n-1.1.1:1
- >=dev-ruby/listen-3.1.5
- <dev-ruby/log4r-1.1.11
- <dev-ruby/mime-types-3:*
- >=dev-ruby/net-ssh-5.1.0:*
- >=dev-ruby/net-sftp-2.1
- >=dev-ruby/net-scp-1.2.0
- dev-ruby/rest-client:2
- >=dev-ruby/rubyzip-1.3:1
- >=dev-ruby/vagrant_cloud-2.0.3
-"
-
-# upstream specifies rake>=12 but it apparently doesn't need something this
-# recent. Because vagrant builds fine with rake 10 and because stabilizing rake
-# is tricky, we specify a lower dependency requirement here. This way, we'll be
-# able to stabilize vagrant sooner.
-ruby_add_bdepend "
- >=dev-ruby/rake-10.5.0
-"
-
-all_ruby_prepare() {
- # remove bundler support
- sed -i '/[Bb]undler/d' Rakefile || die
- rm Gemfile || die
-
- # loosen dependencies
- sed -e '/hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \
- -i ${PN}.gemspec || die
-
- # remove windows-specific gems
- sed -e '/wdm\|winrm/d' \
- -i ${PN}.gemspec || die
-
- # remove bsd-specific gems
- sed -e '/rb-kqueue/d' \
- -i ${PN}.gemspec || die
-
- # remove ruby_dep, it's unused and only listed to loosen ruby implementation deps
- sed -e '/ruby_dep/d' \
- -i ${PN}.gemspec || die
-
- sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
-}
-
-all_ruby_install() {
- all_fakegem_install
-
- newbashcomp contrib/bash/completion.sh ${PN}
-
- # provide executable similar to upstream:
- # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
- dobin "${PN}"
-
- # directory for plugins.json
- keepdir /var/lib/vagrant
-
- insinto /usr/share/vim/vimfiles/syntax/
- doins contrib/vim/vagrantfile.vim
-}
diff --git a/app-emulation/vagrant/vagrant-2.2.9-r1.ebuild b/app-emulation/vagrant/vagrant-2.2.9-r1.ebuild
deleted file mode 100644
index 9e265ce73a47..000000000000
--- a/app-emulation/vagrant/vagrant-2.2.9-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-USE_RUBY="ruby24 ruby25 ruby26"
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
-RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
-RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
-RUBY_FAKEGEM_TASK_DOC=""
-
-inherit bash-completion-r1 ruby-fakegem
-
-DESCRIPTION="A tool for building and distributing development environments"
-HOMEPAGE="https://vagrantup.com/"
-SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+virtualbox"
-RESTRICT="test"
-
-RDEPEND="${RDEPEND}
- app-arch/libarchive
- net-misc/curl
- virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )"
-
-ruby_add_rdepend "
- >=dev-ruby/bcrypt_pbkdf-1.0.0
- >=dev-ruby/childprocess-3.0.0
- >=dev-ruby/ed25519-1.2.4
- >=dev-ruby/erubis-2.7.0
- >=dev-ruby/hashicorp-checkpoint-0.1.5
- >=dev-ruby/i18n-1.8:1
- >=dev-ruby/listen-3.1.5
- <dev-ruby/log4r-1.1.11
- <dev-ruby/mime-types-3:*
- >=dev-ruby/net-ssh-5.2.0:*
- >=dev-ruby/net-sftp-2.1
- >=dev-ruby/net-scp-1.2.0
- dev-ruby/rest-client:2
- dev-ruby/rubyzip:2
- >=dev-ruby/vagrant_cloud-2.0.3
-"
-
-# upstream specifies rake>=12 but it apparently doesn't need something this
-# recent. Because vagrant builds fine with rake 10 and because stabilizing rake
-# is tricky, we specify a lower dependency requirement here. This way, we'll be
-# able to stabilize vagrant sooner.
-ruby_add_bdepend "
- >=dev-ruby/rake-10.5.0
-"
-
-all_ruby_prepare() {
- # remove bundler support
- sed -i '/[Bb]undler/d' Rakefile || die
- rm Gemfile || die
-
- # loosen dependencies
- sed -e '/hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|net-sftp\|rake\|childprocess/s/~>/>=/' \
- -i ${PN}.gemspec || die
-
- # remove windows-specific gems
- sed -e '/wdm\|winrm/d' \
- -i ${PN}.gemspec || die
-
- # remove bsd-specific gems
- sed -e '/rb-kqueue/d' \
- -i ${PN}.gemspec || die
-
- # remove ruby_dep, it's unused and only listed to loosen ruby implementation deps
- sed -e '/ruby_dep/d' \
- -i ${PN}.gemspec || die
-
- sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
-}
-
-all_ruby_install() {
- all_fakegem_install
-
- newbashcomp contrib/bash/completion.sh ${PN}
-
- # provide executable similar to upstream:
- # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
- dobin "${PN}"
-
- # directory for plugins.json
- keepdir /var/lib/vagrant
-
- insinto /usr/share/vim/vimfiles/syntax/
- doins contrib/vim/vagrantfile.vim
-}
diff --git a/app-emulation/vagrant/vagrant-2.4.0-r1.ebuild b/app-emulation/vagrant/vagrant-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..1ed485efc094
--- /dev/null
+++ b/app-emulation/vagrant/vagrant-2.4.0-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/vagrant/vagrant_ssl/extconf.rb)
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
+RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_TASK_TEST=test:unit
+RUBY_FAKEGEM_RECIPE_TEST=rake
+
+inherit bash-completion-r1 optfeature ruby-fakegem
+
+DESCRIPTION="A tool for building and distributing development environments"
+HOMEPAGE="https://vagrantup.com/"
+SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BUSL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${RDEPEND}
+ app-arch/libarchive
+ net-misc/curl
+"
+
+ruby_add_rdepend "
+ >=dev-ruby/bcrypt_pbkdf-1.1.0
+ >=dev-ruby/childprocess-4.1.0
+ >=dev-ruby/ed25519-1.3.0
+ dev-ruby/erubi
+ >=dev-ruby/googleapis-common-protos-types-1.3.0
+ >=dev-ruby/grpc-1.59.2
+ >=dev-ruby/hashicorp-checkpoint-0.1.5
+ >=dev-ruby/i18n-1.12:1
+ >=dev-ruby/listen-3.7
+ >=dev-ruby/log4r-1.1.9
+ <dev-ruby/log4r-1.1.11
+ >=dev-ruby/mime-types-3.3:*
+ >=dev-ruby/net-ftp-0.2.0
+ >=dev-ruby/net-ssh-7.0.0
+ >=dev-ruby/net-sftp-4.0.0
+ >=dev-ruby/net-scp-4.0.0
+ >=dev-ruby/rexml-3.2.0
+ >=dev-ruby/rgl-0.5.10
+ >=dev-ruby/rubyzip-2.3.2
+ >=dev-ruby/vagrant_cloud-3.1.0
+ >=dev-ruby/ipaddr-1.2.4
+"
+
+ruby_add_bdepend "
+ >=dev-ruby/rake-13.0.0
+ test? (
+ ~app-emulation/vagrant-${PV}
+ dev-ruby/fake_ftp
+ dev-ruby/rake-compiler
+ >=dev-ruby/rspec-3.11
+ >=dev-ruby/rspec-its-1.3.0
+ >=dev-ruby/webrick-1.7.0
+ )
+"
+
+all_ruby_prepare() {
+ # remove bundler support
+ sed -e '/[Bb]undler/ s:^:#:' \
+ -e '/extensiontask/ s:^:#:' \
+ -e '/ExtensionTask/,/^end/ s:^:#:' \
+ -i Rakefile || die
+ rm Gemfile || die
+ rm tasks/bundler.rake || die
+
+ sed -e ':rake\|rspec: s:~>:>=:' \
+ -e ':bcrypt_pbkdf\|hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|net-sftp\|childprocess: s:~>:>=:' \
+ -e '/fake_ftp/ s:^#*:#:' \
+ -e '/wdm/ s:^#*:#:' \
+ -e '/winrm/ s:^#*:#:' \
+ -e '/rb-kqueue/ s:^#*:#:' \
+ -e '/ruby_dep/ s:^#*:#:' \
+ -i ${PN}.gemspec || die
+
+ sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
+
+ sed -i -e 's/format documentation/format progress/' tasks/test.rake || die
+
+ # Avoid tests confused by the environment
+ rm -f test/unit/vagrant/util/env_test.rb || die
+
+ # Avoid tests for Windows-specific components
+ rm -rf test/unit/plugins/communicators/winrm || die
+ sed -e '/eager loads WinRM/askip "Windows component"' \
+ -e '/should return the specified communicator if given/askip "Windows component"' \
+ -i test/unit/vagrant/machine_test.rb || die
+ sed -e '/with winrm communicator/ s/context/xcontext/' \
+ -i test/unit/plugins/provisioners/ansible/provisioner_test.rb || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ newbashcomp contrib/bash/completion.sh ${PN}
+
+ # provide executable similar to upstream:
+ # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
+ dobin "${PN}"
+
+ # directory for plugins.json
+ keepdir /var/lib/vagrant
+
+ insinto /usr/share/vim/vimfiles/syntax/
+ doins contrib/vim/vagrantfile.vim
+
+ optfeature_header "Optional emulation/container backends:"
+ optfeature "VirtualBox support" app-emulation/virtualbox
+ optfeature "Docker support" app-containers/docker
+}
diff --git a/app-emulation/vagrant/vagrant-2.4.1.ebuild b/app-emulation/vagrant/vagrant-2.4.1.ebuild
new file mode 100644
index 000000000000..a64f74de084a
--- /dev/null
+++ b/app-emulation/vagrant/vagrant-2.4.1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/vagrant/vagrant_ssl/extconf.rb)
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
+RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_TASK_TEST=test:unit
+RUBY_FAKEGEM_RECIPE_TEST=rake
+
+inherit bash-completion-r1 optfeature ruby-fakegem
+
+DESCRIPTION="A tool for building and distributing development environments"
+HOMEPAGE="https://vagrantup.com/"
+SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BUSL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${RDEPEND}
+ app-arch/libarchive
+ net-misc/curl
+"
+
+ruby_add_rdepend "
+ >=dev-ruby/bcrypt_pbkdf-1.1.0
+ >=dev-ruby/childprocess-4.1.0
+ >=dev-ruby/ed25519-1.3.0
+ dev-ruby/erubi
+ >=dev-ruby/googleapis-common-protos-types-1.3.0
+ >=dev-ruby/grpc-1.59.2
+ >=dev-ruby/hashicorp-checkpoint-0.1.5
+ >=dev-ruby/i18n-1.12:1
+ >=dev-ruby/listen-3.7
+ >=dev-ruby/log4r-1.1.9
+ <dev-ruby/log4r-1.1.11
+ >=dev-ruby/mime-types-3.3:*
+ >=dev-ruby/net-ftp-0.2.0
+ >=dev-ruby/net-ssh-7.0.0
+ >=dev-ruby/net-sftp-4.0.0
+ >=dev-ruby/net-scp-4.0.0
+ >=dev-ruby/rexml-3.2.0
+ >=dev-ruby/rgl-0.5.10
+ >=dev-ruby/rubyzip-2.3.2
+ >=dev-ruby/vagrant_cloud-3.1.1
+ >=dev-ruby/ipaddr-1.2.4
+"
+
+ruby_add_bdepend "
+ >=dev-ruby/rake-13.0.0
+ test? (
+ ~app-emulation/vagrant-${PV}
+ dev-ruby/fake_ftp
+ dev-ruby/rake-compiler
+ >=dev-ruby/rspec-3.11
+ >=dev-ruby/rspec-its-1.3.0
+ >=dev-ruby/webrick-1.7.0
+ )
+"
+
+all_ruby_prepare() {
+ # remove bundler support
+ sed -e '/[Bb]undler/ s:^:#:' \
+ -e '/extensiontask/ s:^:#:' \
+ -e '/ExtensionTask/,/^end/ s:^:#:' \
+ -i Rakefile || die
+ rm Gemfile || die
+ rm tasks/bundler.rake || die
+
+ sed -e ':rake\|rspec: s:~>:>=:' \
+ -e ':bcrypt_pbkdf\|hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|net-sftp\|childprocess: s:~>:>=:' \
+ -e '/fake_ftp/ s:^#*:#:' \
+ -e '/wdm/ s:^#*:#:' \
+ -e '/winrm/ s:^#*:#:' \
+ -e '/rb-kqueue/ s:^#*:#:' \
+ -e '/ruby_dep/ s:^#*:#:' \
+ -i ${PN}.gemspec || die
+
+ sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
+
+ sed -i -e 's/format documentation/format progress/' tasks/test.rake || die
+
+ # Avoid tests confused by the environment
+ rm -f test/unit/vagrant/util/env_test.rb || die
+
+ # Avoid tests for Windows-specific components
+ rm -rf test/unit/plugins/communicators/winrm || die
+ sed -e '/eager loads WinRM/askip "Windows component"' \
+ -e '/should return the specified communicator if given/askip "Windows component"' \
+ -i test/unit/vagrant/machine_test.rb || die
+ sed -e '/with winrm communicator/ s/context/xcontext/' \
+ -i test/unit/plugins/provisioners/ansible/provisioner_test.rb || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ newbashcomp contrib/bash/completion.sh ${PN}
+
+ # provide executable similar to upstream:
+ # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
+ dobin "${PN}"
+
+ # directory for plugins.json
+ keepdir /var/lib/vagrant
+
+ insinto /usr/share/vim/vimfiles/syntax/
+ doins contrib/vim/vagrantfile.vim
+
+ optfeature_header "Optional emulation/container backends:"
+ optfeature "VirtualBox support" app-emulation/virtualbox
+ optfeature "Docker support" app-containers/docker
+}
diff --git a/app-emulation/vendor-reset/Manifest b/app-emulation/vendor-reset/Manifest
index 3d837e82ee92..d6e8905b5c12 100644
--- a/app-emulation/vendor-reset/Manifest
+++ b/app-emulation/vendor-reset/Manifest
@@ -1 +1 @@
-DIST vendor-reset-0.1.0.tar.gz 12718324 BLAKE2B 762ec8bc289b572ab8f8ecc3fa233e3c78c48c48a261c58ce1be9c10356a55957e0bd8fd01e3143443be74236bf9ed540b84d332788c67aa949599ccc5a564d3 SHA512 ed4dcb1a71fa8901732e729d37b501ac105cc2c93d0666e44c08e311d99a244027339d5709a9305ff992ca2acb2f337793cdb1f9369197911985cd20d6f3139f
+DIST vendor-reset-0.1.1_pre20221205.tar.gz 12725340 BLAKE2B 5f2e34b74e83c8f48daad8d2c714872ab23f50cb0fad6b5c7920476b43c2fbfcf5543e923c506dfb2d8c33846e8fdd08c7d20b30fcc053f2c191d813872b44c5 SHA512 87a3c64d917e6a44308115480f14956f65a9f84fef70de29feebe3fcd7d522b59a3dbcb5fc9a340ac9b7a3612a29ed696b4f52648f86a0d877b915c97c5a4cc9
diff --git a/app-emulation/vendor-reset/files/vendor-reset-0.1.1-allow-correct-compilation-with-clang.patch b/app-emulation/vendor-reset/files/vendor-reset-0.1.1-allow-correct-compilation-with-clang.patch
new file mode 100644
index 000000000000..32ae298d4049
--- /dev/null
+++ b/app-emulation/vendor-reset/files/vendor-reset-0.1.1-allow-correct-compilation-with-clang.patch
@@ -0,0 +1,23 @@
+https://github.com/gnif/vendor-reset/commit/084881c6e9e11bdadaf05798e669568848e698a3.patch
+From: =?UTF-8?q?Marcus=20K=C3=B6hler?= <khler.marcus@gmail.com>
+Date: Mon, 25 Dec 2023 21:43:41 +0100
+Subject: [PATCH] Allow correct compilation with Clang/LLVM
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Marcus Köhler <khler.marcus@gmail.com>
+--- a/src/hook.c
++++ b/src/hook.c
+@@ -30,7 +30,11 @@ static bool hook_installed = false;
+ static int (*orig_pci_dev_specific_reset)(struct pci_dev *dev, int probe);
+
+ /* TCO breaks the hook, we must disable it for this function */
++#if defined(__GNUC__) && !defined(__llvm__)
+ __attribute__((optimize("-fno-optimize-sibling-calls")))
++#elif defined(__clang__)
++__attribute__((disable_tail_calls))
++#endif
+ static int hooked_pci_dev_specific_reset(struct pci_dev *dev, int probe)
+ {
+ int ret;
diff --git a/app-emulation/vendor-reset/files/vendor-reset-0.1.1-fix-build-on-kernel-6.8.patch b/app-emulation/vendor-reset/files/vendor-reset-0.1.1-fix-build-on-kernel-6.8.patch
new file mode 100644
index 000000000000..d99212c9ee27
--- /dev/null
+++ b/app-emulation/vendor-reset/files/vendor-reset-0.1.1-fix-build-on-kernel-6.8.patch
@@ -0,0 +1,35 @@
+https://github.com/gnif/vendor-reset/commit/f72619e468846e0bab4426f5e71b069f88c33a11.patch
+From: Sakari <20642596+sakarie9@users.noreply.github.com>
+Date: Thu, 14 Mar 2024 10:59:15 +0800
+Subject: [PATCH] Fix build on kernel 6.8+
+
+--- a/src/amd/amdgpu/atom.c
++++ b/src/amd/amdgpu/atom.c
+@@ -28,6 +28,7 @@
+ #include <linux/sched.h>
+ #include <linux/slab.h>
+ #include <linux/delay.h>
++#include <linux/version.h>
+ #include <asm/unaligned.h>
+
+ //#include <drm/drm_util.h>
+@@ -39,6 +40,10 @@
+ #include "atom-names.h"
+ #include "atom-bits.h"
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
++#define strscpy strlcpy
++#endif
++
+ #define ATOM_COND_ABOVE 0
+ #define ATOM_COND_ABOVEOREQUAL 1
+ #define ATOM_COND_ALWAYS 2
+@@ -1424,7 +1429,7 @@ struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios)
+ if (*str != '\0')
+ {
+ pr_info("ATOM BIOS: %s\n", str);
+- strlcpy(ctx->vbios_version, str, sizeof(ctx->vbios_version));
++ strscpy(ctx->vbios_version, str, sizeof(ctx->vbios_version));
+ }
+
+ return ctx;
diff --git a/app-emulation/vendor-reset/metadata.xml b/app-emulation/vendor-reset/metadata.xml
index 95a133672a10..9dd38a3711ed 100644
--- a/app-emulation/vendor-reset/metadata.xml
+++ b/app-emulation/vendor-reset/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sarnex@gentoo.org</email>
diff --git a/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r1.ebuild b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r1.ebuild
new file mode 100644
index 000000000000..43bacc3c3ea3
--- /dev/null
+++ b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/gnif/vendor-reset.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ KEYWORDS="~amd64"
+ EGIT_COMMIT="4b466e92a2d9f76ce1082cde982c7be0be91e248"
+ SRC_URI="https://github.com/gnif/vendor-reset/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Linux kernel vendor specific hardware reset module"
+HOMEPAGE="https://github.com/gnif/vendor-reset"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+CONFIG_CHECK="FTRACE KPROBES PCI_QUIRKS KALLSYMS FUNCTION_TRACER"
+
+src_compile() {
+ local modlist=( vendor-reset )
+ local modargs=( KDIR="${KV_OUT_DIR}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modules-load.d/
+ newins "${FILESDIR}"/modload.conf vendor-reset.conf
+}
diff --git a/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r2.ebuild b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r2.ebuild
new file mode 100644
index 000000000000..f34969845915
--- /dev/null
+++ b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/gnif/vendor-reset.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ KEYWORDS="~amd64"
+ EGIT_COMMIT="4b466e92a2d9f76ce1082cde982c7be0be91e248"
+ SRC_URI="https://github.com/gnif/vendor-reset/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Linux kernel vendor specific hardware reset module"
+HOMEPAGE="https://github.com/gnif/vendor-reset"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+CONFIG_CHECK="FTRACE KPROBES PCI_QUIRKS KALLSYMS FUNCTION_TRACER"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.1-allow-correct-compilation-with-clang.patch"
+ "${FILESDIR}/${PN}-0.1.1-fix-build-on-kernel-6.8.patch"
+)
+
+src_compile() {
+ local modlist=( vendor-reset )
+ local modargs=( KDIR="${KV_OUT_DIR}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modules-load.d/
+ newins "${FILESDIR}"/modload.conf vendor-reset.conf
+}
diff --git a/app-emulation/vendor-reset/vendor-reset-0.1.0.ebuild b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205.ebuild
index c772c4558764..245e75a24d32 100644
--- a/app-emulation/vendor-reset/vendor-reset-0.1.0.ebuild
+++ b/app-emulation/vendor-reset/vendor-reset-0.1.1_pre20221205.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit linux-mod
+inherit linux-mod toolchain-funcs
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/gnif/vendor-reset.git"
@@ -11,35 +11,29 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
else
KEYWORDS="~amd64"
- SRC_URI="https://github.com/gnif/vendor-reset/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ EGIT_COMMIT="4b466e92a2d9f76ce1082cde982c7be0be91e248"
+ SRC_URI="https://github.com/gnif/vendor-reset/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
fi
DESCRIPTION="Linux kernel vendor specific hardware reset module"
HOMEPAGE="https://github.com/gnif/vendor-reset"
+
LICENSE="GPL-2"
SLOT="0"
-DEPEND=""
-RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+MODULE_NAMES="vendor-reset(extra)"
pkg_setup() {
local CONFIG_CHECK="FTRACE KPROBES PCI_QUIRKS KALLSYMS FUNCTION_TRACER"
linux-mod_pkg_setup
-}
-
-src_compile() {
- set_arch_to_kernel
- emake \
- DESTDIR="${ED}" \
- INSTALL_MOD_PATH="${ED}"
+ BUILD_TARGETS="build"
+ BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KDIR=${KERNEL_DIR}"
}
src_install() {
- set_arch_to_kernel
- emake \
- DESTDIR="${ED}" \
- INSTALL_MOD_PATH="${ED}" \
- install
+ linux-mod_src_install
insinto /etc/modules-load.d/
newins "${FILESDIR}"/modload.conf vendor-reset.conf
diff --git a/app-emulation/vendor-reset/vendor-reset-9999.ebuild b/app-emulation/vendor-reset/vendor-reset-9999.ebuild
index c772c4558764..2723fba58a32 100644
--- a/app-emulation/vendor-reset/vendor-reset-9999.ebuild
+++ b/app-emulation/vendor-reset/vendor-reset-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod
+inherit linux-mod-r1
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/gnif/vendor-reset.git"
@@ -11,35 +11,26 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
else
KEYWORDS="~amd64"
- SRC_URI="https://github.com/gnif/vendor-reset/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ EGIT_COMMIT="4b466e92a2d9f76ce1082cde982c7be0be91e248"
+ SRC_URI="https://github.com/gnif/vendor-reset/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
fi
DESCRIPTION="Linux kernel vendor specific hardware reset module"
HOMEPAGE="https://github.com/gnif/vendor-reset"
+
LICENSE="GPL-2"
SLOT="0"
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- local CONFIG_CHECK="FTRACE KPROBES PCI_QUIRKS KALLSYMS FUNCTION_TRACER"
- linux-mod_pkg_setup
-}
+CONFIG_CHECK="FTRACE KPROBES PCI_QUIRKS KALLSYMS FUNCTION_TRACER"
src_compile() {
- set_arch_to_kernel
- emake \
- DESTDIR="${ED}" \
- INSTALL_MOD_PATH="${ED}"
+ local modlist=( vendor-reset )
+ local modargs=( KDIR="${KV_OUT_DIR}" )
+ linux-mod-r1_src_compile
}
src_install() {
- set_arch_to_kernel
- emake \
- DESTDIR="${ED}" \
- INSTALL_MOD_PATH="${ED}" \
- install
+ linux-mod-r1_src_install
insinto /etc/modules-load.d/
newins "${FILESDIR}"/modload.conf vendor-reset.conf
diff --git a/app-emulation/vice/Manifest b/app-emulation/vice/Manifest
index 6d59125ff4d9..7c0058509c3a 100644
--- a/app-emulation/vice/Manifest
+++ b/app-emulation/vice/Manifest
@@ -1,2 +1 @@
-DIST vice-3.5.tar.gz 22557578 BLAKE2B 5573951052c2c7b2beb4dd194ad8612c53e484e47a4d935e0dbc880f2f06611252add3631f99c9656f2c941088d0147b0783020ffcc5a29505bab75ef8dc128e SHA512 02f364c1645138cacb461346d44de8f524fb2aba7d980181caf039c46ca9d30db98466e5b0e56e6a41417cd7bbd63d73bf6eb110af1271e23732e320dd1fab70
-DIST vice-emu-code-r38553-trunk-vice.zip 27146846 BLAKE2B 5139e4b1e9269c3885313889dffc055298c52152da77e5a824270feb0af6ba61a1726160a6d259e9f8840fefe486cc184f5bfda3ba1797e0359159ccf1e9824f SHA512 c4d3f132bae2980163e74695126e979bd68dddecb17c2eea8227edbb675985d1f04ade665b946a5e3c707bc17e260efb61f57aa141b6ef712385d4d85a68ef86
+DIST vice-3.8.tar.gz 13564021 BLAKE2B 709fd6eda874de542e5770a328b0c0308d04f755e3bf1fceba5147156eb894a95ce6f14e9f8848ca6992d4f958082f83a198d2176c1fe54e87027c7dfac8849c SHA512 fe644667736c32386b62af53314a95bf510c75d476eaab14b4c37693f2f57d6815126ab3db2f0cb11300c1a4a07c29b3f25210800ce97a673a0460ab59d0ebba
diff --git a/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch b/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch
deleted file mode 100644
index 557c0a927318..000000000000
--- a/app-emulation/vice/files/vice-pkg-config-3.4_p38553.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://sourceforge.net/p/vice-emu/patches/218/
-
-Index: configure.ac
-===================================================================
---- a/configure.ac (revision 38502)
-+++ b/configure.ac (working copy)
-@@ -1275,6 +1275,14 @@
- fi
-
- if test x"$found_sdl2" != "xyes"; then
-+ PKG_CHECK_MODULES(SDL2, sdl2, [
-+ use_sdl_prefix=no
-+ use_sdl2_prefix=no
-+ found_sdl2=yes
-+ VICE_CFLAGS="$VICE_CFLAGS $SDL2_CFLAGS"
-+ VICE_CXXFLAGS="$VICE_CXXFLAGS $SDL2_CFLAGS"
-+ LIBS="$LIBS $SDL2_LIBS"
-+ ], [
- dnl Check for sdl2-config
- if test x"$sdl2_config" != "xno"; then
- user_CFLAGS="$CFLAGS"
-@@ -1311,6 +1319,7 @@
- CFLAGS="$user_CFLAGS"
- CXXFLAGS="$user_CXXFLAGS"
- fi
-+ ])
- fi
-
- dnl fail if SDL2 ui was requested, otherwise restore flags and continue
diff --git a/app-emulation/vice/metadata.xml b/app-emulation/vice/metadata.xml
index 2294b11c8d08..28b3dc71db21 100644
--- a/app-emulation/vice/metadata.xml
+++ b/app-emulation/vice/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/app-emulation/vice/vice-3.4_p38553.ebuild b/app-emulation/vice/vice-3.4_p38553.ebuild
deleted file mode 100644
index 17bb3310b2ab..000000000000
--- a/app-emulation/vice/vice-3.4_p38553.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multibuild xdg
-
-MY_P="vice-emu-code-r${PV##*_p}-trunk-vice"
-
-DESCRIPTION="The Versatile Commodore Emulator"
-HOMEPAGE="https://vice-emu.sourceforge.io/"
-#SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
-SRC_URI="https://sourceforge.net/code-snapshots/svn/v/vi/vice-emu/code/${MY_P}.zip"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame mpg123 ogg oss +opengl parport pci png portaudio pulseaudio sdl zlib"
-REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )"
-
-RDEPEND="
- sys-libs/readline:0=
- virtual/libintl
- alsa? ( media-libs/alsa-lib )
- ethernet? (
- >=net-libs/libpcap-0.9.8
- >=net-libs/libnet-1.1.2.1:1.1
- )
- ffmpeg? ( media-video/ffmpeg:= )
- flac? ( media-libs/flac )
- gif? ( media-libs/giflib:= )
- gtk? (
- dev-libs/glib:2
- media-libs/fontconfig:1.0
- x11-libs/cairo
- x11-libs/gtk+:3
- x11-libs/pango
- opengl? (
- media-libs/glew:0=
- virtual/opengl
- )
- )
- jpeg? ( virtual/jpeg )
- lame? ( media-sound/lame )
- mpg123? ( media-sound/mpg123 )
- ogg? (
- media-libs/libogg
- media-libs/libvorbis
- )
- parport? ( sys-libs/libieee1284 )
- pci? ( sys-apps/pciutils )
- png? ( media-libs/libpng:0= )
- portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-sound/pulseaudio )
- sdl? ( media-libs/libsdl2[video] )
- zlib? ( sys-libs/zlib )
-"
-
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-
-BDEPEND="
- app-arch/unzip
- app-text/dos2unix
- dev-embedded/xa
- dev-lang/perl
- sys-apps/texinfo
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- virtual/yacc
- doc? ( virtual/texi2dvi )
- gtk? ( x11-misc/xdg-utils )
-"
-
-S="${WORKDIR}/${MY_P}"
-ECONF_SOURCE="${S}"
-
-PATCHES=(
- "${FILESDIR}"/vice-pkg-config-${PV}.patch
-)
-
-src_prepare() {
- default
-
- # Delete some bundled libraries.
- rm -r src/lib/lib{ffmpeg,lame,x264} || die
-
- local DIR
- for DIR in src/resid src/resid-dtv .; do
- pushd "${DIR}" || die
- AT_NO_RECURSIVE=1 eautoreconf
- popd || die
- done
-
- # Strip the predefined C(XX)FLAGS.
- sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die
-}
-
-src_configure() {
- MULTIBUILD_VARIANTS=(
- $(usev gtk)
- $(usev headless)
- $(usev sdl)
- )
-
- multibuild_foreach_variant run_in_build_dir multibuild_src_configure
-}
-
-multibuild_enable() {
- if [[ ${MULTIBUILD_VARIANT} == $1 ]]; then
- printf -- "--enable-%s\n" "$2"
- else
- printf -- "--disable-%s\n" "$2"
- fi
-}
-
-multibuild_src_configure() {
- # Some dependencies lack configure options so prevent them becoming
- # automagic by using configure cache variables.
- use pci || export ac_cv_header_pci_pci_h=no
-
- # Ensure we use giflib, not ungif.
- export ac_cv_lib_ungif_EGifPutLine=no
-
- # Append ".variant" to x* programs if building multiple variants.
- if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then
- xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/"
- else
- unset xform
- fi
-
- econf \
- --program-transform-name="${xform}" \
- --disable-arch \
- $(use_enable debug) \
- $(use_enable debug debug-gtk3ui) \
- $(use_enable ffmpeg external-ffmpeg) \
- $(multibuild_enable headless headlessui) \
- --enable-html-docs \
- $(use_enable ethernet) \
- $(use_enable opengl hwscale) \
- $(use_enable ipv6) \
- $(use_enable lame) \
- $(use_enable parport libieee1284) \
- $(multibuild_enable gtk native-gtk3ui) \
- $(use_enable doc pdf-docs) \
- $(use_enable portaudio) \
- --disable-sdlui \
- $(multibuild_enable sdl sdlui2) \
- --disable-shared-ffmpeg \
- --disable-static-ffmpeg \
- $(multibuild_enable gtk desktop-files) \
- $(use_with alsa) \
- $(use_with gif) \
- $(use_with jpeg) \
- $(use_with oss) \
- $(use_with png) \
- $(use_with pulseaudio pulse) \
- $(use_with zlib) \
- $(use_with mpg123) \
- $(use_with ogg vorbis) \
- $(use_with flac)
-}
-
-src_compile() {
- multibuild_foreach_variant run_in_build_dir emake
-}
-
-src_install() {
- # Get xdg-desktop-menu to play nicely while doing the install.
- dodir /etc/xdg/menus /usr/share/{applications,desktop-directories}
- XDG_UTILS_INSTALL_MODE=system \
- XDG_DATA_DIRS="${ED}"/usr/share \
- XDG_CONFIG_DIRS="${ED}"/etc/xdg \
- multibuild_foreach_variant run_in_build_dir default
- rm -f "${ED}"/usr/share/applications/*.cache || die
- dodoc FEEDBACK
-
- # Delete the bundled fonts. These could be packaged separately but
- # they're only for the HTML documentation.
- rm -r "${ED}"/usr/share/doc/${PF}/html/fonts/ || die
-}
diff --git a/app-emulation/vice/vice-3.5.ebuild b/app-emulation/vice/vice-3.5.ebuild
deleted file mode 100644
index a24aa9633576..000000000000
--- a/app-emulation/vice/vice-3.5.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multibuild xdg
-
-DESCRIPTION="The Versatile Commodore Emulator"
-HOMEPAGE="https://vice-emu.sourceforge.io/"
-SRC_URI="mirror://sourceforge/vice-emu/releases/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="alsa debug doc ethernet ffmpeg flac gif +gtk headless ipv6 jpeg lame mpg123 ogg oss parport pci png portaudio pulseaudio sdl zlib"
-REQUIRED_USE="|| ( gtk headless sdl ) gtk? ( zlib )"
-
-RDEPEND="
- sys-libs/readline:0=
- virtual/libintl
- alsa? ( media-libs/alsa-lib )
- ethernet? (
- >=net-libs/libpcap-0.9.8
- >=net-libs/libnet-1.1.2.1:1.1
- )
- ffmpeg? ( media-video/ffmpeg:= )
- flac? ( media-libs/flac )
- gif? ( media-libs/giflib:= )
- gtk? (
- dev-libs/glib:2
- media-libs/fontconfig:1.0
- media-libs/glew:0=
- x11-libs/cairo
- x11-libs/gtk+:3
- x11-libs/pango
- virtual/opengl
- )
- jpeg? ( virtual/jpeg )
- lame? ( media-sound/lame )
- mpg123? ( media-sound/mpg123 )
- ogg? (
- media-libs/libogg
- media-libs/libvorbis
- )
- parport? ( sys-libs/libieee1284 )
- pci? ( sys-apps/pciutils )
- png? ( media-libs/libpng:0= )
- portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-sound/pulseaudio )
- sdl? (
- media-libs/libsdl2[video]
- media-libs/sdl2-image
- )
- zlib? ( sys-libs/zlib )
-"
-
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-
-BDEPEND="
- app-arch/unzip
- app-text/dos2unix
- dev-embedded/xa
- dev-lang/perl
- sys-apps/texinfo
- sys-devel/flex
- sys-devel/gettext
- virtual/pkgconfig
- virtual/yacc
- doc? ( virtual/texi2dvi )
- gtk? ( x11-misc/xdg-utils )
-"
-
-ECONF_SOURCE="${S}"
-
-src_prepare() {
- default
-
- # Delete some bundled libraries.
- rm -r src/lib/lib{ffmpeg,lame,x264} || die
-
- # Strip the predefined C(XX)FLAGS.
- sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die
-}
-
-src_configure() {
- MULTIBUILD_VARIANTS=(
- $(usev gtk)
- $(usev headless)
- $(usev sdl)
- )
-
- multibuild_foreach_variant run_in_build_dir multibuild_src_configure
-}
-
-multibuild_enable() {
- if [[ ${MULTIBUILD_VARIANT} == $1 ]]; then
- printf -- "--enable-%s\n" "$2"
- else
- printf -- "--disable-%s\n" "$2"
- fi
-}
-
-multibuild_src_configure() {
- # Some dependencies lack configure options so prevent them becoming
- # automagic by using configure cache variables.
- use pci || export ac_cv_header_pci_pci_h=no
-
- # Ensure we use giflib, not ungif.
- export ac_cv_lib_ungif_EGifPutLine=no
-
- # Append ".variant" to x* programs if building multiple variants.
- if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then
- xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/"
- else
- unset xform
- fi
-
- econf \
- --program-transform-name="${xform}" \
- --disable-arch \
- $(use_enable debug) \
- $(use_enable debug debug-gtk3ui) \
- $(use_enable ffmpeg external-ffmpeg) \
- $(multibuild_enable headless headlessui) \
- --enable-html-docs \
- $(use_enable ethernet) \
- $(use_enable ipv6) \
- $(use_enable lame) \
- $(use_enable parport libieee1284) \
- $(multibuild_enable gtk native-gtk3ui) \
- $(use_enable doc pdf-docs) \
- $(use_enable portaudio) \
- --disable-sdlui \
- $(multibuild_enable sdl sdlui2) \
- --disable-shared-ffmpeg \
- --disable-static-ffmpeg \
- $(multibuild_enable gtk desktop-files) \
- $(use_with alsa) \
- $(use_with gif) \
- $(use_with jpeg) \
- $(use_with oss) \
- $(use_with png) \
- $(use_with pulseaudio pulse) \
- $(use_with zlib) \
- $(use_with mpg123) \
- $(use_with ogg vorbis) \
- $(use_with flac)
-}
-
-src_compile() {
- multibuild_foreach_variant run_in_build_dir emake
-}
-
-src_install() {
- # Get xdg-desktop-menu to play nicely while doing the install.
- dodir /etc/xdg/menus /usr/share/{applications,desktop-directories}
- XDG_UTILS_INSTALL_MODE=system \
- XDG_DATA_DIRS="${ED}"/usr/share \
- XDG_CONFIG_DIRS="${ED}"/etc/xdg \
- multibuild_foreach_variant run_in_build_dir default
- rm -f "${ED}"/usr/share/applications/*.cache || die
-
- # Delete the bundled fonts. These could be packaged separately but
- # they're only for the HTML documentation.
- rm -r "${ED}"/usr/share/doc/${PF}/html/fonts/ || die
-}
diff --git a/app-emulation/vice/vice-3.8-r1.ebuild b/app-emulation/vice/vice-3.8-r1.ebuild
new file mode 100644
index 000000000000..69fdc3b146dc
--- /dev/null
+++ b/app-emulation/vice/vice-3.8-r1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multibuild toolchain-funcs xdg
+
+DESCRIPTION="Versatile Commodore Emulator"
+HOMEPAGE="https://vice-emu.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/vice-emu/releases/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="
+ alsa curl debug doc ethernet flac gif +gtk headless lame mpg123
+ ogg openmp oss parport pci png portaudio pulseaudio sdl
+"
+REQUIRED_USE="|| ( gtk headless sdl )"
+
+RDEPEND="
+ sys-libs/zlib:=
+ virtual/libintl
+ alsa? ( media-libs/alsa-lib )
+ curl? ( net-misc/curl )
+ ethernet? (
+ net-libs/libpcap
+ sys-libs/libcap
+ )
+ flac? ( media-libs/flac:= )
+ gif? ( media-libs/giflib:= )
+ gtk? (
+ >=app-accessibility/at-spi2-core-2.46:2
+ dev-libs/glib:2
+ media-libs/fontconfig:1.0
+ media-libs/glew:0=[-egl-only(-)]
+ media-libs/libglvnd[X]
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/pango
+ )
+ lame? ( media-sound/lame )
+ mpg123? ( media-sound/mpg123 )
+ ogg? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ parport? ( sys-libs/libieee1284 )
+ pci? ( sys-apps/pciutils )
+ png? ( media-libs/libpng:= )
+ portaudio? ( media-libs/portaudio )
+ pulseaudio? ( media-libs/libpulse )
+ sdl? (
+ media-libs/libsdl2[video]
+ media-libs/sdl2-image
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+BDEPEND="
+ app-alternatives/awk
+ app-alternatives/yacc
+ app-arch/unzip
+ app-text/dos2unix
+ dev-embedded/xa
+ dev-lang/perl
+ sys-apps/texinfo
+ app-alternatives/lex
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( virtual/texi2dvi )
+ gtk? ( x11-misc/xdg-utils )
+"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ # Strip the predefined C(XX)FLAGS.
+ sed -i -r 's:(VICE_C(XX)?FLAGS=)"[^$]+":\1:' configure || die
+
+ MULTIBUILD_VARIANTS=(
+ $(usev gtk)
+ $(usev headless)
+ $(usev sdl)
+ )
+
+ # Debug build currently broken without copy sources.
+ multibuild_copy_sources
+}
+
+src_configure() {
+ tc-export AR
+
+ multibuild_foreach_variant run_in_build_dir multibuild_src_configure
+}
+
+multibuild_src_configure() {
+ # Append ".variant" to x* programs if building multiple variants.
+ local xform
+ (( ${#MULTIBUILD_VARIANTS[@]} > 1 )) &&
+ xform="/^x/s/\$/.${MULTIBUILD_VARIANT}/"
+
+ vice-multi_enable() {
+ if [[ ${MULTIBUILD_VARIANT} == ${1} ]]; then
+ echo --enable-${2}
+ else
+ echo --disable-${2}
+ fi
+ }
+
+ local econfargs=(
+ --program-transform-name="${xform}"
+ $(vice-multi_enable gtk desktop-files)
+ $(vice-multi_enable gtk gtk3ui)
+ $(vice-multi_enable headless headlessui)
+ $(vice-multi_enable sdl sdl2ui)
+ $(usex debug $(vice-multi_enable gtk debug-gtk3ui) --disable-debug-gtk3ui)
+ $(use_enable debug)
+ $(use_enable doc pdf-docs)
+ $(use_enable ethernet)
+ $(use_enable openmp)
+ $(use_enable parport parsid)
+ $(use_with alsa)
+ $(use_with curl libcurl)
+ $(use_with flac)
+ $(use_with gif)
+ $(use_with lame)
+ $(use_with lame static-lame) # disables dlopen, uses shared still
+ $(use_with mpg123)
+ $(use_with ogg vorbis)
+ $(use_with oss)
+ $(use_with parport libieee1284)
+ $(use_with png)
+ $(use_with portaudio)
+ $(use_with pulseaudio pulse)
+ $(usex alsa --enable-midi $(use_enable oss midi))
+ $(usev !pci ac_cv_header_pci_pci_h=no)
+ --disable-arch
+ --disable-ffmpeg # deprecated in 3.8, also bug #834359
+ --disable-sdl1ui
+ ac_cv_lib_ungif_EGifPutLine=no # ensure use giflib, not ungif
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_compile() {
+ # bug #924116 wrt SHELL
+ multibuild_foreach_variant run_in_build_dir emake SHELL="${BASH}"
+}
+
+src_install() {
+ # Get xdg-desktop-menu to play nicely while doing the install.
+ dodir /etc/xdg/menus /usr/share/{applications,desktop-directories}
+
+ XDG_UTILS_INSTALL_MODE=system \
+ XDG_DATA_DIRS="${ED}"/usr/share \
+ XDG_CONFIG_DIRS="${ED}"/etc/xdg \
+ multibuild_foreach_variant run_in_build_dir default
+
+ rm -f "${ED}"/usr/share/applications/*.cache || die
+
+ vice-install_extras() {
+ docinto html
+ dodoc doc/html/*.{html,css}
+ dodoc -r doc/html/images
+
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins doc/vim/ftdetect/*.vim
+
+ insinto /usr/share/vim/vimfiles/syntax
+ doins doc/vim/syntax/*.vim
+ }
+ multibuild_for_best_variant run_in_build_dir vice-install_extras
+}
diff --git a/app-emulation/virt-firmware/Manifest b/app-emulation/virt-firmware/Manifest
new file mode 100644
index 000000000000..8181799f3918
--- /dev/null
+++ b/app-emulation/virt-firmware/Manifest
@@ -0,0 +1 @@
+DIST virt-firmware-24.4.tar.gz 111964 BLAKE2B 16005a6f911abf227988abaedd45237d44d403f367abd3c2d413f899a6c3e7db2a62edcd36b7408263f101a0f0a20bbea83bf51f7f798077311b478dfc6c9fc1 SHA512 3b13df25177fe5c20e460e2d82453e23ae96cb657f1228ff1c061db4c4197eba719a4d7f51a90fec60a4de2da9a0e9d3f056d53011bd4f61df7f40b706911a1d
diff --git a/app-emulation/virt-firmware/files/kernel-bootcfg-boot-successful b/app-emulation/virt-firmware/files/kernel-bootcfg-boot-successful
new file mode 100644
index 000000000000..5c7ef1a79ccf
--- /dev/null
+++ b/app-emulation/virt-firmware/files/kernel-bootcfg-boot-successful
@@ -0,0 +1,9 @@
+#!/sbin/openrc-run
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="UKI Successful Boot"
+
+start() {
+ kernel-bootcfg --boot-successful --update-csv || return 1
+}
diff --git a/app-emulation/virt-firmware/metadata.xml b/app-emulation/virt-firmware/metadata.xml
new file mode 100644
index 000000000000..1059efa31d78
--- /dev/null
+++ b/app-emulation/virt-firmware/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <longdescription lang="en">
+ This is a small collection of tools for edk2 firmware images. They
+ support decoding and printing the content of firmware volumes.
+ Variable stores (OVMF_VARS.fd) can be modified, for example to enroll
+ secure boot certificates.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">virt-firmware</remote-id>
+ <remote-id type="gitlab">kraxel/virt-firmware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/virt-firmware/virt-firmware-24.4.ebuild b/app-emulation/virt-firmware/virt-firmware-24.4.ebuild
new file mode 100644
index 000000000000..36b536044e18
--- /dev/null
+++ b/app-emulation/virt-firmware/virt-firmware-24.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+
+inherit distutils-r1 optfeature pypi systemd
+
+DESCRIPTION="Tools for ovmf/armvirt firmware volumes"
+HOMEPAGE="
+ https://gitlab.com/kraxel/virt-firmware
+ https://pypi.org/project/virt-firmware/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# Currently requires files in /boot and read/write to efivars
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pefile[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ doman man/*.1
+
+ doinitd "${FILESDIR}/kernel-bootcfg-boot-successful"
+ systemd_dounit systemd/kernel-bootcfg-boot-successful.service
+
+ # Use our own provided by sys-kernel/installkernel[efistub,systemd]
+ #exeinto /usr/lib/kernel/install.d
+ #doexe systemd/99-uki-uefi-setup.install
+}
+
+pkg_postinst() {
+ optfeature "automatically updating UEFI configuration on each kernel installation or removal" \
+ "sys-kernel/installkernel[systemd,efistub]"
+}
diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest
index a2de097882bf..bead1d85a9f0 100644
--- a/app-emulation/virt-manager/Manifest
+++ b/app-emulation/virt-manager/Manifest
@@ -1,3 +1 @@
-DIST virt-manager-2.2.1.tar.gz 2623754 BLAKE2B c81e730f2d685152bd0ef0a0327a74a70c50bff91e80ed0e3de92d0b848183c4bc092be333f2f0785c6a0b39f0b6d6abbd1f38c902f52ba4af7c56d64ee9b026 SHA512 aa97af52b3552c087beab8701762c21e8e6d818c9787d5376ed4e1ae40a34d5e8870c4c00fda9cb17a2340d1dff5b17e853182df720cdd9ea4c91cf01502a33a
-DIST virt-manager-3.1.0.tar.gz 2848420 BLAKE2B 729a16ee419cfc9f118e4a59336e961f17f38908ab3aaa3598c83bff3e8bca75b150f0f38b021c5ccb839a7c43e87f071859f68c2a81425715e236e14d0a7929 SHA512 185e34d8ebb2f9755bf9732bdafdbe9d0924d8c3b69758947252cce5deeac2042f473ba63673eea2bf36beb1f216a856938650f86e2c86eb5618e8f8522df53d
-DIST virt-manager-3.2.0.tar.gz 2858909 BLAKE2B 83bd8589fb7d9c855300e06689fdeeeee575e354f9349b5bc63ff1da1a8b578a842f6f60d95a8b8fa53ed007c090d37f706f50fb8dcbcee83c08e27853a150cc SHA512 90cd98fe6b269007cd30f628490c65df440abe39b4925c65dc80667e7d80d059752695353ccf6ac3e2436206da311bc402eda50df31874d82ef8fe115966e1ec
+DIST virt-manager-4.1.0.tar.gz 3151412 BLAKE2B 1b4203be81bd7b82251225d691a4d9068f268e610f049bcadb96de5b539e964ca0b001f22f06ddd8266b58b079f60046f6d11942a1e4eadbc43f0607c46bbddd SHA512 725cb5bcbaebaafae417f95deffb4243ccdad769668cba6e1235f4607e2b29dbd099d2a9a3885981158f53ea854dd71cc29ed9d7557b2791161c13d34f2ef883
diff --git a/app-emulation/virt-manager/metadata.xml b/app-emulation/virt-manager/metadata.xml
index 024a5205e500..40002fc45349 100644
--- a/app-emulation/virt-manager/metadata.xml
+++ b/app-emulation/virt-manager/metadata.xml
@@ -1,19 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
- <use>
- <flag name="policykit">
- Enables <pkg>sys-auth/polkit</pkg> authentication support,
- required when using <pkg>app-emulation/libvirt</pkg> with
- PolicyKit authentication
- </flag>
- <flag name="sasl">
- Depend on the proper libraries needed to connect to SASL-enabled
- libvirtd instances (e.g. Kerberos-protected instances).
- </flag>
- </use>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <use>
+ <flag name="policykit">
+ Enables <pkg>sys-auth/polkit</pkg> authentication support,
+ required when using <pkg>app-emulation/libvirt</pkg> with
+ PolicyKit authentication
+ </flag>
+ <flag name="sasl">
+ Depend on the proper libraries needed to connect to SASL-enabled
+ libvirtd instances (e.g. Kerberos-protected instances).
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">virt-manager/virt-manager</remote-id>
+ </upstream>
</pkgmetadata>
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
deleted file mode 100644
index e0ce6f6fc762..000000000000
--- a/app-emulation/virt-manager/virt-manager-2.2.1-r3.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_SINGLE_IMPL=1
-
-DISTUTILS_USE_SETUPTOOLS=no
-inherit gnome2 distutils-r1
-
-DESCRIPTION="A graphical tool for administering virtual machines"
-HOMEPAGE="http://virt-manager.org"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
-else
- SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="gtk policykit sasl"
-
-RDEPEND="!app-emulation/virtinst
- ${PYTHON_DEPS}
- app-cdr/cdrtools
- >=app-emulation/libvirt-glib-1.0.0[introspection]
- $(python_gen_cond_dep '
- dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}]
- dev-python/libvirt-python[${PYTHON_MULTI_USEDEP}]
- dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
- ')
- >=sys-libs/libosinfo-0.2.10[introspection]
- gtk? (
- gnome-base/dconf
- >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
- net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
- net-misc/x11-ssh-askpass
- x11-libs/gtk+:3[introspection]
- x11-libs/gtksourceview:4[introspection]
- x11-libs/vte:2.91[introspection]
- policykit? ( sys-auth/polkit[introspection] )
- )
-"
-DEPEND="${RDEPEND}
- dev-lang/perl
- dev-util/intltool
-"
-
-DOCS=( README.md NEWS.md )
-
-src_prepare() {
- distutils-r1_src_prepare
-}
-
-python_configure() {
- esetup.py configure \
- --default-graphics=spice
-}
-
-python_install() {
- esetup.py install
-}
-
-src_install() {
- local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
- distutils-r1_src_install
-
- python_fix_shebang "${ED}"/usr/share/virt-manager
-}
-
-pkg_preinst() {
- if use gtk; then
- gnome2_pkg_preinst
-
- cd "${ED}"
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
- else
- rm -rf "${ED}/usr/share/virt-manager/virtManager"
- rm -f "${ED}/usr/share/virt-manager/virt-manager"
- rm -rf "${ED}/usr/share/virt-manager/ui/"
- rm -rf "${ED}/usr/share/virt-manager/icons/"
- rm -rf "${ED}/usr/share/man/man1/virt-manager.1*"
- rm -rf "${ED}/usr/share/icons/"
- rm -rf "${ED}/usr/share/applications/virt-manager.desktop"
- rm -rf "${ED}/usr/bin/virt-manager"
- fi
-}
-
-pkg_postinst() {
- use gtk && gnome2_pkg_postinst
-}
diff --git a/app-emulation/virt-manager/virt-manager-3.1.0.ebuild b/app-emulation/virt-manager/virt-manager-3.1.0.ebuild
deleted file mode 100644
index 7b57165eb531..000000000000
--- a/app-emulation/virt-manager/virt-manager-3.1.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_SINGLE_IMPL=1
-
-DISTUTILS_USE_SETUPTOOLS=no
-inherit gnome2 distutils-r1
-
-DESCRIPTION="A graphical tool for administering virtual machines"
-HOMEPAGE="http://virt-manager.org"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
-else
- SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="gtk policykit sasl"
-
-RDEPEND="!app-emulation/virtinst
- ${PYTHON_DEPS}
- app-cdr/cdrtools
- >=app-emulation/libvirt-glib-1.0.0[introspection]
- $(python_gen_cond_dep '
- dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}]
- dev-python/argcomplete[${PYTHON_MULTI_USEDEP}]
- dev-python/libvirt-python[${PYTHON_MULTI_USEDEP}]
- dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
- ')
- >=sys-libs/libosinfo-0.2.10[introspection]
- gtk? (
- gnome-base/dconf
- >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
- net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
- net-misc/x11-ssh-askpass
- x11-libs/gtk+:3[introspection]
- x11-libs/gtksourceview:4[introspection]
- x11-libs/vte:2.91[introspection]
- policykit? ( sys-auth/polkit[introspection] )
- )
-"
-DEPEND="${RDEPEND}
- dev-python/docutils
- dev-util/intltool
-"
-
-DOCS=( README.md NEWS.md )
-
-src_prepare() {
- distutils-r1_src_prepare
-}
-
-python_configure() {
- esetup.py configure \
- --default-graphics=spice
-}
-
-python_install() {
- esetup.py install
-}
-
-src_install() {
- local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
- distutils-r1_src_install
-
- python_fix_shebang "${ED}"/usr/share/virt-manager
-}
-
-pkg_preinst() {
- if use gtk; then
- gnome2_pkg_preinst
-
- cd "${ED}"
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
- else
- rm -rf "${ED}/usr/share/virt-manager/virtManager"
- rm -f "${ED}/usr/share/virt-manager/virt-manager"
- rm -rf "${ED}/usr/share/virt-manager/ui/"
- rm -rf "${ED}/usr/share/virt-manager/icons/"
- rm -rf "${ED}/usr/share/man/man1/virt-manager.1*"
- rm -rf "${ED}/usr/share/icons/"
- rm -rf "${ED}/usr/share/applications/virt-manager.desktop"
- rm -rf "${ED}/usr/bin/virt-manager"
- fi
-}
-
-pkg_postinst() {
- use gtk && gnome2_pkg_postinst
-}
diff --git a/app-emulation/virt-manager/virt-manager-3.2.0.ebuild b/app-emulation/virt-manager/virt-manager-3.2.0.ebuild
deleted file mode 100644
index 373dc31ea2bc..000000000000
--- a/app-emulation/virt-manager/virt-manager-3.2.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_SINGLE_IMPL=1
-
-DISTUTILS_USE_SETUPTOOLS=no
-inherit gnome2 distutils-r1
-
-DESCRIPTION="A graphical tool for administering virtual machines"
-HOMEPAGE="http://virt-manager.org"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
-else
- SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="gtk policykit sasl"
-
-RDEPEND="${PYTHON_DEPS}
- app-cdr/cdrtools
- >=app-emulation/libvirt-glib-1.0.0[introspection]
- $(python_gen_cond_dep '
- dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}]
- dev-python/argcomplete[${PYTHON_MULTI_USEDEP}]
- >=dev-python/libvirt-python-6.10.0[${PYTHON_MULTI_USEDEP}]
- dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
- ')
- >=sys-libs/libosinfo-0.2.10[introspection]
- gtk? (
- gnome-base/dconf
- >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
- net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
- net-misc/x11-ssh-askpass
- x11-libs/gtk+:3[introspection]
- x11-libs/gtksourceview:4[introspection]
- x11-libs/vte:2.91[introspection]
- policykit? ( sys-auth/polkit[introspection] )
- )
-"
-DEPEND="${RDEPEND}
- dev-python/docutils
- dev-util/intltool
-"
-
-DOCS=( README.md NEWS.md )
-
-src_prepare() {
- distutils-r1_src_prepare
-}
-
-python_configure() {
- esetup.py configure \
- --default-graphics=spice
-}
-
-python_install() {
- esetup.py install
-}
-
-src_install() {
- local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
- distutils-r1_src_install
-
- python_fix_shebang "${ED}"/usr/share/virt-manager
-}
-
-pkg_preinst() {
- if use gtk; then
- gnome2_pkg_preinst
-
- cd "${ED}"
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
- else
- rm -rf "${ED}/usr/share/virt-manager/virtManager"
- rm -f "${ED}/usr/share/virt-manager/virt-manager"
- rm -rf "${ED}/usr/share/virt-manager/ui/"
- rm -rf "${ED}/usr/share/virt-manager/icons/"
- rm -rf "${ED}/usr/share/man/man1/virt-manager.1*"
- rm -rf "${ED}/usr/share/icons/"
- rm -rf "${ED}/usr/share/applications/virt-manager.desktop"
- rm -rf "${ED}/usr/bin/virt-manager"
- fi
-}
-
-pkg_postinst() {
- use gtk && gnome2_pkg_postinst
-}
diff --git a/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild b/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild
new file mode 100644
index 000000000000..42dbcb32b7f7
--- /dev/null
+++ b/app-emulation/virt-manager/virt-manager-4.1.0-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_SETUPTOOLS=no
+inherit gnome2 distutils-r1 optfeature
+
+DESCRIPTION="A graphical tool for administering virtual machines"
+HOMEPAGE="https://virt-manager.org https://github.com/virt-manager/virt-manager"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
+ EGIT_BRANCH="main"
+ SRC_URI=""
+ inherit git-r3
+else
+ SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ppc64 x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="gui policykit sasl"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ || ( dev-libs/libisoburn app-cdr/cdrtools )
+ >=app-emulation/libvirt-glib-1.0.0[introspection]
+ >=sys-libs/libosinfo-0.2.10[introspection]
+ $(python_gen_cond_dep '
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ gui? (
+ gnome-base/dconf
+ >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
+ net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
+ sys-apps/dbus[X]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gtksourceview:4[introspection]
+ x11-libs/vte:2.91[introspection]
+ policykit? ( sys-auth/polkit[introspection] )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/docutils"
+
+DOCS=( README.md NEWS.md )
+
+DISTUTILS_ARGS=(
+ --no-update-icon-cache
+ --no-compile-schemas
+)
+
+EPYTEST_IGNORE=(
+ # Wants to use /tmp osinfo config?
+ tests/test_cli.py
+
+ # These seem to be essentially coverage tests
+ tests/test_checkprops.py
+)
+
+distutils_enable_tests pytest
+
+python_configure() {
+ esetup.py configure --default-graphics=spice
+}
+
+python_test() {
+ export VIRTINST_TEST_SUITE_FORCE_LIBOSINFO=0
+
+ epytest
+}
+
+python_install() {
+ esetup.py install
+}
+
+pkg_preinst() {
+ if use gui ; then
+ gnome2_pkg_preinst
+
+ cd "${ED}" || die
+ export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null || die)
+ else
+ rm -r "${ED}/usr/share/virt-manager/ui/" || die
+ rm -r "${ED}/usr/share/virt-manager/icons/" || die
+ rm -r "${ED}/usr/share/icons/" || die
+ rm -r "${ED}/usr/share/applications/virt-manager.desktop" || die
+ rm -r "${ED}/usr/bin/virt-manager" || die
+ fi
+}
+
+pkg_postinst() {
+ use gui && gnome2_pkg_postinst
+
+ optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
+ optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
+ optfeature "virt-install --location ISO support" dev-libs/libisoburn
+}
diff --git a/app-emulation/virt-manager/virt-manager-4.1.0.ebuild b/app-emulation/virt-manager/virt-manager-4.1.0.ebuild
new file mode 100644
index 000000000000..3614d2d36381
--- /dev/null
+++ b/app-emulation/virt-manager/virt-manager-4.1.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_SETUPTOOLS=no
+inherit gnome2 distutils-r1 optfeature
+
+DESCRIPTION="A graphical tool for administering virtual machines"
+HOMEPAGE="https://virt-manager.org https://github.com/virt-manager/virt-manager"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
+ EGIT_BRANCH="main"
+ SRC_URI=""
+ inherit git-r3
+else
+ SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ppc64 x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="gui policykit sasl"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-cdr/cdrtools
+ >=app-emulation/libvirt-glib-1.0.0[introspection]
+ >=sys-libs/libosinfo-0.2.10[introspection]
+ $(python_gen_cond_dep '
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ gui? (
+ gnome-base/dconf
+ >=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
+ net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
+ sys-apps/dbus[X]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/gtksourceview:4[introspection]
+ x11-libs/vte:2.91[introspection]
+ policykit? ( sys-auth/polkit[introspection] )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/docutils"
+
+DOCS=( README.md NEWS.md )
+
+DISTUTILS_ARGS=(
+ --no-update-icon-cache
+ --no-compile-schemas
+)
+
+EPYTEST_IGNORE=(
+ # Wants to use /tmp osinfo config?
+ tests/test_cli.py
+
+ # These seem to be essentially coverage tests
+ tests/test_checkprops.py
+)
+
+distutils_enable_tests pytest
+
+python_configure() {
+ esetup.py configure --default-graphics=spice
+}
+
+python_test() {
+ export VIRTINST_TEST_SUITE_FORCE_LIBOSINFO=0
+
+ epytest
+}
+
+python_install() {
+ esetup.py install
+}
+
+pkg_preinst() {
+ if use gui ; then
+ gnome2_pkg_preinst
+
+ cd "${ED}" || die
+ export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null || die)
+ else
+ rm -r "${ED}/usr/share/virt-manager/ui/" || die
+ rm -r "${ED}/usr/share/virt-manager/icons/" || die
+ rm -r "${ED}/usr/share/icons/" || die
+ rm -r "${ED}/usr/share/applications/virt-manager.desktop" || die
+ rm -r "${ED}/usr/bin/virt-manager" || die
+ fi
+}
+
+pkg_postinst() {
+ use gui && gnome2_pkg_postinst
+
+ optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
+ optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
+ optfeature "virt-install --location ISO support" dev-libs/libisoburn
+}
diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild
index 4c93200f4a26..377897328f08 100644
--- a/app-emulation/virt-manager/virt-manager-9999.ebuild
+++ b/app-emulation/virt-manager/virt-manager-9999.ebuild
@@ -1,97 +1,105 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_SINGLE_IMPL=1
-
DISTUTILS_USE_SETUPTOOLS=no
-inherit gnome2 distutils-r1
+inherit gnome2 distutils-r1 optfeature
DESCRIPTION="A graphical tool for administering virtual machines"
-HOMEPAGE="http://virt-manager.org"
+HOMEPAGE="https://virt-manager.org https://github.com/virt-manager/virt-manager"
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- SRC_URI=""
+if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/virt-manager/virt-manager.git"
+ EGIT_BRANCH="main"
+ SRC_URI=""
+ inherit git-r3
else
- SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
-IUSE="gtk policykit sasl"
+IUSE="gui policykit sasl"
-RDEPEND="${PYTHON_DEPS}
- app-cdr/cdrtools
+RDEPEND="
+ ${PYTHON_DEPS}
+ || ( dev-libs/libisoburn app-cdr/cdrtools )
>=app-emulation/libvirt-glib-1.0.0[introspection]
+ >=sys-libs/libosinfo-0.2.10[introspection]
$(python_gen_cond_dep '
- dev-libs/libxml2[python,${PYTHON_MULTI_USEDEP}]
- dev-python/argcomplete[${PYTHON_MULTI_USEDEP}]
- >=dev-python/libvirt-python-6.10.0[${PYTHON_MULTI_USEDEP}]
- dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/libvirt-python-6.10.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
')
- >=sys-libs/libosinfo-0.2.10[introspection]
- gtk? (
+ gui? (
gnome-base/dconf
>=net-libs/gtk-vnc-0.3.8[gtk3(+),introspection]
net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?]
- net-misc/x11-ssh-askpass
+ sys-apps/dbus[X]
x11-libs/gtk+:3[introspection]
x11-libs/gtksourceview:4[introspection]
x11-libs/vte:2.91[introspection]
policykit? ( sys-auth/polkit[introspection] )
)
"
-DEPEND="${RDEPEND}
- dev-python/docutils
- dev-util/intltool
-"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/docutils"
DOCS=( README.md NEWS.md )
-src_prepare() {
- distutils-r1_src_prepare
-}
+DISTUTILS_ARGS=(
+ --no-update-icon-cache
+ --no-compile-schemas
+)
+
+EPYTEST_IGNORE=(
+ # Wants to use /tmp osinfo config?
+ tests/test_cli.py
+
+ # These seem to be essentially coverage tests
+ tests/test_checkprops.py
+)
+
+distutils_enable_tests pytest
python_configure() {
- esetup.py configure \
- --default-graphics=spice
+ esetup.py configure --default-graphics=spice
}
-python_install() {
- esetup.py install
-}
+python_test() {
+ export VIRTINST_TEST_SUITE_FORCE_LIBOSINFO=0
-src_install() {
- local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas )
- distutils-r1_src_install
+ epytest
+}
- python_fix_shebang "${ED}"/usr/share/virt-manager
+python_install() {
+ esetup.py install
}
pkg_preinst() {
- if use gtk; then
+ if use gui ; then
gnome2_pkg_preinst
- cd "${ED}"
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
+ cd "${ED}" || die
+ export GNOME2_ECLASS_ICONS=$(find 'usr/share/virt-manager/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null || die)
else
- rm -rf "${ED}/usr/share/virt-manager/virtManager"
- rm -f "${ED}/usr/share/virt-manager/virt-manager"
- rm -rf "${ED}/usr/share/virt-manager/ui/"
- rm -rf "${ED}/usr/share/virt-manager/icons/"
- rm -rf "${ED}/usr/share/man/man1/virt-manager.1*"
- rm -rf "${ED}/usr/share/icons/"
- rm -rf "${ED}/usr/share/applications/virt-manager.desktop"
- rm -rf "${ED}/usr/bin/virt-manager"
+ rm -r "${ED}/usr/share/virt-manager/ui/" || die
+ rm -r "${ED}/usr/share/virt-manager/icons/" || die
+ rm -r "${ED}/usr/share/icons/" || die
+ rm -r "${ED}/usr/share/applications/virt-manager.desktop" || die
+ rm -r "${ED}/usr/bin/virt-manager" || die
fi
}
pkg_postinst() {
- use gtk && gnome2_pkg_postinst
+ use gui && gnome2_pkg_postinst
+
+ optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
+ optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
}
diff --git a/app-emulation/virt-viewer/Manifest b/app-emulation/virt-viewer/Manifest
index ef6781ba6874..4bf036f22561 100644
--- a/app-emulation/virt-viewer/Manifest
+++ b/app-emulation/virt-viewer/Manifest
@@ -1,3 +1 @@
-DIST virt-viewer-7.0.tar.gz 924475 BLAKE2B 003efaf88445ec6f523e678459ed1e11562d0cd87fb4811105df9ac1e3129f4a97170c5b783f1d504d157055ae51ac8dc23ffa8f3f79dd6cd55707d962e1d9ad SHA512 e0558c9138877f546add6a3df9721e100cadb6953815be82b2376b0521b82cf14052bdc29c42bb03b198b6e9d129a55d33531a153207d7f29b5c1c3402ebc904
-DIST virt-viewer-8.0.tar.gz 937457 BLAKE2B 107a5f77d0e272665561e22c950416275c939d000fbb522401a954e6836bbd9e9399e768bc4363a1ea3110dd3229fe33738560563271774c3054278b2399cab8 SHA512 73317048949b6c49c28aab4685e3fb6533945b12c47078b522429b3e178423fcec5758c970d5048c8f65fee2b92a629b7e067cffa79c968292c73fd36133b918
-DIST virt-viewer-9.0.tar.gz 1176991 BLAKE2B bc4df73575195888b769dddd8de5c0eda9daa257902f3f3ce8099f9096d0cd9be28547c8671decb70e83e5f0de71633793886bfe78bd9ab5f360dc9759afcc5b SHA512 a5901d76c3e144fa3d6e640de93ed7f1e7cbeb075c04cdbe4a8c9c09bce96104ea552484df5e84c7a69af8dddd1177123ddb81b2dac775a98ac312f3102daae2
+DIST virt-viewer-11.0.tar.xz 259772 BLAKE2B 41914a60361f0a47a0b0b54962d228ffaec67c6b69c664bb6fe683b7074dd5e2136d2bf3528b6e1b6b785cc4e337125fe16fdd94dd603dd42e8fde543931241a SHA512 738034e15e40a7aaadd2646bf289c12409cbf2d06925d43baa50fa7bc8438188480d6b97687e9816427ac0a9dae84d205351715cb2f38afdbefa2dd1d134904a
diff --git a/app-emulation/virt-viewer/files/virt-viewer-10.0_p20210730-meson-0.61.patch b/app-emulation/virt-viewer/files/virt-viewer-10.0_p20210730-meson-0.61.patch
new file mode 100644
index 000000000000..46c708b9d342
--- /dev/null
+++ b/app-emulation/virt-viewer/files/virt-viewer-10.0_p20210730-meson-0.61.patch
@@ -0,0 +1,36 @@
+https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/117.patch
+https://bugs.gentoo.org/831963
+
+From 41cc016278e713d3db156761fce6437dff81a53a Mon Sep 17 00:00:00 2001
+From: Michal Vasilek <michal@vasilek.cz>
+Date: Sat, 22 Jan 2022 23:28:20 +0100
+Subject: [PATCH] meson: fix build with meson 0.61
+
+i18n.merge_file doesn't accept positional arguments
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -2,7 +2,6 @@ if host_machine.system() != 'windows'
+ desktop = 'remote-viewer.desktop'
+
+ i18n.merge_file (
+- desktop,
+ type: 'desktop',
+ input: desktop + '.in',
+ output: desktop,
+@@ -14,7 +13,6 @@ if host_machine.system() != 'windows'
+ mimetypes = 'virt-viewer-mime.xml'
+
+ i18n.merge_file (
+- mimetypes,
+ type: 'xml',
+ input: mimetypes + '.in',
+ output: mimetypes,
+@@ -27,7 +25,6 @@ if host_machine.system() != 'windows'
+ metainfo = 'remote-viewer.appdata.xml'
+
+ i18n.merge_file (
+- metainfo,
+ type: 'xml',
+ input: metainfo + '.in',
+ output: metainfo,
+GitLab
diff --git a/app-emulation/virt-viewer/metadata.xml b/app-emulation/virt-viewer/metadata.xml
index 3311e82897cd..bed4bdbaeac4 100644
--- a/app-emulation/virt-viewer/metadata.xml
+++ b/app-emulation/virt-viewer/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
@@ -10,7 +10,12 @@
managed by libvirt.</flag>
<flag name="spice">Support connecting to SPICE-enabled virtual
machines.</flag>
+ <flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>)
+ in the GTK+ interface</flag>
<flag name="vnc">Support connecting to VNC-enabled virtual
machines.</flag>
</use>
+ <upstream>
+ <remote-id type="gitlab">virt-viewer/virt-viewer</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/virt-viewer/virt-viewer-11.0.ebuild b/app-emulation/virt-viewer/virt-viewer-11.0.ebuild
new file mode 100644
index 000000000000..e018a5a1b62a
--- /dev/null
+++ b/app-emulation/virt-viewer/virt-viewer-11.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit meson python-any-r1 xdg
+
+DESCRIPTION="Graphical console client for connecting to virtual machines"
+HOMEPAGE="https://virt-manager.org/ https://gitlab.com/virt-viewer/virt-viewer"
+if [[ ${PV} == *_p* ]] ; then
+ GIT_HASH="f0cc7103becccbce95bdf0c80151178af2bace5a"
+ SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/${GIT_HASH}/${PN}-${GIT_HASH}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${GIT_HASH}"
+else
+ SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+libvirt sasl +spice +vnc vte"
+
+RDEPEND="dev-libs/glib:2
+ >=dev-libs/libxml2-2.6
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ libvirt? (
+ >=app-emulation/libvirt-0.10.0:=[sasl?]
+ app-emulation/libvirt-glib
+ )
+ spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] )
+ vte? ( x11-libs/vte:2.91 )
+ vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )"
+DEPEND="${RDEPEND}
+ spice? ( >=app-emulation/spice-protocol-0.12.10 )"
+BDEPEND="${PYTHON_DEPS}
+ dev-lang/perl
+ virtual/pkgconfig"
+
+REQUIRED_USE="|| ( spice vnc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.0_p20210730-meson-0.61.patch
+)
+
+src_prepare() {
+ default
+
+ # Fix python shebangs for python-exec[-native-symlinks], #811408
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature libvirt)
+ $(meson_feature vte)
+ $(meson_feature vnc)
+ $(meson_feature spice)
+
+ -Dgit_werror=disabled
+ )
+
+ meson_src_configure
+}
diff --git a/app-emulation/virt-viewer/virt-viewer-7.0.ebuild b/app-emulation/virt-viewer/virt-viewer-7.0.ebuild
deleted file mode 100644
index 62a5fc06143a..000000000000
--- a/app-emulation/virt-viewer/virt-viewer-7.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2
-
-DESCRIPTION="Graphical console client for connecting to virtual machines"
-HOMEPAGE="http://virt-manager.org/"
-SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="sasl +spice +vnc"
-
-RDEPEND=">=app-emulation/libvirt-0.10.0[sasl?]
- app-emulation/libvirt-glib
- >=dev-libs/libxml2-2.6
- x11-libs/gtk+:3
- spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] )
- vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )"
-DEPEND="${RDEPEND}
- dev-lang/perl
- >=dev-util/intltool-0.35.0
- virtual/pkgconfig
- spice? ( >=app-emulation/spice-protocol-0.12.10 )"
-
-REQUIRED_USE="|| ( spice vnc )"
-
-src_configure() {
- gnome2_src_configure \
- --disable-update-mimedb \
- --without-ovirt \
- $(use_with vnc gtk-vnc) \
- $(use_with spice spice-gtk)
-}
diff --git a/app-emulation/virt-viewer/virt-viewer-8.0.ebuild b/app-emulation/virt-viewer/virt-viewer-8.0.ebuild
deleted file mode 100644
index 5bb016169c9d..000000000000
--- a/app-emulation/virt-viewer/virt-viewer-8.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2
-
-DESCRIPTION="Graphical console client for connecting to virtual machines"
-HOMEPAGE="https://virt-manager.org/"
-SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+libvirt sasl +spice +vnc"
-
-RDEPEND=">=dev-libs/libxml2-2.6
- x11-libs/gtk+:3
- libvirt? (
- >=app-emulation/libvirt-0.10.0[sasl?]
- app-emulation/libvirt-glib
- )
- spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] )
- vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )"
-DEPEND="${RDEPEND}
- dev-lang/perl
- >=dev-util/intltool-0.35.0
- virtual/pkgconfig
- spice? ( >=app-emulation/spice-protocol-0.12.10 )"
-
-REQUIRED_USE="|| ( spice vnc )"
-
-src_configure() {
- gnome2_src_configure \
- --disable-update-mimedb \
- --without-ovirt \
- $(use_with libvirt) \
- $(use_with vnc gtk-vnc) \
- $(use_with spice spice-gtk)
-}
diff --git a/app-emulation/virt-viewer/virt-viewer-9.0.ebuild b/app-emulation/virt-viewer/virt-viewer-9.0.ebuild
deleted file mode 100644
index 098fc095c389..000000000000
--- a/app-emulation/virt-viewer/virt-viewer-9.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2
-
-DESCRIPTION="Graphical console client for connecting to virtual machines"
-HOMEPAGE="https://virt-manager.org/"
-SRC_URI="https://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+libvirt sasl +spice +vnc"
-
-RDEPEND=">=dev-libs/libxml2-2.6
- x11-libs/gtk+:3
- libvirt? (
- >=app-emulation/libvirt-0.10.0[sasl?]
- app-emulation/libvirt-glib
- )
- spice? ( >=net-misc/spice-gtk-0.35[sasl?,gtk3] )
- vnc? ( >=net-libs/gtk-vnc-0.5.0[sasl?,gtk3(+)] )"
-DEPEND="${RDEPEND}
- dev-lang/perl
- >=dev-util/intltool-0.35.0
- virtual/pkgconfig
- spice? ( >=app-emulation/spice-protocol-0.12.10 )"
-
-REQUIRED_USE="|| ( spice vnc )"
-
-src_configure() {
- gnome2_src_configure \
- --disable-update-mimedb \
- --without-ovirt \
- $(use_with libvirt) \
- $(use_with vnc gtk-vnc) \
- $(use_with spice spice-gtk)
-}
diff --git a/app-emulation/virt-what/Manifest b/app-emulation/virt-what/Manifest
index 5bdbd3695f38..266b97d053ce 100644
--- a/app-emulation/virt-what/Manifest
+++ b/app-emulation/virt-what/Manifest
@@ -1,3 +1,2 @@
-DIST virt-what-1.18.tar.gz 173703 BLAKE2B c1ab6f331ca370572cedef06fd3eb9177ca8ef4302446eb46c737446a001e77a0825ec8771aade903e6194af3f4f745c3f35f1d9dbbb8a0550b493296878ade3 SHA512 8085a38111d5664f411f5bb9d2ee221bc22e5b0f2d993e8d518718b3f63b16ba73e052b1623c090493cf8fef52fd237ba823377503a32b4b7d03cc5380d5c613
-DIST virt-what-1.19.tar.gz 183594 BLAKE2B 36b58cbe41f195cf81e0b0cf35ab881c3746ac352c57f470e1fe0005d65534f38886d7688ee9393837e667fd1c8bf41af013f3a12748db5f8615b9b5c944f7a9 SHA512 7b6e6c00e3f35cea236cc5f5fdf28d13e9e38143f280dfcbf083ebf0dca2cb677752b8daec5b2956a08405d1fe5368f9f633ce11a854928c31121a35ee4c6820
-DIST virt-what-1.20.tar.gz 459243 BLAKE2B c51bfc4366ba90e32548a5d1e0779fcc1835dae7a6bb2b6f67b4371c2d2e949339aa0ff67d64485cdb03592713a3ae04a6779e4dac0babf08bb268ce6403066f SHA512 edf74903122bfb422c7a5ecba711bb64d6ef668828f208dfc0571ef14f2643456c14bc9a77dfea209df3d93869ac0a2c9fd039779922eddc6ebd9d988585dea4
+DIST virt-what-1.21.tar.gz 478767 BLAKE2B 7c48b84d9f1fe5f734921f68848b84beee2e5687a6ebfbc422a1349063e6a83c932a89cb2936239da6be033b72e6010694314cf106486cd6c54cd02652bc61a6 SHA512 14ace184c4aee5a09b855c1f5acaa619057aed1b9bf03c91ed1003e6a39ea69162c9fe452ea8162c7fe29825e0e2202cfc7d76e82f0cecea3e32405e5eb9f717
+DIST virt-what-1.25.tar.gz 516445 BLAKE2B 3f3403a3954e359005754e1ad2aba545a824ff9eb77e787615235c1042735f99a58d89f755c265324c16a9d0467e8332a67dff88b3ac15ae21a4f4f7a6dd3136 SHA512 0147b4b44ae0ee685977aa34dfa9bf30ae8e0eb31b7a6d5c0097d16f830fa6fb6afd7156964fc79f3fd5e82b2f68d921fd5306245cc63a2140f6dddc7fdd0e98
diff --git a/app-emulation/virt-what/metadata.xml b/app-emulation/virt-what/metadata.xml
index 5bdec46056c4..d25679ed78c7 100644
--- a/app-emulation/virt-what/metadata.xml
+++ b/app-emulation/virt-what/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>eva@gentoo.org</email>
- <name>Gilles Dartiguelongue</name>
- </maintainer>
- <maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
diff --git a/app-emulation/virt-what/virt-what-1.18.ebuild b/app-emulation/virt-what/virt-what-1.18.ebuild
deleted file mode 100644
index 8001d3e820a0..000000000000
--- a/app-emulation/virt-what/virt-what-1.18.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Detects if the current machine is running in a virtual machine"
-HOMEPAGE="https://people.redhat.com/~rjones/virt-what/"
-SRC_URI="https://people.redhat.com/~rjones/virt-what/files/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ~hppa ppc ppc64 sparc x86"
-IUSE="dmi"
-
-DEPEND="dev-lang/perl"
-RDEPEND="app-shells/bash
- dmi? ( sys-apps/dmidecode )"
-
-src_prepare() {
- default
-
- # Pretends to be POSIX sh while it is not
- sed -e 's:/bin/sh:/bin/bash:' -i virt-what.in || die
-}
diff --git a/app-emulation/virt-what/virt-what-1.20.ebuild b/app-emulation/virt-what/virt-what-1.21.ebuild
index 9c1c37709d81..7b5da45a3537 100644
--- a/app-emulation/virt-what/virt-what-1.20.ebuild
+++ b/app-emulation/virt-what/virt-what-1.21.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="https://people.redhat.com/~rjones/virt-what/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
IUSE="dmi"
DEPEND="dev-lang/perl"
diff --git a/app-emulation/virt-what/virt-what-1.19.ebuild b/app-emulation/virt-what/virt-what-1.25.ebuild
index bbc7f8023ffc..a6226954adcb 100644
--- a/app-emulation/virt-what/virt-what-1.19.ebuild
+++ b/app-emulation/virt-what/virt-what-1.25.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Detects if the current machine is running in a virtual machine"
HOMEPAGE="https://people.redhat.com/~rjones/virt-what/"
@@ -9,7 +9,7 @@ SRC_URI="https://people.redhat.com/~rjones/virt-what/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
IUSE="dmi"
DEPEND="dev-lang/perl"
diff --git a/app-emulation/virtio-win/Manifest b/app-emulation/virtio-win/Manifest
index ed4f491f42ff..51d9ac1c93a3 100644
--- a/app-emulation/virtio-win/Manifest
+++ b/app-emulation/virtio-win/Manifest
@@ -1 +1,3 @@
-DIST virtio-win-0.1.190.iso 501745664 BLAKE2B f9f2bc4dc371ff412dfd0b65228e0984c30a1fe1b30307d3894f2b238a8993e96fda75f931080aeff06a29467a678ca02174a876b9f339a4c8d199fd9c8a9917 SHA512 dfdaddb99c92d633368eb243801425abbcb09e4693be658efe531c33a47600b165e598ddac594239402d2c578f24f5400b5e7b643f17e7db4ebba2d4d99cf0fd
+DIST virtio-win-0.1.229.iso 534818816 BLAKE2B 29442b70e5809fc935940497b4bc021f6fe890beba97605b048e0c5236764d08bc164974be25bf8331136ebbdf664ea440efe1f219129a30a171134bfe369942 SHA512 e9ccb513b07cb28ab490f5d4e299d0d52ade956f82e1a708e91c1ee3af9b142fa144af0fe5287d3bbb369f586857791952de45d1241058073f5a59c1f2f913ca
+DIST virtio-win-0.1.240.iso 627519488 BLAKE2B e5bbf3be166508c437cfc9b7922e93f4229a63cf9cf5dffd0c8ee2836c084b92cb30c76e1cc60432508504df2874ca461481db6664823b11a76cec5186743c97 SHA512 24e0f3d9c25835f2633d2823dade95aae4884aed95a5142d87efeb4aaed48dbc04a82a34ac5310676853008e0de271dfa0747b4c619ed20fa72ffe2e93fadcf3
+DIST virtio-win-0.1.248.iso 732352512 BLAKE2B b3161f020f59eadabc685155ac3a7c402762adf84fa85bc2e4f468df31adf0204b248963a11b84b18520aa815e6907cfb1618a527875a4fd72b2c2e09fc1ce5a SHA512 16cc0c58b5df6c7040893089f3eb29c074aed61d76dae6cd628d8a89a05f6223ac5d7f3f709a12417c147594a87a94cc808d1e04a6f1e407cc41f7c9f47790d1
diff --git a/app-emulation/virtio-win/files/README.gentoo b/app-emulation/virtio-win/files/README.gentoo
new file mode 100644
index 000000000000..9c50feb9a1e8
--- /dev/null
+++ b/app-emulation/virtio-win/files/README.gentoo
@@ -0,0 +1,15 @@
+VirtIO drivers have been installed as a CD-ROM image to
+
+ /usr/share/drivers/windows/virtio-win.iso
+
+To install the drivers on a Windows guest machine, either during or after the
+installation of Windows, pass the iso file to the guest machine and mount it as
+a CD-ROM image. Then, in the Windows guest, open the Device Manager and start
+the driver update wizard. Locate the appropriate device and click to update its
+driver. In the pop-up window, click to browse in the guest machine to locate
+the iso image, and select the driver(s) from it to install.
+
+For an example, see: https://wiki.gentoo.org/wiki/QEMU/Windows_guest
+
+For information on using the Device Manager, refer to the Windows
+documentation.
diff --git a/app-emulation/virtio-win/metadata.xml b/app-emulation/virtio-win/metadata.xml
index 48fb9a962bbc..bc997df6766f 100644
--- a/app-emulation/virtio-win/metadata.xml
+++ b/app-emulation/virtio-win/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>gentoo@aisha.cc</email>
- <name>Aisha Tammy</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>kaichun.ning@gmail.com</email>
+ <name>Kai-Chun Ning</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/app-emulation/virtio-win/virtio-win-0.1.229.1.ebuild b/app-emulation/virtio-win/virtio-win-0.1.229.1.ebuild
new file mode 100644
index 000000000000..1bb20ab6f1e2
--- /dev/null
+++ b/app-emulation/virtio-win/virtio-win-0.1.229.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1
+
+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="BSD Apache-2.0 GPL-2 GPL-2+ GPL-3+ LGPL-2+ Ms-RL"
+SLOT="0"
+KEYWORDS="amd64"
+S="${WORKDIR}"
+INSTALL_PATH=/usr/share/drivers/windows
+
+src_install() {
+ insinto "${INSTALL_PATH}"
+ doins "${DISTDIR}/${PN}-${MY_PV}.iso"
+ dosym "${PN}-${MY_PV}.iso" "${INSTALL_PATH}/${PN}.iso"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/virtio-win/virtio-win-0.1.190.1.ebuild b/app-emulation/virtio-win/virtio-win-0.1.240.1.ebuild
index 9b0970a358d2..057b187a0c4b 100644
--- a/app-emulation/virtio-win/virtio-win-0.1.190.1.ebuild
+++ b/app-emulation/virtio-win/virtio-win-0.1.240.1.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit readme.gentoo-r1
MY_PV=$(ver_cut 1-3)
MY_DW=$(ver_rs 3 -)
@@ -10,13 +12,19 @@ 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"
+LICENSE="BSD Apache-2.0 GPL-2 GPL-2+ GPL-3+ LGPL-2+ Ms-RL"
SLOT="0"
KEYWORDS="~amd64"
S="${WORKDIR}"
+INSTALL_PATH=/usr/share/drivers/windows
src_install() {
- insinto /usr/share/drivers/windows
+ insinto "${INSTALL_PATH}"
doins "${DISTDIR}/${PN}-${MY_PV}.iso"
- dosym "${PN}-${MY_PV}.iso" "/usr/share/drivers/windows/${PN}.iso"
+ dosym "${PN}-${MY_PV}.iso" "${INSTALL_PATH}/${PN}.iso"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
}
diff --git a/app-emulation/virtio-win/virtio-win-0.1.248.1.ebuild b/app-emulation/virtio-win/virtio-win-0.1.248.1.ebuild
new file mode 100644
index 000000000000..bc890c11f60a
--- /dev/null
+++ b/app-emulation/virtio-win/virtio-win-0.1.248.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1
+
+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="BSD Apache-2.0 GPL-2 GPL-2+ GPL-3+ LGPL-2+ Ms-RL"
+SLOT="0"
+KEYWORDS="~amd64"
+S="${WORKDIR}"
+INSTALL_PATH=/usr/share/drivers/windows
+
+src_install() {
+ insinto "${INSTALL_PATH}"
+ doins "${DISTDIR}/${PN}-${MY_PV}.iso"
+ dosym "${PN}-${MY_PV}.iso" "${INSTALL_PATH}/${PN}.iso"
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-emulation/virtiofsd/Manifest b/app-emulation/virtiofsd/Manifest
new file mode 100644
index 000000000000..7fc7bbeb47fc
--- /dev/null
+++ b/app-emulation/virtiofsd/Manifest
@@ -0,0 +1,87 @@
+DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
+DIST anstream-0.3.2.crate 19504 BLAKE2B 617b846c244ea4ccd6c7835a382afe85e14c245ea56b678f57ee12e9c7bcc1c0c3db9620eb4d16bf35e17eca38968bf04420b758f482ac5594670e6292c1fbb9 SHA512 b896e5208a2ee6a3c98bf3bb9ac1c52792de114dfa5709dadcac6183ea19ea63230dffd3217e571354a71d69b8eafbb0189e05f8f77f50922020de54e3aeecc8
+DIST anstyle-1.0.1.crate 13977 BLAKE2B 35be03a7de78737592528967e8ad4851436a74c7863cae9cf5cf7366d3cce9bbbd255b1a89401051f82fe8569a0ff029dcfe427c14a2e0677890453c6119d241 SHA512 2bf9b83ad9772c6a3ef28239cbb98bd667dc631fd1ef76ec5029825c128f6cb22756bb1548dd991e482f86eb9fd94fae5c648f91de2c0d71754b6dca4ec2362c
+DIST anstyle-parse-0.2.1.crate 24802 BLAKE2B 6304a56c6a9fbaf1bb4d1d177b2315684345dc9d71c35836f9544145364f8d6eb56e25c03076690c594ab7db5914501acb569f6c136952e59c93179ced527fb2 SHA512 5c8fc7d88ffc3a6e78340ffe0f3c2d72e865512030ade4509de9c673eba955c536bb1873dac11f6ba11cc8367fb30c67451ed65d19f81507c9e917c702bfd176
+DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a
+DIST anstyle-wincon-1.0.1.crate 11718 BLAKE2B 2500845a23edfb47ecd156424a89789c713a7c367c3fef98d26e4e7b2acb3c6433d39a1c2a59813a98266b0993d4b750e9b6b68b7ced7ec5a04a8b13bad174e7 SHA512 00c380fc0198c49776c40aeef419be2fd2d6809bd2e5d86457f1658c6f4b2e83ebe8feee95855c3bbedd4200a917f582bd41b0ee0cf5d7d1d5017228885a58e6
+DIST arc-swap-1.5.0.crate 65351 BLAKE2B c6b278134f6e29551302e27131639f3bc5bfb05042701cf6c12aab1697f211be0942c44919d374e196ef03605fb137334b42decb9623a137b6ead346586c2105 SHA512 b668a75b2ac77a9d2df3f29b70c8c22e5a961cd2478cd76b6d313e0e1ff809508887451b895f057d160860daa4b02cb74616ab8daa34d163ef3f42a009842031
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST capng-0.2.2.crate 24372 BLAKE2B 85cf114065f0f103a9e1583b11316c5a95d5fa9f5d70448d6749b500e956e4e0c6fb4f5e548a7490d191ecae878624cf4ea1e5026a6a0796c8269e68de70af0e SHA512 132c446c36eea932a39190b284d0f2f29b50334dc8c12043e43a1eca90366a56b2034c649740ac20ded4c4e91147226237cbbcee18750dfc281154644d6fa0db
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST clap-4.3.11.crate 54864 BLAKE2B c1b0567950d6df6c6f40d0f0c2fcb4c485a65a3d5abe49ca04ba8c3ff24ffa52eb08a7d17395c20fc0ff09fee06852ff854369dbe033bc049d322b0a61b13142 SHA512 d00a142055671b4986f95e394f01d05cc41e9bb2fed23b2b1f6cc3366fc24204d877bc5220572f2a7a9424136b24d2596cd7ec7d1604c13b1384c0f0d9d1012a
+DIST clap_builder-4.3.11.crate 160795 BLAKE2B ec650dd28d65412f594ad7cb578afb36412840bd7e04734f8c4bd8a40b453cd2c926ad7164dbdd0e33d357a8c3830560ad03d6f8e105463b7ba592ab68ba897c SHA512 9b0dfe5bfa838d6f5fd9388f574a6a880d724dd49eb987955609bc1e754fdade6db9fd9fc6672d42458d9e621e638aa7702205d894d2318a12711791168bb741
+DIST clap_derive-4.3.2.crate 29053 BLAKE2B 9e578a78e92fcb90689c1327a41f446fac64506ac77c4721f5a87094b18beb540704846485585525695de333c301bd6f6da2805bad4d00888664da01e5a1a8c8 SHA512 2d7214eb91517067d6701443440f514648ae1345a326e6d00c1fec9d387e7781d5ce429d340277eb85fd436fec69154ba51d6a10a0e117276656f0187ddc19fe
+DIST clap_lex-0.5.0.crate 11792 BLAKE2B 0409c9d957ea6a566eb8b50f4212702df038d04c4c38f7440d91cb4c58ec887940f0cf500c4c3949c2191399aac3f5cb1ce44868eac587cde90211d3e467b9a2 SHA512 0149ed7c2438a19b4857f895767550d783711078f07bfa9ac8ca531e06f51c7388110f4d558e30bf503536367cc370cb581e8deb6fe51f9b5460a334963daacd
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
+DIST errno-0.3.1.crate 10348 BLAKE2B 72831d0b69f95884a69918249cc0e814eb5eade3205331bec6d2021f8b01a42c4c9b494f2717033d65a4c5230c8490b6ce250d349c1e8e177b20e7e84a860020 SHA512 00d64157d066f1e7601c522c0f4e777eb662ca5cce64682f616de0734857765c343396f7161ac2908c3db0c474995ae157bfe9d8a9880743724d9bd428dfdf54
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST error-chain-0.12.4.crate 29274 BLAKE2B d082bcbce47411477e8b597cfcb76985cc7d6f1696926cb5314f4e84d2c8642939f5263e110aaef56353ec086a21874a8093bcea1d018be81c86ca42c2c30d71 SHA512 c0ee19a0ba2d79ff1843148d0a582045e68466a9dc429e5f3c8a3a75bc1b6e0d6de03ad69fce851bc0297e7db77b2c6817a13c37e1c3d4501ed41db8a454bf79
+DIST futures-0.3.21.crate 49935 BLAKE2B 290dee4f7662a473d82350092c0b12a8270f6d6f5eae9e4f7e06a6abf59e2d9f2d33e5e62e2682fcf6e109d62f651cb37cc467cff2b20f909c72b5fee2cb7683 SHA512 723fc190e4480fd812a852656fa6509a188f0d06adaa1c22ef24ec4afa7688a1c5d3961e5747f0812d073fc672b0e084af6ad5e5c3fac3ea5829466f993ad865
+DIST futures-channel-0.3.21.crate 31961 BLAKE2B e99f37cdeac080c8bad2203fd24b48eb62918166104ad6cc531c8f69d3e0c3a5898ca27f19693e2c143c9049a7d244f9af49c16fecba12233f9ff3f1d01e35b0 SHA512 1c10398657949b53b6df196cc44d8e4b3acf53b4d216be6f5f631d8d4b500f5c344e2cc7d5a5642ced6c5480511884611be6d429f56a0ede4a716b9c5770cb76
+DIST futures-core-0.3.21.crate 14601 BLAKE2B 73cf4c422202a34cc9916509939fab35c79093a6c1aeb99e35763727ebf7d3a06ae203684d75cc74183126f0cd95dec1530f136ffa2a0e69354c554883e3af1f SHA512 b60e7892436ae28fd2240f17816f934f6caeac663d67b8efc7d519ebb4b0bd921f0b732b6176bd4b472d2fbe346d39a37ba394401e15afa93af8294ceea90976
+DIST futures-executor-0.3.21.crate 17306 BLAKE2B fd20c7f0b4996cc10e3b3d30c33630a42eb363ac7893af4ae5c476775f8e4f3724ac110648252b6cfb3d652d352fbb5833f2647d262a4c9ae999de1fa69340a3 SHA512 597732f96b45ce21f7a0b149f62cbdc54a80010bfa5421ab0ef7345c501c197e1c8fe109fa2d1c813d5c2e872b4670e0fbd96e2572cc3e9d2646b68f41c78147
+DIST futures-io-0.3.21.crate 8902 BLAKE2B e673342d3fae38e5a6a20c426cb1127353b4f15459b4c27965566f7f2f13f0773ac6ec850b0d679bea37d68219edf6cdf9d1d0eed37665f4ff51c6060b81466c SHA512 dde0b79c4ba208b4c92c699457efbd515d331ab612e7b7df735b3b8f2ab79c012b1ba329ddaf488d68c69dbd119aa231b833b81cbcc0cc2f55c656f68dc22bd8
+DIST futures-macro-0.3.21.crate 11250 BLAKE2B c981e6d56971871102591b6f14b13f0ed75499627036a90cb71a3e11336db408d11ea0feced484d9ea454f47db74951cdfc61377af267359f46cb6462cc3fc0c SHA512 a79d4d3e487d05554e05e04f3a631fc9f0b5c525126eed550ee30eed16d4c457dc39274efac53558a3e33a119b8ff9d3552ce367359eec9d05105b278f7677c0
+DIST futures-sink-0.3.21.crate 7843 BLAKE2B e4b2ac98e89063b23f5e278cad1df6b1b8f96d4f0df0cb035ce964b91e97f88c7a1a4942ec4010cb4da5f4a3552487eac048a6bfcef637bf1f83398d7f38758e SHA512 9bc0198495b5a1b3ed25fcf7b053a235bba0a43a4226bf085d9027537a57add1686ef61179bf2a2d4189945cb5a05a8d64ba6e6e647c56245666d51e138d113f
+DIST futures-task-0.3.21.crate 11815 BLAKE2B ec3f2e2c025e9a482d86912099e68722099c22c0024669906036504d0e70998cb9cb5fd4074928d21847334611ccfcbe6d3e2f686c4d4d7d4436f1e7f501b8fb SHA512 8f3b27865d8c7a290471903297e3c0b52caebfaa55550a4738d7915008b893fce67c7d9ae5c5bd03f2a42ee72a96aa0245c4bee70fc06977b3493eb81bca2033
+DIST futures-util-0.3.21.crate 153768 BLAKE2B b3bc5632bbc7616d33f74361d68f83e0cb051125475101c84212ea2bd03307e927cd125e2f93eeb0f84946cc45d3964a590dcbfcfff88d3ce1970f127e71aed3 SHA512 ff952fb74a54e793de943e3aee2ac771357bf9f1aa5de89af128868c46a6b44e414fc4ea97f2d9b201ff7ff41023e119f1adf90d314343ff53ab987c3e07f5d4
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6
+DIST hostname-0.3.1.crate 9272 BLAKE2B cafcae4bbfadd51d058e3daba3e63d897bc3418723d8e843fd941d9663dbc89dba131c77d14ce7a5da552650ea3c40c4e418c88d465f1bab2fa20c178596852d SHA512 a90407996353c9bcf5b76be03713e3a0455ac80a50892e77a508744cf436a938ddb87ef97d8cc91ec7dc4353cfb7bca0fd28c90a72f8a9ecd4f29220d174edf2
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966
+DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
+DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST libseccomp-sys-0.2.1.crate 11601 BLAKE2B 77a77d6d1f8ef6f5d25b35c299032738aed0a404c855cb84223a7334caaf57392fbd8f0915f4f7be875778176cbfdb8062eabbf7b414d3c198a5d41cd8a466ef SHA512 b53b13f95ac487d802ff051b4cee32be2dfa496846f3104a61399a53a07a7d6fb6b4543088765858e26e060e22e0bf93f8cb3a175c06dae4719f918844c7fe0f
+DIST linux-raw-sys-0.4.5.crate 1274380 BLAKE2B e15ca5b63cb994e86a8161e3b6e4bd20da8f574d1a470128f9a209a729ff22c86470f4c2b2a8ccbc1e37d6284b026e0805902645ea4b742425fe34491e519638 SHA512 13c36e03cb5bdb2e9f17622e21eda608057fc9d908bc55a829fdeeb77785094769d4f4b4daf376c5509ceb3abfdb3936f668bd6d5b2fd48e21c5c28b6e597e78
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST match_cfg-0.1.0.crate 7153 BLAKE2B d3f40e5b16761fed337ed18dfa9db9e46aa2ad84ca8cfdc7cf7c72bea7cff8d084d95214ce013b3515bbe5b1ad4b8527bfce692569551e4588fe6f396a8a96ee SHA512 fd36f2b128d70a0f278e708bcb3274d90380229f754aed7ce9b808138b0189d5e1a07e0ba732216f788a530cecddcdd980559b3f71efa371d8805a213ff8f2d6
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
+DIST num_threads-0.1.6.crate 7334 BLAKE2B 416efdf395b0299b6b01e1508823afdda08cf67ca54e1d644fc5accbb0490945a492a34bc5ba70c3e838e6405d17ddce164ef87468bd9da27097de8994ad9577 SHA512 b2d9897e29e59353379b6372a629fc7f9afc89f777b4410eaeac7b4729527948a8dbecb175f056899f9076693ef855cc0d40e725cc54f28af588fbac5f7ce3b6
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST pin-project-lite-0.2.9.crate 27713 BLAKE2B d6985b5add432fb6287d1b0c9fb0cc91a195f82c5a748a9ea430e4ba884717ec7b16d730b5ea62de5b2bfead1771da2d115b3776e12e605f70f2538f374a28fa SHA512 cef0b77233adca712db1183f780732ea577cf1b27c2643de221d54c837c75ce749f907e24a967be7474812c7682cba613a3fc5d553a9578a1b80569da0e562e4
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST proc-macro2-1.0.63.crate 44867 BLAKE2B 54fc0f4f4e328c78609f5c0e26a8e6b1e5f1ad989d68e63d21e094bc20e1be6950d5df98ffb601c89bd3d137f6c05a3d1de74070e493002e793bf159b96f29de SHA512 3855011d0d42e8fe591e7552d224b692d79b194c4452fe9d8f92ed85e5437c0a3524a38e66301412be482cfcfbd468b071a03cf584a1618284dfcdcac9713102
+DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
+DIST regex-1.6.0.crate 239329 BLAKE2B 646405e681ce572ebe2dc51a3339f0f8204143f9b2b8f8e74a4c80379c43c3581363ad347610a384d5ee831cf1425f74ddd944a658b1da2461e8068c5521af69 SHA512 b4861c9cc13d6fb224f67057fd3522f04576591b3d7ae0d3581dce42ca2b2bff96860cf2a7f4dfab00e46a1d29e6473f6723c4aeb02e34ed6d5f205b66f07876
+DIST regex-syntax-0.6.27.crate 297300 BLAKE2B 4ca1a2e23d04e29c5925085ea4ab7ebcc398dfe135eacaab1e686aa8be43a110a28e8bec05a6910183f9a6bb1fd0d635fcb1a60b5a6a03fed4d2cf937a542a5a SHA512 5cc705a5dda08cbdb4dbcf3fa98763cadcda13d9c3ba407b35f3e88d77935efc2704bb40b3fb5aad7dfbad0df43bcb4c4cad9732defb954e2228a0739f7c37c6
+DIST rustix-0.38.7.crate 332031 BLAKE2B c7261d4ef5308a8aca32a919d1ce70980b939333b75fd575978261064789bf673466c892fbee1e0b51cab13b80f21a0355e8a4eddf2375ed2f4c5d6ed7ae7668 SHA512 798a84fb6561ccf6902ce7177b2a555cef4d46a2faa265fe7121c600b543782e2e0970346fab52b1075ea40054f6c8f7b830b45f4b0c9bec3aea824645d3ec89
+DIST slab-0.4.7.crate 16647 BLAKE2B f567cc822e7b84f64a0b0372c22a0463d260871455a33df025808a0476dcbbd4e051a117d8896d96d6d3d0655b7c296cd691ca22edc54486440f4e2e0f5d1e1b SHA512 659a9ca3323fc2cd236f6cb9eb6feeae8a1f5fa046fa239a34cd7a5ab8a7eadb9e5977e8d5cc41e9138900dd7c75ebc0601480771c5fdd2e084ee76619b82521
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST syn-1.0.98.crate 235451 BLAKE2B 0667c24d7f6b9bf4c0a5f45fb51c903303a87c72d445ad824e05ab98a158f9beda0d00721144c486335b6a830db47fe57a34831cff6995f478c969c4d0a039dc SHA512 fe5dda742e085e14b6aea5617d3f9dd19ffd46009f34b119c0d74ec693042f641e594f75ff027dbfa38f3d5149a94eb6187248ee9d09d41dab9cc2cfc18fab18
+DIST syn-2.0.23.crate 241166 BLAKE2B de55798634899162388667e4a68a6525904057a480a6bcd741d0bd0f83ba0d0feed3f9a1bd768ca591602ece1e79866a076b6ca218f86b2cf4827d81224d6ad6 SHA512 3f46b2ae62b2e3378024d057130e48b7ae03316ea38ce1d7d4e6dac9337befd84c9eb20518562917643304de43bbd716c34f508a86dbe21081cccb934b4072a0
+DIST syslog-6.0.1.crate 9552 BLAKE2B eb4414c675842fd8cbde4e0c9ecec5dd0f43ca2877a082d634e145202df6817cee86e2edb11f1b78cfa5b0e5df98a42b6cdb2bf1b70c562661dfa9c03da142ba SHA512 fc3e0ef078d2414420e717b66517e9fc668a03b5d0cd0001aed6e477a92f2873877b873159bdf964e4cd670519e5a308bc7357674bd67ac320754221415aa36c
+DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST thiserror-1.0.41.crate 18734 BLAKE2B 4b2fb42333441ce6a93e74c08615293b58c1d614783a328591a6852144c164311c4e660f6f41c99b1279475066f854fe2c764f857fb69cf16ecd18a5770f7b89 SHA512 3f185746f2783f7f25b986e0aa1d8c3137f6aa2997a40531f04b2fbc00cb380226b0916bb266c8697a10d20d042c7dfa0fe7e767e6ca37346169c67ecfdf4a82
+DIST thiserror-impl-1.0.41.crate 15078 BLAKE2B 53d95c0ecfd2c9d50f618e572eac0a6faa7735fd9afdc8e2a9a7d730ceda83a7222be979d592811fe4a25fe4d992a261d6479df9bcc11abffa4a88571f7647ca SHA512 bf30f7391757f6424d585b28cc2501d962d0d85b6a903baa7d9ef9d4cb96c3b71db67719777aace08fe91fdeedd241905a4d9dc5de5fc97d099968e902191c9b
+DIST time-0.3.11.crate 91807 BLAKE2B d5b80416590bf48c8f403cc0e2ad735b95d98048dc335737fe509c44f805cc911fa55d6af611d3a05150b2a9ebedf005e8903a4daf66e245a5d5f290ed661c46 SHA512 214bb8c5573d3ee405a923f55e22ac3d659c30ba413f5e960e17d8f226d094133e2b52084e34efc6ece2311e13a862f2fcded9783937d69709d11144a8d6b48d
+DIST unicode-ident-1.0.2.crate 34951 BLAKE2B f03f7a040142785675a800672bb363dcf7aae266eebf50425436100249442f27b18837f9e297d93b59a9254c349e13222f8af892a9c0fbf2bac676df8a1b0e1e SHA512 60d78668b762eb842c15ee554c0c1175393702c805f1a874957d49104e9152ad2d0316966553fb14cb520aa858a84da223bf426d55e4ac23de3324a3bebc301c
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST vhost-0.10.0.crate 200688 BLAKE2B b541584270497997e3fb133c0ca27b42fafb4d5083d90eb57221e01cfb1e8534d9adc424dd106d52fbb0f4868958c10c0ec4778c3b19617601af1990089af886 SHA512 da970cf6c7df5a432b3a8c6024518e994fd029cf9ddfaae869519b892fcc4d590641acab76a03d6cbe8139d7f35467d6d359bde13bfb2b6bb33a5ecabda206d1
+DIST vhost-user-backend-0.13.1.crate 20534 BLAKE2B 5c06c2aa1009482c1c0ef838e78feb89c864861a4c3300f58725bb3dd673dd85b68d9baeafafb86130a12ce97d722d111cde84f16c6861e2390a598b980e4a87 SHA512 90bcc1c82702e32d7642e479f686a3faa5db6e6d41f9f158dc7f75ef2720c1ffe4b8705683d77248bf0cb2b0408b1e45a1ce7d5bfcd839a93b9c48dcc31d99e6
+DIST virtio-bindings-0.2.2.crate 17617 BLAKE2B 0c4013b8b91be27b242c1bb3f70bef843702d674ed2922cf666009e6dc6b3fceb5febfddf1994cb3c551ff6b3c64296d9171535b1fdb566a41dc3c0bc0428b61 SHA512 bfc99801eb785190d0796045d72589e4ef037ffea91f93fdc8232c8873bfec133b16cfdcca1969347f435983603fc69235d587a0e92517bab06edc1027b4f2cd
+DIST virtio-queue-0.11.0.crate 147937 BLAKE2B 184b191106139ec12d363b389e27144b252612c7ad94eef3cb6c6547d10f720fdc06117b5bf05b0bcfc03c4d232ccade7b4f257b3de705cd0269c17db58ced99 SHA512 e38c9173e26963b552729b0651f7d38d56a4b98995da2eb48f78a53e3ab61c67002c07428d5f1fab7e1450d358601b74afa41e893f660a19812cb67eafada11b
+DIST virtiofsd-v1.10.0.tar.bz2 94982 BLAKE2B 32ce893cc44b99abedd136173b380141fb873cef65c0bd400b15c2ae9957d1b379cfc390d1dd7f2591f4d2930f120dc9bdfc7de087ea50f323db6a70bee36967 SHA512 cde56b446c0baa73a29dea6378f60f0a816fe72d97585acc39d60f3bb19fcd016d094405c2ba2327666d84c1618d1b0164ccb03c8871fa6c76e16a3251acecde
+DIST vm-memory-0.14.0.crate 85354 BLAKE2B f2716e17e4272e0baacc38e9783d6abf337a80a18a63119bb1b644ab2c65a7064c4fa2c229309e5d06ebbfadd25bd566e2c96bbc7d281bbe5b29b163718378f2 SHA512 fa7341be2393a42af6ea6c803c1f9657a5e152abd79af83b41918abb01f2f3a6e33431e39e40297164dfca2f7ef14dfc20d80c0278f27bc7abd4d7a4a7ef7710
+DIST vmm-sys-util-0.12.1.crate 58520 BLAKE2B 6b1d176169caa32fb6cbe77d4058dd1df37fc23e5a92d76b8f0eb5f7e2282c2a120f5ad3fdf7710bb1d0b0a24a34770a34310e5da6bcde4c230b485a81eaf2d7 SHA512 dbaf9e2cd002baa97f43ee7659e2bd259df9aeb029fdd5a7e7473c1d38cf82a8208ba5849c12ecc02571da1702082c3491673c68f8029f43c1234ed8e834f960
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
diff --git a/app-emulation/distrobuilder/metadata.xml b/app-emulation/virtiofsd/metadata.xml
index 64ac1ae46534..1a78f9677df7 100644
--- a/app-emulation/distrobuilder/metadata.xml
+++ b/app-emulation/virtiofsd/metadata.xml
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
<maintainer type="person" proxied="yes">
- <email>posting@vodacomm.ca</email>
- <name>Stephen Bosch</name>
+ <email>michal.privoznik@gmail.com</email>
+ <name>Michal Privoznik</name>
</maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="gitlab">virtio-fs/virtiofsd</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild
new file mode 100644
index 000000000000..7358e8fdae58
--- /dev/null
+++ b/app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.7.18
+ anstream@0.3.2
+ anstyle@1.0.1
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.1
+ arc-swap@1.5.0
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ capng@0.2.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ clap@4.3.11
+ clap_builder@4.3.11
+ clap_derive@4.3.2
+ clap_lex@0.5.0
+ colorchoice@1.0.0
+ env_logger@0.8.4
+ errno@0.3.1
+ errno-dragonfly@0.1.2
+ error-chain@0.12.4
+ futures@0.3.21
+ futures-channel@0.3.21
+ futures-core@0.3.21
+ futures-executor@0.3.21
+ futures-io@0.3.21
+ futures-macro@0.3.21
+ futures-sink@0.3.21
+ futures-task@0.3.21
+ futures-util@0.3.21
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ hostname@0.3.1
+ humantime@2.1.0
+ is-terminal@0.4.9
+ itoa@1.0.2
+ libc@0.2.147
+ libseccomp-sys@0.2.1
+ linux-raw-sys@0.4.5
+ log@0.4.17
+ match_cfg@0.1.0
+ memchr@2.5.0
+ num_cpus@1.13.1
+ num_threads@0.1.6
+ once_cell@1.18.0
+ pin-project-lite@0.2.9
+ pin-utils@0.1.0
+ proc-macro2@1.0.63
+ quote@1.0.29
+ regex@1.6.0
+ regex-syntax@0.6.27
+ rustix@0.38.7
+ slab@0.4.7
+ strsim@0.10.0
+ syn@1.0.98
+ syn@2.0.23
+ syslog@6.0.1
+ termcolor@1.1.3
+ thiserror@1.0.41
+ thiserror-impl@1.0.41
+ time@0.3.11
+ unicode-ident@1.0.2
+ utf8parse@0.2.1
+ version_check@0.9.4
+ vhost@0.10.0
+ vhost-user-backend@0.13.1
+ virtio-bindings@0.2.2
+ virtio-queue@0.11.0
+ vm-memory@0.14.0
+ vmm-sys-util@0.12.1
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows-sys@0.48.0
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo
+
+DESCRIPTION="Shared file system for virtual machines"
+HOMEPAGE="https://virtio-fs.gitlab.io/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git"
+ EGIT_BRANCH="main"
+else
+ SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2"
+ SRC_URI+=" ${CARGO_CRATE_URIS}"
+ KEYWORDS="amd64 ppc64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="Apache-2.0 BSD"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+
+DEPEND="
+ sys-libs/libcap-ng
+ sys-libs/libseccomp
+"
+RDEPEND="${DEPEND}"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/libexec/${PN}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_install() {
+ cargo_src_install
+
+ mkdir "${ED}/usr/libexec" || die
+ mv "${ED}/usr/"{bin,libexec}/${PN} || die
+
+ # Install 50-virtiofsd.json but to avoid conflicts with
+ # <app-emulation/qemu-8.0.0 install it under different name. In this case,
+ # smaller number means higher priority, but that's probably what users want
+ # anyway if they install this package on top of app-emulation/qemu.
+ # TODO: remove once old QEMUs are removed from the portage.
+ insinto "/usr/share/qemu/vhost-user"
+ newins "50-virtiofsd.json" "40-virtiofsd.json"
+}
diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
new file mode 100644
index 000000000000..8eaeb54ded93
--- /dev/null
+++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@0.7.18
+ anstream@0.3.2
+ anstyle@1.0.1
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.1
+ arc-swap@1.5.0
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ capng@0.2.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ clap@4.3.11
+ clap_builder@4.3.11
+ clap_derive@4.3.2
+ clap_lex@0.5.0
+ colorchoice@1.0.0
+ env_logger@0.8.4
+ errno@0.3.1
+ errno-dragonfly@0.1.2
+ error-chain@0.12.4
+ futures@0.3.21
+ futures-channel@0.3.21
+ futures-core@0.3.21
+ futures-executor@0.3.21
+ futures-io@0.3.21
+ futures-macro@0.3.21
+ futures-sink@0.3.21
+ futures-task@0.3.21
+ futures-util@0.3.21
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ hostname@0.3.1
+ humantime@2.1.0
+ is-terminal@0.4.9
+ itoa@1.0.2
+ libc@0.2.147
+ libseccomp-sys@0.2.1
+ linux-raw-sys@0.4.5
+ log@0.4.17
+ match_cfg@0.1.0
+ memchr@2.5.0
+ num_cpus@1.13.1
+ num_threads@0.1.6
+ once_cell@1.18.0
+ pin-project-lite@0.2.9
+ pin-utils@0.1.0
+ proc-macro2@1.0.63
+ quote@1.0.29
+ regex@1.6.0
+ regex-syntax@0.6.27
+ rustix@0.38.7
+ slab@0.4.7
+ strsim@0.10.0
+ syn@1.0.98
+ syn@2.0.23
+ syslog@6.0.1
+ termcolor@1.1.3
+ thiserror@1.0.41
+ thiserror-impl@1.0.41
+ time@0.3.11
+ unicode-ident@1.0.2
+ utf8parse@0.2.1
+ version_check@0.9.4
+ vhost@0.10.0
+ vhost-user-backend@0.13.1
+ virtio-bindings@0.2.2
+ virtio-queue@0.11.0
+ vm-memory@0.14.0
+ vmm-sys-util@0.12.1
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ windows-sys@0.48.0
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo
+
+DESCRIPTION="Shared file system for virtual machines"
+HOMEPAGE="https://virtio-fs.gitlab.io/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git"
+ EGIT_BRANCH="main"
+else
+ SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2"
+ SRC_URI+=" ${CARGO_CRATE_URIS}"
+ KEYWORDS="~amd64 ~ppc64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="Apache-2.0 BSD"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+
+DEPEND="
+ sys-libs/libcap-ng
+ sys-libs/libseccomp
+"
+RDEPEND="${DEPEND}"
+
+# rust does not use *FLAGS from make.conf, silence portage warning
+# update with proper path to binaries this crate installs, omit leading /
+QA_FLAGS_IGNORED="usr/libexec/${PN}"
+
+src_unpack() {
+ if [[ "${PV}" == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_install() {
+ cargo_src_install
+
+ mkdir "${ED}/usr/libexec" || die
+ mv "${ED}/usr/"{bin,libexec}/${PN} || die
+
+ # Install 50-virtiofsd.json but to avoid conflicts with
+ # <app-emulation/qemu-8.0.0 install it under different name. In this case,
+ # smaller number means higher priority, but that's probably what users want
+ # anyway if they install this package on top of app-emulation/qemu.
+ # TODO: remove once old QEMUs are removed from the portage.
+ insinto "/usr/share/qemu/vhost-user"
+ newins "50-virtiofsd.json" "40-virtiofsd.json"
+}
diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
index 962391563540..e2a3c91640b6 100644
--- a/app-emulation/virtualbox-additions/Manifest
+++ b/app-emulation/virtualbox-additions/Manifest
@@ -1,2 +1,3 @@
-DIST VBoxGuestAdditions_6.1.16.iso 60987392 BLAKE2B d4452f43c72ab8c49633f717f7a49257e14a8c6c7b60c6d61ee65ae5e4bcce00c30e19ba78d6f28fb85dfbc95ca6139aec2c7069e5afecae145dffc6ff38793a SHA512 e7606fba6e7490318b7dbadff52578040e4370bbe81fa67e6653e798176eb929ed37e363792647ab3c6626ee9e32af40f63167521997af7b446c25173ff60280
-DIST VBoxGuestAdditions_6.1.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19
+DIST VBoxGuestAdditions_6.1.50.iso 64051200 BLAKE2B 9eff4a3643579ee0426dbe2b62247b8c89321be495e61469628574445fedc06ff2fb9afa108705cbaf24a13db99b4e6e850c61e5c97343095549f444831fcf62 SHA512 d74ce912dbbcef7f644a9f3ba9917782336cbee8e0756727a8753ffc17486a75e833adaa869e205531bc3b81b9cb26aa9b50f44210e78dceece966687122f6c6
+DIST VBoxGuestAdditions_7.0.14.iso 53526528 BLAKE2B 2ec95d9261d3a7f762f333c1e3eb36f7b75cfd7cf722d1bdcd5c0b38a3a311db82b728fe800aed79b41b979ec345cd2586e3fd8c2d2c54f8b83516061d81d304 SHA512 5aa80b04c567d383793c560eb535babd1ebc4f472aaa51753867dbee00e1f5a3efeb5dd4c9eb1a48149ff0fa2e7598aa68792d3da9959709b619d234c2b57544
+DIST VBoxGuestAdditions_7.0.18.iso 52887552 BLAKE2B 03c2b6a777f37286f97d5e2b3f90bf9592e72f5df45f05dd9ae532c092cc38120475795821a31b6106579e49f86ad0e598b15b63ff52107794d0403fdf617ed9 SHA512 21bac2c7c10b0900c0e29cebd546a31cfb058ce0567166c71d45f150824a8818f739284787181678076982dcf40a2e62578b7a5baf19eabcab4f7385e17d2b44
diff --git a/app-emulation/virtualbox-additions/metadata.xml b/app-emulation/virtualbox-additions/metadata.xml
index 08c15383606c..498143329fed 100644
--- a/app-emulation/virtualbox-additions/metadata.xml
+++ b/app-emulation/virtualbox-additions/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
- </pkgmetadata>
+</pkgmetadata>
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild
deleted file mode 100644
index 5f7f607a912a..000000000000
--- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.16-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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.18.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.50.ebuild
index 5f7f607a912a..b99d3c3c719a 100644
--- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.18.ebuild
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.50.ebuild
@@ -1,28 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_PN=VBoxGuestAdditions
-MY_PV="${PV/beta/BETA}"
-MY_PV="${MY_PV/rc/RC}"
-MY_P=${MY_PN}_${MY_PV}
+MY_P=${MY_PN}_${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"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
+S="${WORKDIR}"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0/$(ver_cut 1-2)"
-[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="amd64"
-IUSE=""
-RESTRICT="mirror"
-
-RDEPEND="!app-emulation/virtualbox-bin
- !=app-emulation/virtualbox-9999"
-
-S="${WORKDIR}"
src_unpack() {
return 0
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-7.0.14.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.14.ebuild
new file mode 100644
index 000000000000..1cb70c695bbd
--- /dev/null
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.14.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=VBoxGuestAdditions
+MY_P=${MY_PN}_${PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
+S="${WORKDIR}"
+
+LICENSE="GPL-3 || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+
+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-7.0.18.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.18.ebuild
new file mode 100644
index 000000000000..92124a9f779e
--- /dev/null
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.18.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=VBoxGuestAdditions
+MY_P=${MY_PN}_${PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
+S="${WORKDIR}"
+
+LICENSE="GPL-3 || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+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-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest
index 9e4725abc1ce..1a62942cf04a 100644
--- a/app-emulation/virtualbox-extpack-oracle/Manifest
+++ b/app-emulation/virtualbox-extpack-oracle/Manifest
@@ -1,2 +1,3 @@
-DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.16-140961.tar.gz 11145670 BLAKE2B 86e620ebaea9803b9bf633990a39d9e2828fbe70cdc98cbb6ba98accc374e0ea2300a7135cae0f0ec8d13184ccc8e0ff075ca1f81132ed97206f14c20adeb3bc SHA512 89b9c709da1c4b8268c4c1849e074f4d8dc76a36663b401c9ea63f02422bec50e2b77056289144bb161b1dd226b78687379d6ab86281112a71561c1777f525fb
-DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.18-142142.tar.gz 11157510 BLAKE2B d9ee20abac79ed5de03c39d1e6af3a5f18c5416149e9e64ebe9dfc4a937bd72b6590a2daaccc820e3ee6c6efcfd0c1c8e29bf3844cbbb929f13052415e16f2bb SHA512 3686b1c5dbdc5b28c172b4885c30ca9a444bc10dc7984df14a17e1dcc571456b06e80ad38e1409de8692c483c56f397162a53bd3dc6956d9ca91875fda0bda4e
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.50.tar.gz 11175855 BLAKE2B 898ef92a91dbfb39079f8dfa5f4c1e6d91df66e92deb00849ba1da8a2278e3adcfd5754bf70acc6d8b6d7d6273923999860b71c01de3eaabf4d487d718aa14ef SHA512 818f0564a8ee1266f2d03d6e0d5df44278746067ae86279f6e884f519ad3e923382c7b987b3a58fe95e2aa4f0a53b98d553106b0250923e88989e5fdaa9dc3ae
+DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.14.tar.gz 18331089 BLAKE2B 278341be074c7bb276b90034355da3a55e2ef5efd89ad9a26a8f53b6743890772e1486ed5552ec131a8c80a710405dac284789d71a6c3bbec2dd79cf0e7e0459 SHA512 9301300dd1c2a178c730045128574b99a4a6cd1c2dd3f6a5782a78fa08588a4c5fd9c9ff6b2dbeba04747de915e3342ebbd08a4b9ed4641ff60f90f6a5c7fc3d
+DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.18.tar.gz 18264093 BLAKE2B 4cd3f87b02f0340e0b226a68a595fd947de490a0eae36471beedb7f154529bc8f095f7512486660c4373a612608f42cbf6764dc84407143a4db9b1b9e684f754 SHA512 c83bdb6de0c98d558b66eaacdcf07baf004559c436201105e97bbdf387743dcefad285528a7de15c75162b38cd3b13d95155304da744a205661adfb692c6d958
diff --git a/app-emulation/virtualbox-extpack-oracle/metadata.xml b/app-emulation/virtualbox-extpack-oracle/metadata.xml
index 08c15383606c..498143329fed 100644
--- a/app-emulation/virtualbox-extpack-oracle/metadata.xml
+++ b/app-emulation/virtualbox-extpack-oracle/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
- </pkgmetadata>
+</pkgmetadata>
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild
deleted file mode 100644
index 54db34dd7a15..000000000000
--- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.16.140961-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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.18.142142.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild
deleted file mode 100644
index 54db34dd7a15..000000000000
--- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.18.142142.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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.50.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.50.ebuild
new file mode 100644
index 000000000000..85967cb38352
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.50.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-3)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}"
+
+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"
+S="${WORKDIR}"
+
+LICENSE="PUEL-11"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND=">=app-emulation/virtualbox-${MY_PV}"
+
+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-7.0.14-r1.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.14-r1.ebuild
new file mode 100644
index 000000000000..14864047f715
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.14-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-3)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}"
+
+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"
+S="${WORKDIR}"
+
+LICENSE="PUEL-11"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ || (
+ =app-emulation/virtualbox-${MY_PV}*
+ =app-emulation/virtualbox-kvm-${MY_PV}*
+ )
+"
+
+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-7.0.18.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.18.ebuild
new file mode 100644
index 000000000000..8c44669215ab
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.18.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-3)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}"
+
+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"
+S="${WORKDIR}"
+
+LICENSE="PUEL-11"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ || (
+ =app-emulation/virtualbox-${MY_PV}*
+ =app-emulation/virtualbox-kvm-${MY_PV}*
+ )
+"
+
+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 7e4f05e011f8..d31f95f4ac26 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,3 +1,6 @@
-DIST VirtualBox-6.1.16.tar.bz2 165470821 BLAKE2B 13376322d0ce2ea3ed826c61816ff19c8ce1f022f6cb1f1b0c291d72354cbe574a01589a6dcc39de10080ba32d5961ca980e75fe11c7401736bf8f7e5443d166 SHA512 4373eb35934f894e419e1441f6368e646e4a84b963a0ecf1e5c71bbf0231de0b0e52f4c4377b8cd2d956bc7a11346a9da2285988bf1e4c743971c413c6529421
-DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
-DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
+DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
+DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
+DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4
+DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
+DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
+DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
diff --git a/app-emulation/virtualbox-guest-additions/files/vboxguest-6.0.6-log-use-c99.patch b/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch
index baae66fb081f..41641f2336a5 100644
--- a/app-emulation/virtualbox-guest-additions/files/vboxguest-6.0.6-log-use-c99.patch
+++ b/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch
@@ -2,12 +2,12 @@ https://bugs.gentoo.org/298988
--- a/vboxguest/Makefile
+++ b/vboxguest/Makefile
-@@ -136,7 +136,7 @@
+@@ -149,7 +149,7 @@
IN_MODULE \
RT_WITH_VBOX \
VBGL_VBOXGUEST \
- VBOX_WITH_HGCM
+ VBOX_WITH_HGCM LOG_USE_C99
- ifeq ($(BUILD_TARGET_ARCH),amd64)
+ ifeq ($(VBOX_KBUILD_TARGET_ARCH),amd64)
VBOXMOD_DEFS += VBOX_WITH_64_BITS_GUESTS
endif
diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.14-kernel-6.8.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.14-kernel-6.8.patch
new file mode 100644
index 000000000000..459dbef713e9
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.14-kernel-6.8.patch
@@ -0,0 +1,242 @@
+Support for kernel 6.8.x.
+
+https://www.virtualbox.org/changeset/102989/vbox
+https://www.virtualbox.org/changeset/102990/vbox
+https://www.virtualbox.org/changeset/102992/vbox
+https://www.virtualbox.org/changeset/102993/vbox
+https://www.virtualbox.org/changeset/102994/vbox
+
+------------------------------------------------------------------------
+r102989 | vboxsync | 2024-01-22 19:12:25 +0200 (Lu, 22 ian 2024) | 2 lines
+
+iprt: Add wrapper for strlcpy/strscpy functions, bugref:10584.
+
+
+--- a/include/iprt/string.h
++++ b/include/iprt/string.h
+@@ -245,7 +245,29 @@
+ # define RT_BCOPY_UNFORTIFIED(a_pDst, a_pSrc, a_cbToCopy) memcpy((a_pDst), (a_pSrc), (a_cbToCopy))
+ #endif /* !RT_OS_LINUX && !__KERNEL__ */
+
++/** @def RT_STRSCPY
++ * Copy string and NULL-terminate output buffer.
++ *
++ * This macro should mostly be used in Linux kernel code. This is
++ * the replacement for deprecated strlcpy. It was deprecated since 3.16.60
++ * when strscpy was introduced as an alternative. Finally, strlcpy was
++ * completely removed from kernel code in 6.8.0.
++ *
++ * @param a_pDst Pointer to the destination string buffer.
++ * @param a_pSrc Pointer to the source NULL-terminated string buffer.
++ * @param a_cbToCopy Size of destination buffer..
++ */
++#if defined(RT_OS_LINUX) && defined(__KERNEL__)
++# if (RTLNX_VER_MIN(3,16,60))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
++# else /* < 3.16.60 */
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strlcpy((a_pDst), (a_pSrc), (a_cbToCopy))
++# endif
++#else /* !RT_OS_LINUX && !__KERNEL__ */
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
++#endif /* !RT_OS_LINUX && !__KERNEL__ */
+
++
+ #ifdef IN_RING3
+
+ /**
+
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+r102990 | vboxsync | 2024-01-22 19:13:50 +0200 (Lu, 22 ian 2024) | 2 lines
+
+Additions: Linux: Introduce initial support for kernel 6.8, bugref:10584.
+
+
+--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
++++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
+@@ -1410,7 +1410,7 @@
+ RTLogGroupSettings(pLogger, pszValue);
+ }
+ else if (pParam->name[0] != 'd')
+- strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
++ RT_STRSCPY(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
+
+ return 0;
+ }
+@@ -1436,7 +1436,7 @@
+ RTLogFlags(pLogger, pszValue);
+ }
+ else if (pParam->name[0] != 'd')
+- strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
++ RT_STRSCPY(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
+ return 0;
+ }
+
+@@ -1461,7 +1461,7 @@
+ RTLogDestinations(pLogger, pszValue);
+ }
+ else if (pParam->name[0] != 'd')
+- strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
++ RT_STRSCPY(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
+ return 0;
+ }
+
+--- a/src/VBox/Additions/linux/drm/vbox_drv.h
++++ b/src/VBox/Additions/linux/drm/vbox_drv.h
+@@ -538,9 +538,7 @@
+ int vbox_irq_init(struct vbox_private *vbox);
+ void vbox_irq_fini(struct vbox_private *vbox);
+ void vbox_report_hotplug(struct vbox_private *vbox);
+-#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_MAJ_PREREQ(9,1) && !RTLNX_SUSE_MAJ_PREREQ(15,5)
+ irqreturn_t vbox_irq_handler(int irq, void *arg);
+-#endif
+
+ /* vbox_hgsmi.c */
+ void *hgsmi_buffer_alloc(struct gen_pool *guest_pool, size_t size,
+--- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c
++++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+@@ -1408,7 +1408,7 @@
+ switch (opt) {
+ case Opt_iocharset:
+ case Opt_nls:
+- strlcpy(info->nls_name, param->string, sizeof(info->nls_name));
++ RT_STRSCPY(info->nls_name, param->string, sizeof(info->nls_name));
+ break;
+ case Opt_uid:
+ info->uid = result.uint_32;
+@@ -1469,7 +1469,7 @@
+ printk(KERN_WARNING "vboxsf: cache mode (%u) is out of range, using default instead.\n", result.uint_32);
+ break;
+ case Opt_tag:
+- strlcpy(info->szTag, param->string, sizeof(info->szTag));
++ RT_STRSCPY(info->szTag, param->string, sizeof(info->szTag));
+ break;
+ default:
+ return invalf(fc, "Invalid mount option: '%s'", param->key);
+@@ -1528,7 +1528,7 @@
+ }
+
+ /* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */
+- strlcpy(info->name, fc->source, sizeof(info->name));
++ RT_STRSCPY(info->name, fc->source, sizeof(info->name));
+
+ # if RTLNX_VER_MAX(5,3,0)
+ return vfs_get_super(fc, vfs_get_independent_super, vbsf_read_super_aux);
+--- a/src/VBox/Additions/linux/sharedfolders/regops.c
++++ b/src/VBox/Additions/linux/sharedfolders/regops.c
+@@ -3505,7 +3505,7 @@
+ };
+
+ /** file_operations::mmap wrapper for logging purposes. */
+-extern int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
++static int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
+ {
+ int rc;
+ SFLOGFLOW(("vbsf_reg_mmap: file=%p vma=%p\n", file, vma));
+@@ -3786,7 +3786,7 @@
+ }
+
+ # if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(9,3, 9,99)
+-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
++static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
+ unsigned len, struct page **pagep, void **fsdata)
+ {
+ vbsf_write_begin_warn(pos, len, 0);
+@@ -3793,7 +3793,7 @@
+ return simple_write_begin(file, mapping, pos, len, pagep, fsdata);
+ }
+ # else
+-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
++static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
+ unsigned len, unsigned flags, struct page **pagep, void **fsdata)
+ {
+ vbsf_write_begin_warn(pos, len, flags);
+
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+r102992 | vboxsync | 2024-01-22 19:33:49 +0200 (Lu, 22 ian 2024) | 5 lines
+
+iprt: Add wrapper for strlcpy/strscpy functions, build fix, bugref:10584.
+
+Ignore return code of strscpy() in RT_STRSCPY macro sinse we have no caller
+who is using it. Also rename macro parameter, so it makes more sense.
+
+
+--- a/include/iprt/string.h
++++ b/include/iprt/string.h
+@@ -255,16 +255,16 @@
+ *
+ * @param a_pDst Pointer to the destination string buffer.
+ * @param a_pSrc Pointer to the source NULL-terminated string buffer.
+- * @param a_cbToCopy Size of destination buffer..
++ * @param a_cbDst Size of destination buffer.
+ */
+ #if defined(RT_OS_LINUX) && defined(__KERNEL__)
+ # if (RTLNX_VER_MIN(3,16,60))
+-# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) (void)strscpy((a_pDst), (a_pSrc), (a_cbDst))
+ # else /* < 3.16.60 */
+-# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strlcpy((a_pDst), (a_pSrc), (a_cbToCopy))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) strlcpy((a_pDst), (a_pSrc), (a_cbDst))
+ # endif
+ #else /* !RT_OS_LINUX && !__KERNEL__ */
+-# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) (void)strscpy((a_pDst), (a_pSrc), (a_cbDst))
+ #endif /* !RT_OS_LINUX && !__KERNEL__ */
+
+
+
+------------------------------------------------------------------------
+r102993 | vboxsync | 2024-01-22 19:41:44 +0200 (Lu, 22 ian 2024) | 5 lines
+
+Add wrapper for strlcpy/strscpy functions, build fix, bugref:10584.
+
+It seem, strscpy was added around 4.3.0. Older kernels probably
+have it as a backport. So, stick to 4.3.0.
+
+
+--- a/include/iprt/string.h
++++ b/include/iprt/string.h
+@@ -258,7 +258,7 @@
+ * @param a_cbDst Size of destination buffer.
+ */
+ #if defined(RT_OS_LINUX) && defined(__KERNEL__)
+-# if (RTLNX_VER_MIN(3,16,60))
++# if (RTLNX_VER_MIN(4,3,0))
+ # define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) (void)strscpy((a_pDst), (a_pSrc), (a_cbDst))
+ # else /* < 3.16.60 */
+ # define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) strlcpy((a_pDst), (a_pSrc), (a_cbDst))
+
+------------------------------------------------------------------------
+r102994 | vboxsync | 2024-01-22 20:06:29 +0200 (Lu, 22 ian 2024) | 6 lines
+
+iprt: Add wrapper for strlcpy/strscpy functions, build fix, bugref:10584.
+
+Another way around to suppress build error when strscpy return status
+is not used. Also, turn macro into strlcpy for non-Linux systems,
+so for them it will be no change.
+
+
+--- a/include/iprt/string.h
++++ b/include/iprt/string.h
+@@ -259,12 +259,16 @@
+ */
+ #if defined(RT_OS_LINUX) && defined(__KERNEL__)
+ # if (RTLNX_VER_MIN(4,3,0))
+-# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) (void)strscpy((a_pDst), (a_pSrc), (a_cbDst))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) \
++ { \
++ ssize_t _ret; \
++ _ret = strscpy((a_pDst), (a_pSrc), (a_cbDst)); \
++ }
+ # else /* < 3.16.60 */
+ # define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) strlcpy((a_pDst), (a_pSrc), (a_cbDst))
+ # endif
+ #else /* !RT_OS_LINUX && !__KERNEL__ */
+-# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) (void)strscpy((a_pDst), (a_pSrc), (a_cbDst))
++# define RT_STRSCPY(a_pDst, a_pSrc, a_cbDst) strlcpy((a_pDst), (a_pSrc), (a_cbDst))
+ #endif /* !RT_OS_LINUX && !__KERNEL__ */
+
+
+
+------------------------------------------------------------------------
diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
new file mode 100644
index 000000000000..8e53107aedbc
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
@@ -0,0 +1,24 @@
+This file ends up included in
+src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp which
+is compiled with -ffreestanding, so it shouldn't include math.h
+
+See also: https://bugs.gentoo.org/907597
+
+--- a/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h
++++ b/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h
+@@ -169,6 +169,7 @@
+ #ifndef IN_MODULE
+ /* XXX Not for modules */
+ #include <limits.h>
++#if defined __STDC_HOSTED__ && __STDC_HOSTED__ == 1
+ #if !defined(MAXSHORT) || !defined(MINSHORT) || \
+ !defined(MAXINT) || !defined(MININT)
+ /*
+@@ -178,6 +179,7 @@
+
+ #include <math.h>
+ #endif
++#endif // defined __STDC_HOSTED__ && __STDC_HOSTED__ == 1
+ #undef MAXSHORT
+ #define MAXSHORT SHRT_MAX
+ #undef MINSHORT
diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd
deleted file mode 100644
index 3af22dbfa49e..000000000000
--- a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/var/run/vboxguest-service.pid"
-command="/usr/sbin/vboxguest-service"
-command_args="--foreground"
-command_background="true"
-
-depend() {
- need dbus localmount
- before xdm
-}
-
-start_pre() {
- einfo "Loading kernel modules"
- /sbin/modprobe vboxguest 2>&1
- /sbin/modprobe vboxsf 2>&1
-}
-
-stop_post() {
- einfo "Removing kernel modules"
- /sbin/modprobe -r vboxsf 2>&1
- /sbin/modprobe -r vboxguest 2>&1
-}
diff --git a/app-emulation/virtualbox-guest-additions/metadata.xml b/app-emulation/virtualbox-guest-additions/metadata.xml
index 08c15383606c..498143329fed 100644
--- a/app-emulation/virtualbox-guest-additions/metadata.xml
+++ b/app-emulation/virtualbox-guest-additions/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
- </pkgmetadata>
+</pkgmetadata>
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild
deleted file mode 100644
index 87c84047ba44..000000000000
--- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18-r1.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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-r1 ${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 <shared_folder_name> <mount_point>"
- 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.18.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18.ebuild
deleted file mode 100644
index 5000d477eb16..000000000000
--- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.18.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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 <shared_folder_name> <mount_point>"
- 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.50-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild
new file mode 100644
index 000000000000..60c236597e5a
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild
@@ -0,0 +1,292 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="X +dbus"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ X? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ )
+"
+BDEPEND="
+ >=dev-build/kbuild-0.1.9998.3127
+ <=dev-build/kbuild-0.1.9998.3500
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+PATCHES=(
+ "${FILESDIR}"/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+
+ # 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
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use X; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/^check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-6.1.36/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # 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)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use X && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ 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
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if ! use X ; then
+ elog "The use flag \"X\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50.ebuild
index 5000d477eb16..fe43f7ac3ca9 100644
--- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.16-r1.ebuild
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50.ebuild
@@ -1,87 +1,86 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod systemd toolchain-funcs
+inherit edo linux-mod-r1 systemd toolchain-funcs udev
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)"
+MY_P="${MY_PN}-${PV}"
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"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
-[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="amd64 x86"
-IUSE="X"
+IUSE="X +dbus"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
- X? ( x11-apps/xrandr
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ 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
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
"
DEPEND="
${RDEPEND}
- >=dev-util/kbuild-0.1.9998.3127
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ )
+"
+BDEPEND="
+ >=dev-build/kbuild-0.1.9998.3127
+ <=dev-build/kbuild-0.1.9998.3500
>=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"
+PATCHES=(
+ "${FILESDIR}"/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
+)
-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)"
+DOCS=() # Don't install the default README file during einstalldocs
- linux-mod_pkg_setup
- BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
-}
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="DRM_TTM"
src_prepare() {
+ eapply "${PATCHES[@]}"
+
# 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
+ kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null
+ eend $? || die
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
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
@@ -90,57 +89,122 @@ src_prepare() {
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
- eapply "${WORKDIR}/patches"
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk
+ eapply "${WORKDIR}/virtualbox-patches-6.1.36/patches"
eapply_user
}
src_configure() {
- # build the user-space tools, warnings are harmless
- local cmd=(
- ./configure
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
- --with-gcc="$(tc-getCC)"
- --with-g++="$(tc-getCXX)"
+ $(usev !dbus --disable-dbus)
--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}"
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./configure "${myconf[@]}"
}
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
+ 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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
# 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
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use X && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
}
src_install() {
- linux-mod_src_install
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
- cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
+ cd 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}
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
insinto /usr/sbin/
newins VBoxService vboxguest-service
@@ -154,9 +218,10 @@ src_install() {
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
- pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
- || die
+ 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
@@ -184,7 +249,8 @@ src_install() {
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
+ udev_reload
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
@@ -204,9 +270,6 @@ pkg_postinst() {
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 ""
@@ -219,3 +282,7 @@ pkg_postinst() {
elog "it to run VirtualBox itself."
elog ""
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r1.ebuild
new file mode 100644
index 000000000000..dc971ed17c12
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r1.ebuild
@@ -0,0 +1,294 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.14.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 x86"
+IUSE="+dbus gui"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+# TODO: find out what this is, remove comment if obsolete
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+PDEPEND="
+ gui? ( x11-drivers/xf86-video-vboxvideo )
+"
+
+PATCHES=(
+ "${FILESDIR}"/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="DRM_TTM"
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+
+ # 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
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use gui; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-7.0.14/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # 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)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use gui && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ 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 gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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-r1_pkg_postinst
+ udev_reload
+ if ! use gui ; then
+ elog "use flag gui 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 "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 <shared_folder_name> <mount_point>"
+ 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 ""
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r2.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r2.ebuild
new file mode 100644
index 000000000000..80b4916cfe74
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r2.ebuild
@@ -0,0 +1,295 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.14.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus gui"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+# TODO: find out what this is, remove comment if obsolete
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+PDEPEND="
+ gui? ( x11-drivers/xf86-video-vboxvideo )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.8-fix-gcc13.patch
+ "${FILESDIR}"/${PN}-7.0.14-kernel-6.8.patch
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="DRM_TTM"
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+
+ # 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
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use gui; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-7.0.14/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # 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)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use gui && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ 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 gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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-r1_pkg_postinst
+ udev_reload
+ if ! use gui ; then
+ elog "use flag gui 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 "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 <shared_folder_name> <mount_point>"
+ 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 ""
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r3.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r3.ebuild
new file mode 100644
index 000000000000..92c9fb95c5c6
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.14-r3.ebuild
@@ -0,0 +1,297 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.14.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus gui"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+# TODO: find out what this is, remove comment if obsolete
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.8-fix-gcc13.patch
+ "${FILESDIR}"/${PN}-7.0.14-kernel-6.8.patch
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+
+ # 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
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use gui; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-7.0.14/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # 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)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use gui && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ 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 gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if ! use gui ; then
+ elog "The use flag \"gui\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.18.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.18.ebuild
new file mode 100644
index 000000000000..f704b0857188
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.18.ebuild
@@ -0,0 +1,290 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus gui"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+# TODO: find out what this is, remove comment if obsolete
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+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
+ eend $? || die
+ popd &>/dev/null || die
+
+ # PaX fixes (see bug #298988)
+ eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if ! use gui; then
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-7.0.16/patches"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --with-linux="${KV_OUT_DIR}"
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+
+ # 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)
+ # Move this here for bug 836037
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ local modlist=( vboxguest vboxsf )
+ use gui && modlist+=( vboxvideo )
+ modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d # 485996
+ newins - vboxsf.conf <<-EOF
+ # modprobe.d configuration file for VBOXSF
+
+ # Internal Aliases - Do not edit
+ # ------------------------------
+ alias fs-vboxsf vboxsf
+ EOF
+
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
+ fi
+
+ 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 gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ if ! use gui ; then
+ elog "The use flag \"gui\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/app-emulation/virtualbox-kvm/Manifest b/app-emulation/virtualbox-kvm/Manifest
new file mode 100644
index 000000000000..924a057190f7
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/Manifest
@@ -0,0 +1,11 @@
+DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
+DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0efef5de2ac1eacec73571bc658955f23fff347fa60c37ec78c58bf94b82b8f9a95fb26c07ef4becc7e9f535af069151f5 SHA512 1b8ba08bec144cbd1f2e9aa0929cdf60a0b99930f1dd80567094fba75097d87661aef3da2cc24f4abff6b6db8f186e251c5f693a2a93943cc39909d5f1e1bce5
+DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4
+DIST virtualbox-help-7.0.14.tar.xz 3944832 BLAKE2B 95079e4da8c960c41cee799142779a6c2587e0e8af7956ca551cb5a4c0f36f313189dfe08afba83a0c32886866a7f9903b5e370008d6b3ce6283fb2288866b06 SHA512 e2f1acdd7577a93047e220300b1996d2855ddef20053c01294f8295fde0840645c41b75632d71dd2fc276219084fe4105fd057623f39375542358796425a2d03
+DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
+DIST virtualbox-help-7.0.18.tar.xz 3948116 BLAKE2B 5715a7e609297387b5fccce0951c62e5969fd68adeecb869712e69f5e90daef97384bd3ff3c39de40903a1fabe7ac6d2f8ecdbb40de16abe955d40e49b962eec SHA512 ec0f915b7221bc40d02f5f1675eb0defb5506b2f2bd96c063a96a9346e1c82428ccdda8b3adac43238c451ae185ac31af4a186da17ffe091469e14e696388b3a
+DIST virtualbox-kvm-7.0.14_pre20240325.tar.gz 134926 BLAKE2B 3e707b272219b2c5703d91d1f6a2f0a6c54fe29eeb6e91e5830949f7260e5b409e3425c38daea568725cb7fd10ddee234af6b72d747206e0a98ac1e33a10028c SHA512 e30291e1d7e2649057a9b38ea907f22f62b0367f33d88af10fdaaa49333890be2b719626103f9800836a3833368a018f5fc63a46577dd1d83178d7406bf8c494
+DIST virtualbox-kvm-7.0.14_pre20240502.tar.gz 141218 BLAKE2B fd78db709a37fd5239e52a71a5690073631c9376a0a2d6ab9a885a5892ff272d432adeabf03c3317556a9d76cc6819cc5dcd44cd19bd18bd338bb1b84bda5dae SHA512 650bbe3a8c51d7373c25834be129888b624c2d99baebe4105c2a70b1a013cdb7527224778a78f6901b91dea6e22129354ba9269bcd365b9956df5c5b8a77869b
+DIST virtualbox-kvm-7.0.18_pre20240502.tar.gz 141218 BLAKE2B fd78db709a37fd5239e52a71a5690073631c9376a0a2d6ab9a885a5892ff272d432adeabf03c3317556a9d76cc6819cc5dcd44cd19bd18bd338bb1b84bda5dae SHA512 650bbe3a8c51d7373c25834be129888b624c2d99baebe4105c2a70b1a013cdb7527224778a78f6901b91dea6e22129354ba9269bcd365b9956df5c5b8a77869b
+DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
+DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
diff --git a/app-emulation/virtualbox-kvm/files/050_virtualbox-5.2.8-nopie.patch b/app-emulation/virtualbox-kvm/files/050_virtualbox-5.2.8-nopie.patch
new file mode 100644
index 000000000000..35bd8e0a705e
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/050_virtualbox-5.2.8-nopie.patch
@@ -0,0 +1,147 @@
+diff -Naur VirtualBox-5.1.24/Config.kmk VirtualBox-5.1.24/Config.kmk
+--- VirtualBox-5.1.24/Config.kmk 2017-07-26 13:55:27.803972185 -0400
++++ VirtualBox-5.1.24/Config.kmk 2017-07-26 13:53:10.700974328 -0400
+@@ -2601,6 +2601,7 @@
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overlength-strings?= $(call VBOX_GCC_CHECK_CC,-Wno-overlength-strings,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overloaded-virtual?= $(call VBOX_GCC_CHECK_CXX,-Wno-overloaded-virtual,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-stack-protector ?= $(call VBOX_GCC_CHECK_CC,-fno-stack-protector,)'
++ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_nopie ?= $(call VBOX_GCC_CHECK_CC,-nopie,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-dwarf2-cfi-asm ?= $(call VBOX_GCC_CHECK_CC,-fno-dwarf2-cfi-asm,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_m64 ?= $(call VBOX_GCC_CHECK_CC,-m64,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_no-pie ?= $(call VBOX_GCC_CHECK_CC,-no-pie,)'
+@@ -3843,8 +3844,8 @@
+
+ ifeq ($(VBOX_LDR_FMT32),elf)
+ TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL)
+- TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+- TEMPLATE_VBoxRc_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
++ TEMPLATE_VBoxRc_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
++ TEMPLATE_VBoxRc_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
+ ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBoxRc_LDFLAGS = -r
+ else
+@@ -3864,8 +3865,8 @@
+ ifeq ($(VBOX_LDR_FMT32),macho)
+ TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxRc_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS)
+- TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
+- TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
++ TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
++ TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
+ TEMPLATE_VBoxRc_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -m32 -nostdlib
+ #TEMPLATE_VBoxRc_LDFLAGS.release = -Wl,-S ???
+ endif
+@@ -3903,9 +3904,9 @@
+ endif
+
+ ifeq ($(VBOX_LDR_FMT32),elf)
+- TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0
+- TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0
+- TEMPLATE_VBoxRcExe_LDFLAGS = -g
++ TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0 $(VBOX_GCC_nopie)
++ TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0 $(VBOX_GCC_nopie)
++ TEMPLATE_VBoxRcExe_LDFLAGS = -g $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxRcExe_LDFLAGS.dbgopt = -g
+ TEMPLATE_VBoxRcExe_LDFLAGS.strict = -g
+ TEMPLATE_VBoxRcExe_LDFLAGS.release = -g
+@@ -3984,8 +3985,8 @@
+
+ ifeq ($(VBOX_LDR_FMT),elf)
+ TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL)
+-TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
+-TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
++TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
++TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
+ ifeq ($(KBUILD_TARGET),solaris)
+@@ -4018,12 +4019,12 @@
+ TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS)
+ TEMPLATE_VBoxR0_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
+ -fno-common -msoft-float -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
+- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
++ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables
+ TEMPLATE_VBoxR0_CXXFLAGS.x86 = -m32
+ TEMPLATE_VBoxR0_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \
+ -fno-common -msoft-float -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
+- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
++ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables
+ TEMPLATE_VBoxR0_CFLAGS.x86 = -m32
+ TEMPLATE_VBoxR0_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib
+@@ -4259,7 +4260,7 @@
+ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
+ -Wimplicit-function-declaration -Werror-implicit-function-declaration \
+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc -std=c99
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
+ TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 --param inline-unit-growth=100 --param large-function-growth=1000 \
+@@ -4268,7 +4269,7 @@
+ TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \
+ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \
+ -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64)
+@@ -4341,7 +4342,7 @@
+ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
+ -Wimplicit-function-declaration -Werror-implicit-function-declaration \
+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc -std=c99 -msoft-float
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 \
+ -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -mno-avx \
+@@ -4353,7 +4354,7 @@
+ TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \
+ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \
+ -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc -msoft-float
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
+ TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64)
+@@ -4394,7 +4395,7 @@
+ TEMPLATE_VBOXR0DRV_LDFLAGS = -shared -no-undefined -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o
+ TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \
+ $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \
+- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
++ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
+ TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
+ TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \
+@@ -5210,8 +5211,8 @@
+ TEMPLATE_VBoxNoCrtGccLib_TOOL = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxNoCrtGccLib_ASTOOL = $(VBOX_ASTOOL)
+ TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = $(VBOX_ASFLAGS)
+- TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector)
+- TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector)
++ TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
++ TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
+ ifeq ($(KBUILD_TARGET_ARCH),amd64)
+ # in 64-bit mode we'll build a sys-module (VBoxREM2).
+ if1of ($(KBUILD_TARGET), darwin solaris)
+diff -Naur VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk
+--- VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:55:27.746972186 -0400
++++ VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:53:10.641974329 -0400
+@@ -132,6 +132,7 @@
+ -W \
+ -Wformat-nonliteral \
+ $(VBOX_GCC_fno-stack-protector) \
++ $(VBOX_GCC_nopie) \
+ $(VBOX_GCC_fno-dwarf2-cfi-asm) \
+ $(VBOX_GCC_Wno-address)
+ TEMPLATE_iPxe_ASFLAGS = \
+@@ -155,6 +156,7 @@
+ -W \
+ -Wformat-nonliteral \
+ $(VBOX_GCC_fno-stack-protector) \
++ $(VBOX_GCC_nopie) \
+ $(VBOX_GCC_fno-dwarf2-cfi-asm) \
+ $(VBOX_GCC_Wno-address) \
+ -DASSEMBLY
diff --git a/app-emulation/virtualbox-kvm/files/10-virtualbox.rules b/app-emulation/virtualbox-kvm/files/10-virtualbox.rules
new file mode 100644
index 000000000000..014c164a37f5
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/10-virtualbox.rules
@@ -0,0 +1,7 @@
+# create second tree of USB devices according to
+# http://www.virtualbox.org/ticket/7759#comment:5
+
+SUBSYSTEM=="usb_device", ACTION!="remove", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb", ACTION!="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/app-emulation/virtualbox-kvm/files/vboxwebsrv-confd b/app-emulation/virtualbox-kvm/files/vboxwebsrv-confd
new file mode 100644
index 000000000000..fdcd17e9ba0c
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/vboxwebsrv-confd
@@ -0,0 +1,19 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# The host to bind to (defaults to "localhost").
+VBOXWEBSRV_HOST="localhost"
+
+# Which port to on the host (defaults to 18083).
+VBOXWEBSRV_PORT="18083"
+
+# Session timeout, in seconds. (defaults to 20).
+VBOXWEBSRV_TIMEOUT=20
+
+# The interval in which the webservice checks for
+# timed-out clients, in seconds. Normally does not
+# need to be changed (defaults to 5).
+VBOXWEBSRV_INTERVAL=5
+
+# User under which vboxwebsrv is running
+VBOXWEBSRV_USER="root"
diff --git a/app-emulation/virtualbox-kvm/files/vboxwebsrv-initd b/app-emulation/virtualbox-kvm/files/vboxwebsrv-initd
new file mode 100644
index 000000000000..f50c3ec099d6
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/vboxwebsrv-initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting VirtualBox WebService"
+ start-stop-daemon --start --quiet --user ${VBOXWEBSRV_USER} --pidfile /var/run/vboxwebsrv.pid \
+ --background --make-pidfile --exec /usr/bin/vboxwebsrv \
+ -- -H ${VBOXWEBSRV_HOST} -p ${VBOXWEBSRV_PORT} -t ${VBOXWEBSRV_TIMEOUT} -i ${VBOXWEBSRV_INTERVAL}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping VirtualBox WebService"
+ start-stop-daemon --stop --user ${VBOXWEBSRV_USER} --quiet --pidfile /var/run/vboxwebsrv.pid
+ eend $?
+}
diff --git a/app-emulation/virtualbox-kvm/files/virtualbox-4-config b/app-emulation/virtualbox-kvm/files/virtualbox-4-config
new file mode 100644
index 000000000000..af7822146560
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/virtualbox-4-config
@@ -0,0 +1 @@
+INSTALL_DIR=/usr/MY_LIBDIR/virtualbox
diff --git a/app-emulation/virtualbox-kvm/files/virtualbox-5-localconfig b/app-emulation/virtualbox-kvm/files/virtualbox-5-localconfig
new file mode 100644
index 000000000000..0f9113825fb8
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/virtualbox-5-localconfig
@@ -0,0 +1,47 @@
+# -*- Makefile -*-
+#
+# Overwrite some default kBuild settings
+#
+
+#
+# Copyright (C) 2006-2008 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation,
+# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+# distribution. VirtualBox OSE is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# shut up wine complaining about unknown locale
+EXEC_X86_WIN32 := wine
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_VALIDATIONKIT :=
+VBOX_DOCBOOK_WITH_LATEX := 1
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+#VBOX_WITH_HARDENING := 1
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/MY_LIBDIR/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)
+
+## don't build unwanted/splitted stuff
+VBOX_WITHOUT_ADDITIONS := 1
+VBOX_WITH_VBOXDRV :=
+VBOX_WITH_VBOXBFE :=
+VBOX_WITH_KCHMVIEWER :=
+
+## don't build with -Werror
+VBOX_WITH_WARNINGS_AS_ERRORS :=
+
+## fix compilation with USE="doc" (Gentoo bug #554932)
+VBOX_PATH_DOCBOOK_DTD := /usr/share/sgml/docbook/sgml-dtd-4.4
diff --git a/app-emulation/virtualbox-kvm/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch b/app-emulation/virtualbox-kvm/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch
new file mode 100644
index 000000000000..29ec3aee72c1
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch
@@ -0,0 +1,18 @@
+When compiling with clang we get:
+
+src/VBox/Devices/PC/ipxe/src/core/settings.c:310:8: error: fields must have a constant size: 'variable length array in structure' extension will never be supported
+
+Apply this patch conditionally to disable rebuilding iPxeBiosBin.rom when using clang.
+
+--- a/src/VBox/Devices/PC/ipxe/Makefile.kmk
++++ b/src/VBox/Devices/PC/ipxe/Makefile.kmk
+@@ -45,7 +45,8 @@
+ iPxeBiosBin_CLEAN = \
+ $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
+
+-if1of ($(KBUILD_TARGET), darwin os2 solaris win)
++# Disable building on Linux if using clang
++if1of ($(KBUILD_TARGET), darwin os2 solaris win linux)
+ $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
+ $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
+ $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
diff --git a/app-emulation/virtualbox-kvm/files/virtualbox-ose-6-wrapper b/app-emulation/virtualbox-kvm/files/virtualbox-ose-6-wrapper
new file mode 100644
index 000000000000..57b15cc93eba
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/virtualbox-ose-6-wrapper
@@ -0,0 +1,119 @@
+#!/bin/sh
+## @file
+# Oracle VM VirtualBox startup script, Linux hosts.
+#
+
+#
+# Copyright (C) 2006-2017 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+PATH="/usr/bin:/bin:/usr/sbin:/sbin"
+CONFIG="/etc/vbox/vbox.cfg"
+
+test -r "${CONFIG}" &&
+ . "${CONFIG}"
+test -z "${INSTALL_DIR}" &&
+ if test -f /usr/lib/virtualbox/VirtualBox &&
+ test -x /usr/lib/virtualbox/VirtualBox; then
+ INSTALL_DIR=/usr/lib/virtualbox
+ else
+ echo "Could not find VirtualBox installation. Please reinstall."
+ exit 1
+ fi
+
+# Note: This script must not fail if the module was not successfully installed
+# because the user might not want to run a VM but only change VM params!
+
+if [ "$1" = "shutdown" ]; then
+ SHUTDOWN="true"
+elif ! lsmod|grep -q vboxdrv; then
+ cat << EOF
+WARNING: The vboxdrv kernel module is not loaded. Either there is no module
+ available for the current kernel (`uname -r`) or it failed to
+ load. Please recompile the kernel module and install it by
+
+ for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+elif [ ! -c /dev/vboxdrv ]; then
+ cat << EOF
+WARNING: The character device /dev/vboxdrv does not exist.
+ Please try to reload all the needed kernel modules by:
+
+ for m in vbox{netflt,netadp,drv}; do rmmod \$m; done
+ for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
+
+ and if that is not successful, try to re-install the package by:
+
+ emerge -1av app-emulation/virtualbox-modules
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+fi
+
+SERVER_PID=$(ps -U ${LOGNAME:-$USER} | grep VBoxSVC | awk '{ print $1 }')
+if [ -z "$SERVER_PID" ]; then
+ # Server not running yet/anymore, cleanup socket path.
+ # See IPC_GetDefaultSocketPath()!
+ if [ -n "$LOGNAME" ]; then
+ rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
+ else
+ rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
+ fi
+fi
+
+if [ "$SHUTDOWN" = "true" ]; then
+ if [ -n "$SERVER_PID" ]; then
+ kill -TERM $SERVER_PID
+ sleep 2
+ fi
+ exit 0
+fi
+
+APP=`basename $0`
+case "$APP" in
+ VirtualBox|virtualbox)
+ exec "$INSTALL_DIR/VirtualBox" "$@"
+ ;;
+ VirtualBoxVM|virtualboxvm)
+ exec "$INSTALL_DIR/VirtualBoxVM" "$@"
+ ;;
+ VBoxManage|vboxmanage)
+ exec "$INSTALL_DIR/VBoxManage" "$@"
+ ;;
+ VBoxSDL|vboxsdl)
+ exec "$INSTALL_DIR/VBoxSDL" "$@"
+ ;;
+ VBoxVRDP|VBoxHeadless|vboxheadless)
+ exec "$INSTALL_DIR/VBoxHeadless" "$@"
+ ;;
+ VBoxAutostart|vboxautostart)
+ exec "$INSTALL_DIR/VBoxAutostart" "$@"
+ ;;
+ VBoxBalloonCtrl|vboxballoonctrl)
+ exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
+ ;;
+ VBoxBugReport|vboxbugreport)
+ exec "$INSTALL_DIR/VBoxBugReport" "$@"
+ ;;
+ VBoxDTrace|vboxdtrace)
+ exec "$INSTALL_DIR/VBoxDTrace" "$@"
+ ;;
+ vboxwebsrv)
+ exec "$INSTALL_DIR/vboxwebsrv" "$@"
+ ;;
+ *)
+ echo "Unknown application - $APP"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/app-emulation/virtualbox-kvm/files/virtualbox-vboxusb_tmpfilesd b/app-emulation/virtualbox-kvm/files/virtualbox-vboxusb_tmpfilesd
new file mode 100644
index 000000000000..39378536a8b2
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/files/virtualbox-vboxusb_tmpfilesd
@@ -0,0 +1 @@
+d /dev/vboxusb 0750 root vboxusers
diff --git a/app-emulation/virtualbox-kvm/metadata.xml b/app-emulation/virtualbox-kvm/metadata.xml
new file mode 100644
index 000000000000..6f699287abd4
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+ </maintainer>
+ <use>
+ <flag name="dtrace">Install dtrace Extension Pack</flag>
+ <flag name="lvm">Build VBoxVolInfo that needs devicemapper from <pkg>sys-fs/lvm2</pkg>.</flag>
+ <flag name="sdk">Enable building of SDK</flag>
+ <flag name="udev">Controls installation of special USB udev rules.</flag>
+ <flag name="vboxwebsrv">Build and install the VirtualBox webservice</flag>
+ <flag name="vde">Support for VDE networking via <pkg>net-misc/vde</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">cyberus-technology/virtualbox-kvm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240325.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240325.ebuild
new file mode 100644
index 000000000000..34dd04078029
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240325.ebuild
@@ -0,0 +1,768 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+PATCHES_PV="7.0.14"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PATCHES_PV}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ ORIGIN_PV=${PATCHES_PV}
+ EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
+else
+ ORIGIN_PV=${PV%_pre*}
+ PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+ SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
+fi
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+SRC_URI+="
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${MY_PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+ --with-kvm
+
+ # this is required for kvm to work.
+ # also this prohibits installation with suid.
+ --disable-hardening
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${MY_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}/${MY_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}/${MY_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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; 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} 0750
+ 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 0750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 0750
+ 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
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ 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="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 0750
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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)/${MY_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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild
new file mode 100644
index 000000000000..4c808e1dce9f
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild
@@ -0,0 +1,767 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+PATCHES_PV="7.0.14"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PATCHES_PV}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ ORIGIN_PV=${PATCHES_PV}
+ EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
+else
+ ORIGIN_PV=${PV%_pre*}
+ PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+ SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
+fi
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+SRC_URI+="
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${MY_PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+ --with-kvm
+
+ # this is required for kvm to work.
+ # also this prohibits installation with suid.
+ --disable-hardening
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${MY_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}/${MY_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}/${MY_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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; do
+ vbox_inst ${each}
+ done
+
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} 0750
+ 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 0750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 0750
+ 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
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ 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="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 0750
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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)/${MY_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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.18_pre20240502.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.18_pre20240502.ebuild
new file mode 100644
index 000000000000..2b901786ab78
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.18_pre20240502.ebuild
@@ -0,0 +1,768 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+PATCHES_PV="7.0.16"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PATCHES_PV}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ ORIGIN_PV=${PATCHES_PV}
+ EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
+else
+ ORIGIN_PV=${PV%_pre*}
+ PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+ SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
+fi
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+SRC_URI+="
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${MY_PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+ --with-kvm
+
+ # this is required for kvm to work.
+ # also this prohibits installation with suid.
+ --disable-hardening
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${MY_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}/${MY_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}/${MY_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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; do
+ vbox_inst ${each}
+ done
+
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} 0750
+ 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 0750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 0750
+ 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
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ 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="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 0750
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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)/${MY_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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ sed -e "1 i\#! ${PYTHON}" -i vboxshell.py || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-9999.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-9999.ebuild
new file mode 100644
index 000000000000..f501f05d7084
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-9999.ebuild
@@ -0,0 +1,768 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+PATCHES_PV="7.0.16"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PATCHES_PV}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ ORIGIN_PV=${PATCHES_PV}
+ EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
+else
+ ORIGIN_PV=${PV%_pre*}
+ PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+ SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
+fi
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+SRC_URI+="
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${MY_PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+ --with-kvm
+
+ # this is required for kvm to work.
+ # also this prohibits installation with suid.
+ --disable-hardening
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+ local vbox_inst_path="/usr/$(get_libdir)/${MY_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}/${MY_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}/${MY_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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; 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} 0750
+ 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; then
+ vbox_inst VBoxSDL 0750
+ pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+ for each in vboxsdl VBoxSDL ; do
+ dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+ done
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 0750
+ 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
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ 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="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 0750
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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)/${MY_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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index 730ec003094d..617a35d3e008 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -1,2 +1,3 @@
-DIST vbox-kernel-module-src-6.1.16.tar.xz 671736 BLAKE2B 8b2153874ee7a63f88679a5372215e89def49622caa7679a5c2410423eaf23ced18ece79d638fc96db40fac88857db7568dd72dd8e05371b14add3553d61d3a7 SHA512 c51dfad5f9578ad43e2fbdd35a70659640030108006f89d362bc25dead99eb3b39a78d403633b3813f62f5b510eff22d826a2750b9c88f5fcb1cde6531295bff
-DIST vbox-kernel-module-src-6.1.18.tar.xz 672004 BLAKE2B 7199ba2a5020e5ab51d82735df16aee78ece74db232733b932c380f90dffd589a72613120bbd5c580381ab6f6308abb8d12f69855b9c0a8345bfb8587d022019 SHA512 49b54898b2701774fdeec0cd99dd51a1dd71ffd9be38e125fde73f0c64a697138d13bddbb0ed0e9582d354fa0394608084effb68bd35b266c87f6e3b44c6f342
+DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592
+DIST vbox-kernel-module-src-7.0.14.tar.xz 718532 BLAKE2B 64df92802ab5e9fa3fdf9ba3e3b13004dc687dd2d5f3d41d24354f116a79000fe6ea07bfa8877113ab263d4f75210b600e61d983616f66b6e96324b3ea6a4b2d SHA512 2a0b9a0bbcb0a21a580000309be3a71722ee3cb9a63a5e12cd0d8a391b3832a6cc92ff806f8ca4b5fcb80fed02a44aa4de6a2d49f4583d704cec0902572a68bb
+DIST vbox-kernel-module-src-7.0.18.tar.xz 719604 BLAKE2B 44e9d895791a7ff50681dd8860456a87078b41a4eb3005a6b249f9b34c37de709e190cbd6f352d21010ddcb9d8d1c35303bafd765e999664288df9e0ead94e6c SHA512 1cc17e302ef8251abd08a078abf11fede242154b0bb78d03f8d7c2821ba7cff410bd255802316a2f13100884b35a6f14fdf0b594304bd041521b66d264f51b77
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch
deleted file mode 100644
index 6251e33ce59e..000000000000
--- a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- vboxdrv/SUPDrvIDC.h
-+++ vboxdrv/SUPDrvIDC.h
-@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM
- {
- /** The symbol address. */
- PFNRT pfnSymbol;
-- } Out;
-+ } __no_const Out;
- } u;
- } SUPDRVIDCREQGETSYM;
- /** Pointer to a SUPDRV IDC get symbol request. */
---- vboxnetflt/include/VBox/intnet.h
-+++ vboxnetflt/include/VBox/intnet.h
-@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY
- DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName,
- PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags,
- PINTNETTRUNKIFPORT *ppIfPort));
--} INTNETTRUNKFACTORY;
-+} __no_const INTNETTRUNKFACTORY;
- /** Pointer to the trunk factory. */
- typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY;
-
---- vboxnetflt/linux/VBoxNetFlt-linux.c
-+++ vboxnetflt/linux/VBoxNetFlt-linux.c
-@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE;
-
- # else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
-
--typedef struct net_device_ops OVR_OPSTYPE;
-+typedef net_device_ops_no_const OVR_OPSTYPE;
- # define OVR_OPS netdev_ops
- # define OVR_XMIT pOrgOps->ndo_start_xmit
-
---- vboxpci/include/VBox/rawpci.h
-+++ vboxpci/include/VBox/rawpci.h
-@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY
- DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory,
- PVM pVM,
- PRAWPCIPERVM pVmData));
--} RAWPCIFACTORY;
-+} __no_const RAWPCIFACTORY;
-
- #define RAWPCIFACTORY_UUID_STR "ea089839-4171-476f-adfb-9e7ab1cbd0fb"
-
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch
deleted file mode 100644
index 168d7c24f5a3..000000000000
--- a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.16-linux-5.10-r0drv-memobj-fix-r0.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-Index: vboxdrv/r0drv/linux/memobj-r0drv-linux.c
-===================================================================
---- a/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
-+++ b/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
-@@ -56,9 +56,12 @@
- * Whether we use alloc_vm_area (3.2+) for executable memory.
- * This is a must for 5.8+, but we enable it all the way back to 3.2.x for
- * better W^R compliance (fExecutable flag). */
--#if RTLNX_VER_MIN(3,2,0) || defined(DOXYGEN_RUNNING)
-+#if RTLNX_VER_RANGE(3,2,0, 5,10,0) || defined(DOXYGEN_RUNNING)
- # define IPRT_USE_ALLOC_VM_AREA_FOR_EXEC
- #endif
-+#if RTLNX_VER_MIN(5,10,0) || defined(DOXYGEN_RUNNING)
-+# define IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC
-+#endif
-
- /*
- * 2.6.29+ kernels don't work with remap_pfn_range() anymore because
-@@ -502,7 +505,43 @@
- }
-
-
-+#ifdef IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC
- /**
-+ * User data passed to the apply_to_page_range() callback.
-+ */
-+typedef struct LNXAPPLYPGRANGE
-+{
-+ /** Pointer to the memory object. */
-+ PRTR0MEMOBJLNX pMemLnx;
-+ /** The page protection flags to apply. */
-+ pgprot_t fPg;
-+} LNXAPPLYPGRANGE;
-+/** Pointer to the user data. */
-+typedef LNXAPPLYPGRANGE *PLNXAPPLYPGRANGE;
-+/** Pointer to the const user data. */
-+typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE;
-+
-+/**
-+ * Callback called in apply_to_page_range().
-+ *
-+ * @returns Linux status code.
-+ * @param pPte Pointer to the page table entry for the given address.
-+ * @param uAddr The address to apply the new protection to.
-+ * @param pvUser The opaque user data.
-+ */
-+static DECLCALLBACK(int) rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser)
-+{
-+ PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser;
-+ PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx;
-+ uint32_t idxPg = (uAddr - (unsigned long)pMemLnx->Core.pv) >> PAGE_SHIFT;
-+
-+ set_pte(pPte, mk_pte(pMemLnx->apPages[idxPg], pArgs->fPg));
-+ return 0;
-+}
-+#endif
-+
-+
-+/**
- * Maps the allocation into ring-0.
- *
- * This will update the RTR0MEMOBJLNX::Core.pv and RTR0MEMOBJ::fMappedToRing0 members.
-@@ -584,6 +623,11 @@
- else
- # endif
- {
-+# if defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC)
-+ if (fExecutable)
-+ pgprot_val(fPg) |= _PAGE_NX; /* Uses RTR0MemObjProtect to clear NX when memory ready, W^X fashion. */
-+# endif
-+
- # ifdef VM_MAP
- pMemLnx->Core.pv = vmap(&pMemLnx->apPages[0], pMemLnx->cPages, VM_MAP, fPg);
- # else
-@@ -1851,6 +1895,21 @@
- preempt_enable();
- return VINF_SUCCESS;
- }
-+# elif defined(IPRT_USE_APPLY_TO_PAGE_RANGE_FOR_EXEC)
-+ PRTR0MEMOBJLNX pMemLnx = (PRTR0MEMOBJLNX)pMem;
-+ if ( pMemLnx->fExecutable
-+ && pMemLnx->fMappedToRing0)
-+ {
-+ LNXAPPLYPGRANGE Args;
-+ Args.pMemLnx = pMemLnx;
-+ Args.fPg = rtR0MemObjLinuxConvertProt(fProt, true /*fKernel*/);
-+ int rcLnx = apply_to_page_range(current->active_mm, (unsigned long)pMemLnx->Core.pv + offSub, cbSub,
-+ rtR0MemObjLinuxApplyPageRange, (void *)&Args);
-+ if (rcLnx)
-+ return VERR_NOT_SUPPORTED;
-+
-+ return VINF_SUCCESS;
-+ }
- # endif
-
- NOREF(pMem);
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch
deleted file mode 100644
index 2eaeb1ea3380..000000000000
--- a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-binutils-2.36.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- virtualbox-modules-6.1.18/vboxdrv/SUPDrvTracer.c
-+++ virtualbox-modules-6.1.18/vboxdrv/SUPDrvTracer.c
-@@ -1472,29 +1472,32 @@
- __asm__("\
- .section .text \n\
- \n\
-- .p2align 2,,3 \n\
-+ .p2align 4 \n\
- .global SUPR0TracerFireProbe \n\
-+ .type SUPR0TracerFireProbe, @function \n\
- SUPR0TracerFireProbe: \n\
- ");
- # if defined(RT_ARCH_AMD64)
--__asm__(" \
-- movq g_pfnSupdrvProbeFireKernel(%rip), %rax \n\
-+__asm__("\
-+ movq g_pfnSupdrvProbeFireKernel(%rip), %rax \n\
- jmp *%rax \n\
- ");
- # elif defined(RT_ARCH_X86)
- __asm__("\
-- movl g_pfnSupdrvProbeFireKernel, %eax \n\
-+ movl g_pfnSupdrvProbeFireKernel, %eax \n\
- jmp *%eax \n\
- ");
- # else
- # error "Which arch is this?"
- # endif
- __asm__("\
-+ .size SUPR0TracerFireProbe, . - SUPR0TracerFireProbe \n\
- \n\
- .type supdrvTracerProbeFireStub,@function \n\
- .global supdrvTracerProbeFireStub \n\
- supdrvTracerProbeFireStub: \n\
- ret \n\
-+ .size supdrvTracerProbeFireStub, . - supdrvTracerProbeFireStub \n\
- \n\
- .previous \n\
- ");
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch
deleted file mode 100644
index 844e37e9fda7..000000000000
--- a/app-emulation/virtualbox-modules/files/virtualbox-modules-6.1.18-linux-5.11.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fixes build with kernel 5.11.
-
-Bug: https://www.virtualbox.org/ticket/20198
-Bug: https://bugs.gentoo.org/762994
-From: jospezial@gmx.de
-
---- a/vboxnetflt/linux/VBoxNetFlt-linux.c
-+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c
-@@ -38,6 +38,7 @@
- #include <linux/nsproxy.h>
- #endif
- #include <linux/netdevice.h>
-+#include <linux/ethtool.h>
- #include <linux/etherdevice.h>
- #include <linux/rtnetlink.h>
- #include <linux/miscdevice.h>
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch
new file mode 100644
index 000000000000..64bafa84e365
--- /dev/null
+++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch
@@ -0,0 +1,27 @@
+https://www.virtualbox.org/changeset/103168/vbox
+https://bugs.gentoo.org/923277
+
+--- a/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
++++ b/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
+@@ -244,9 +244,21 @@
+ #if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64)
+ if (fKernel)
+ {
++# if RTLNX_VER_MIN(6,6,0)
++ /* In kernel 6.6 mk_pte() macro was fortified with additional
++ * check which does not allow to use our custom mask anymore
++ * (see kernel commit ae1f05a617dcbc0a732fbeba0893786cd009536c).
++ * For this particular mapping case, an existing mask PAGE_KERNEL_ROX
++ * can be used instead. PAGE_KERNEL_ROX was introduced in
++ * kernel 5.8, however, lets apply it for kernels 6.6 and newer
++ * to be on a safe side.
++ */
++ return PAGE_KERNEL_ROX;
++# else
+ pgprot_t fPg = MY_PAGE_KERNEL_EXEC;
+ pgprot_val(fPg) &= ~_PAGE_RW;
+ return fPg;
++# endif
+ }
+ return PAGE_READONLY_EXEC;
+ #else
diff --git a/app-emulation/virtualbox-modules/files/virtualbox.conf b/app-emulation/virtualbox-modules/files/virtualbox.conf
deleted file mode 100644
index c8c79a249887..000000000000
--- a/app-emulation/virtualbox-modules/files/virtualbox.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-vboxdrv
-vboxnetflt
-vboxnetadp
-vboxpci
diff --git a/app-emulation/virtualbox-modules/metadata.xml b/app-emulation/virtualbox-modules/metadata.xml
index a4c013c40067..498143329fed 100644
--- a/app-emulation/virtualbox-modules/metadata.xml
+++ b/app-emulation/virtualbox-modules/metadata.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
- <use>
- <flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag>
- </use>
</pkgmetadata>
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild
deleted file mode 100644
index 0519b12c7cd0..000000000000
--- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.16-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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"
-
-PATCHES=(
- "${FILESDIR}/${P}-linux-5.10-r0drv-memobj-fix-r0.patch" #751328
-)
-
-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.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild
deleted file mode 100644
index 17dbf76a1d40..000000000000
--- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.18.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2021 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/$(ver_cut 1-2)"
-[[ "${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"
-
-PATCHES=(
- "${FILESDIR}/${P}-linux-5.11.patch" #762994
- "${FILESDIR}/${P}-binutils-2.36.patch"
-)
-
-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.50-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild
new file mode 100644
index 000000000000..83d34d6f3df3
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2024 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-*.run
+# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.14-kernel-6.6-warning.patch
+)
+
+src_compile() {
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.14-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.14-r1.ebuild
new file mode 100644
index 000000000000..83f50d5bdec4
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.14-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2022-2024 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-*.run
+# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-kernel-6.6-warning.patch
+)
+
+src_compile() {
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild
new file mode 100644
index 000000000000..08e22e5e0379
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2024 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-*.run
+# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
+S="${WORKDIR}"
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
+
+src_compile() {
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 7e4f05e011f8..05788a2aa308 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -1,3 +1,10 @@
-DIST VirtualBox-6.1.16.tar.bz2 165470821 BLAKE2B 13376322d0ce2ea3ed826c61816ff19c8ce1f022f6cb1f1b0c291d72354cbe574a01589a6dcc39de10080ba32d5961ca980e75fe11c7401736bf8f7e5443d166 SHA512 4373eb35934f894e419e1441f6368e646e4a84b963a0ecf1e5c71bbf0231de0b0e52f4c4377b8cd2d956bc7a11346a9da2285988bf1e4c743971c413c6529421
-DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
-DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
+DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
+DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
+DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4
+DIST virtualbox-help-7.0.14.tar.xz 3944832 BLAKE2B 95079e4da8c960c41cee799142779a6c2587e0e8af7956ca551cb5a4c0f36f313189dfe08afba83a0c32886866a7f9903b5e370008d6b3ce6283fb2288866b06 SHA512 e2f1acdd7577a93047e220300b1996d2855ddef20053c01294f8295fde0840645c41b75632d71dd2fc276219084fe4105fd057623f39375542358796425a2d03
+DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
+DIST virtualbox-help-7.0.18.tar.xz 3948116 BLAKE2B 5715a7e609297387b5fccce0951c62e5969fd68adeecb869712e69f5e90daef97384bd3ff3c39de40903a1fabe7ac6d2f8ecdbb40de16abe955d40e49b962eec SHA512 ec0f915b7221bc40d02f5f1675eb0defb5506b2f2bd96c063a96a9346e1c82428ccdda8b3adac43238c451ae185ac31af4a186da17ffe091469e14e696388b3a
+DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
+DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
+DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
+DIST virtualbox-patches-7.1.0_pre20240419.tar.bz2 5316 BLAKE2B 1a890b7d19cb252c7801b68c299676e2cd7a209a57a03cb39025e1a969a1c73142eb96154dae8469405f93d61969154428ea0fe3950a00d8a0a69dc8aefb4fc9 SHA512 ce4f850ce87652ef4eab039332048333949c94f0627bec8eb00d9689d7f8edcce372e2185ef8bbda9aef97781a2008b7c6464468cc38f3454dee862efc0ecdc9
diff --git a/app-emulation/virtualbox/files/virtualbox-5.2.8-paxmark-bldprogs.patch b/app-emulation/virtualbox/files/virtualbox-5.2.8-paxmark-bldprogs.patch
deleted file mode 100644
index 7eb1e1793a7f..000000000000
--- a/app-emulation/virtualbox/files/virtualbox-5.2.8-paxmark-bldprogs.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-2017-02-20 Quentin Minster <quentin@minster.io>
-
- #https://bugs.gentoo.org/show_bug.cgi?id=591582
- * Config.kmk: add paxmark befor VBOX_VBOXTPG get run.
- * src/VBox/VMM/Makefile.kmk: add paxmark befor VBOX_VBOXCPP get run.
- * src/VBox/Main/Makefile.kmk: add paxmark befor USBIdDatabaseGenerator_1_TARGET get run.
-
---- a/Config.kmk
-+++ b/Config.kmk 2016-09-21 02:22:28
-@@ -3719,11 +3719,13 @@
- $(if-expr $(intersects $(KBUILD_TARGET_ARCH),$(KBUILD_ARCHES_64)),-64,-32) \
- -h --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv
- define TOOL_VBoxTpG_DTRACE_HDR_CMDS
-+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
- $(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)"
- endef
- TOOL_VBoxTpG_DTRACE_OBJ_NOT_NEEDED :=
- TOOL_VBoxTpG_DTRACE_OBJ_FLAGS := -G --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv
- define TOOL_VBoxTpG_DTRACE_OBJ_CMDS
-+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
- $(QUIET)$(VBOX_VBOXTPG) \
- $(if-expr $(intersects $(bld_trg_arch),$(KBUILD_ARCHES_64)),-64,-32) \
- $(flags) \
-@@ -3738,6 +3740,7 @@
- TOOL_VBoxTpG-Disabled_DTRACE_DEPORD = $(VBOX_VBOXTPG)
- TOOL_VBoxTpG-Disabled_DTRACE_HDR_FLAGS := -h
- define TOOL_VBoxTpG-Disabled_DTRACE_HDR_CMDS
-+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
- $(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)"
- endef
- TOOL_VBoxTpG-Disabled_DTRACE_OBJ_NOT_NEEDED := $(KBUILD_OSES)
-@@ -3752,6 +3755,7 @@
- TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS =
- define TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS
- $(TOOL_StandardDTrace_DTRACE_HDR_CMDS)
-+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
- $(QUIET)$(VBOX_VBOXTPG) --generate-wrapper-header --host-$(VBOX_HC_ARCH_BITS)-bit --ring-3-context \
- $(filter-out -C, $(filter-out -h,$(flags))) \
- -o "$(out).tmp" -s "$(source)"
---- a/src/VBox/VMM/Makefile.kmk 2018-04-10 15:26:24.622867735 +0300
-+++ b/src/VBox/VMM/Makefile.kmk 2018-04-10 15:24:35.901998796 +0300
-@@ -896,6 +896,7 @@
- $$(VMMLibDTrace_0_OUTDIR)/$1: $2 $$(VBOX_VBOXCPP) | $$$$(dir $$$$@)
- $$(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
- $$(QUIET)$$(call MSG_GENERATE,VMMLibDTrace,$$@,$2)
-+ $$(QUIET)paxmark.sh -m "$(VBOX_VBOXCPP)"
- $$(QUIET)$(VBOX_VBOXCPP) -d \
- -D VBOX_FOR_DTRACE_LIB \
- -D VBOX_FOR_DTRACE_LIB_$(toupper $(KBUILD_TARGET_ARCH)) \
---- a/src/VBox/Main/Makefile.kmk 2018-04-10 15:26:15.292793067 +0300
-+++ b/src/VBox/Main/Makefile.kmk 2018-04-10 15:25:14.042303341 +0300
-@@ -607,6 +607,7 @@
- $(PATH_SUB_CURRENT)/src-server/usb.ids $(PATH_SUB_CURRENT)/src-server/custom.ids | $$(dir $$@)
- $(call KB_FN_AUTO_CMD_DEPS_COMMANDS)
- $(call MSG_GENERATE,USBIdDatabase,$@,$(USBIdDatabaseGenerator_1_TARGET))
-+ $(QUIET)paxmark.sh -m "$(USBIdDatabaseGenerator_1_TARGET)"
- $(QUIET)$(USBIdDatabaseGenerator_1_TARGET) -o "$@" $(filter %.ids,$^)
-
- BLDPROGS += USBIdDatabaseGenerator
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.26-configure-include-qt5-path.patch b/app-emulation/virtualbox/files/virtualbox-6.1.26-configure-include-qt5-path.patch
new file mode 100644
index 000000000000..57752c4bbd85
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.26-configure-include-qt5-path.patch
@@ -0,0 +1,15 @@
+https://www.virtualbox.org/changeset/90377/vbox
+https://bugs.gentoo.org/805350
+https://bugs.gentoo.org/805365
+
+--- VirtualBox-6.1.26/configure
++++ VirtualBox-6.1.26/configure
+@@ -1624,6 +1624,8 @@ EOF
+ else
+ # Strip .../QtCore as we add components ourself:
+ INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\)/QtCore|\1|g; s| $||g'`
++ # Strip .../QtGui as we add components ourself:
++ INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\)/QtGui|\1|g; s| $||g'`
+ # store only the first path, remove all other paths
+ # most likely pkg-config gave us -I/usr/include/qt5 -I/usr/include/qt5/QtCore
+ INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\) .*|\1|'`
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch
new file mode 100644
index 000000000000..3a6da1f681c1
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.34-r3-python.patch
@@ -0,0 +1,14 @@
+diff --git a/configure b/configure
+index fd2e296..695f6a7 100755
+--- a/configure
++++ b/configure
+@@ -1987,6 +1987,9 @@ check_python()
+ {
+ test_header "Python support"
+
++ # We force the right implementation in the ebuild instead
++ return
++
+ # On darwin this is a on/off decision only
+ if [ "$OS" = "darwin" ]; then
+ echo "enabled"
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.36-fcf-protection.patch b/app-emulation/virtualbox/files/virtualbox-6.1.36-fcf-protection.patch
new file mode 100644
index 000000000000..14b11f734c71
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.36-fcf-protection.patch
@@ -0,0 +1,16 @@
+Bug https://bugs.gentoo.org/865361
+
+gcc does not support -fcf-protection for i386 (needs i686+),
+so disable it when building iPxeBaseBin.
+
+--- a/src/VBox/Devices/PC/ipxe/Makefile.kmk
++++ b/src/VBox/Devices/PC/ipxe/Makefile.kmk
+@@ -176,6 +177,8 @@
+
+ iPxeBaseBin_TEMPLATE = iPxe
+
++ iPxeBaseBin_CFLAGS = -fcf-protection=none
++
+ iPxeBaseBin_INCS = \
+ src \
+ src/include \
diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.44-fix-libxml2.patch b/app-emulation/virtualbox/files/virtualbox-6.1.44-fix-libxml2.patch
new file mode 100644
index 000000000000..c3e76e58c3f2
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.44-fix-libxml2.patch
@@ -0,0 +1,25 @@
+With dev-libs/libxml2-2.11, xi:include errors out if it can't find a file, so add an empty fallback.
+Used to work with dev-libs/libxml2-2.10.
+
+See also: https://bugs.gentoo.org/906309
+
+--- a/doc/manual/en_US/user_Frontends.xml
++++ b/doc/manual/en_US/user_Frontends.xml
+@@ -1205,6 +1205,6 @@
+
+ </sect1>
+
+- <xi:include href="user_man_VBoxHeadless.xml" xpointer="element(/1)" xmlns:xi="http://www.w3.org/2001/XInclude" />
++ <xi:include href="user_man_VBoxHeadless.xml" xpointer="element(/1)" xmlns:xi="http://www.w3.org/2001/XInclude" ><xi:fallback/></xi:include>
+
+ </chapter>
+--- b/doc/manual/en_US/user_VBoxManage.xml
++++ a/doc/manual/en_US/user_VBoxManage.xml
+@@ -8975,6 +8975,6 @@
+ <!-- TODO: Figure out how we can handle other manpages. The xml is bolted to
+ sect1, so it's not possible to have them "in place" -->
+
+- <xi:include href="user_man_vboximg-mount.xml" xpointer="element(/1)" xmlns:xi="http://www.w3.org/2001/XInclude" />
++ <xi:include href="user_man_vboximg-mount.xml" xpointer="element(/1)" xmlns:xi="http://www.w3.org/2001/XInclude" ><xi:fallback/></xi:include>
+
+ </chapter>
diff --git a/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch b/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch
new file mode 100644
index 000000000000..a523bad41a30
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-7.0.14-libxml2-2.12.patch
@@ -0,0 +1,43 @@
+Bug: https://bugs.gentoo.org/922445
+
+The change in libxml2 is not backwards compatibe.
+A patch like the one in arch does not work with 2.11, so just cast the argument to maintain compatibility with both.
+
+The upstream change is in include/libxml/xmlerror.h:
+
+ typedef xmlError *xmlErrorPtr;
+
+-typedef void (*xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);
++typedef void (*xmlStructuredErrorFunc) (void *userData, const xmlError *error);
+
+See also: https://gitlab.archlinux.org/archlinux/packaging/packages/virtualbox/-/blob/main/019-libxml-2-12.patch?ref_type=heads
+
+--- a/src/VBox/Runtime/r3/xml.cpp
++++ b/src/VBox/Runtime/r3/xml.cpp
+@@ -1870,7 +1870,7 @@
+ throw std::bad_alloc();
+ /* per-thread so it must be here */
+ xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError);
+- xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError);
++ xmlSetStructuredErrorFunc(NULL, (xmlStructuredErrorFunc)xmlParserBaseStructuredError);
+ }
+
+ XmlParserBase::~XmlParserBase()
+@@ -1931,7 +1931,7 @@
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }
+@@ -2191,7 +2191,7 @@
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }
diff --git a/app-emulation/virtualbox/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch b/app-emulation/virtualbox/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch
new file mode 100644
index 000000000000..29ec3aee72c1
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch
@@ -0,0 +1,18 @@
+When compiling with clang we get:
+
+src/VBox/Devices/PC/ipxe/src/core/settings.c:310:8: error: fields must have a constant size: 'variable length array in structure' extension will never be supported
+
+Apply this patch conditionally to disable rebuilding iPxeBiosBin.rom when using clang.
+
+--- a/src/VBox/Devices/PC/ipxe/Makefile.kmk
++++ b/src/VBox/Devices/PC/ipxe/Makefile.kmk
+@@ -45,7 +45,8 @@
+ iPxeBiosBin_CLEAN = \
+ $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
+
+-if1of ($(KBUILD_TARGET), darwin os2 solaris win)
++# Disable building on Linux if using clang
++if1of ($(KBUILD_TARGET), darwin os2 solaris win linux)
+ $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
+ $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
+ $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper b/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper
index af8090dd09af..57b15cc93eba 100644
--- a/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper
+++ b/app-emulation/virtualbox/files/virtualbox-ose-6-wrapper
@@ -60,7 +60,7 @@ WARNING: The character device /dev/vboxdrv does not exist.
EOF
fi
-SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
+SERVER_PID=$(ps -U ${LOGNAME:-$USER} | grep VBoxSVC | awk '{ print $1 }')
if [ -z "$SERVER_PID" ]; then
# Server not running yet/anymore, cleanup socket path.
# See IPC_GetDefaultSocketPath()!
diff --git a/app-emulation/virtualbox/metadata.xml b/app-emulation/virtualbox/metadata.xml
index 95eb9062a15f..0a281e0f998b 100644
--- a/app-emulation/virtualbox/metadata.xml
+++ b/app-emulation/virtualbox/metadata.xml
@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
<use>
- <flag name="dtrace">Install dtrace Extension Pack</flag>
- <flag name="headless">Build without any graphic frontend</flag>
- <flag name="lvm">Build VBoxVolInfo that needs devicemapper from <pkg>sys-fs/lvm2</pkg>.</flag>
- <flag name="pax_kernel">Apply patch needed for pax enabled kernels.</flag>
- <flag name="sdk">Enable building of SDK</flag>
- <flag name="udev">Controls installation of special USB udev rules.</flag>
- <flag name="vboxwebsrv">Build and install the VirtualBox webservice</flag>
-</use>
+ <flag name="dtrace">Install dtrace Extension Pack</flag>
+ <flag name="headless">Build without any graphic frontend</flag>
+ <flag name="lvm">Build VBoxVolInfo that needs devicemapper from <pkg>sys-fs/lvm2</pkg>.</flag>
+ <flag name="pax-kernel">Apply patch needed for pax enabled kernels.</flag>
+ <flag name="sdk">Enable building of SDK</flag>
+ <flag name="udev">Controls installation of special USB udev rules.</flag>
+ <flag name="vboxwebsrv">Build and install the VirtualBox webservice</flag>
+ <flag name="vde">Support for VDE networking via <pkg>net-misc/vde</pkg></flag>
+ </use>
</pkgmetadata>
diff --git a/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild b/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild
deleted file mode 100644
index f6f373e8a649..000000000000
--- a/app-emulation/virtualbox/virtualbox-6.1.16-r1.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{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/$(ver_cut 1-2)"
-[[ "${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? ( media-libs/libglvnd[X] )
- 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
- opengl? ( virtual/opengl )
- )
- 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.18.ebuild b/app-emulation/virtualbox/virtualbox-6.1.18.ebuild
deleted file mode 100644
index f6f373e8a649..000000000000
--- a/app-emulation/virtualbox/virtualbox-6.1.18.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{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/$(ver_cut 1-2)"
-[[ "${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? ( media-libs/libglvnd[X] )
- 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
- opengl? ( virtual/opengl )
- )
- 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.50-r2.ebuild b/app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild
new file mode 100644
index 000000000000..a41107315c77
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-6.1.50-r2.ebuild
@@ -0,0 +1,681 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_P=${MY_PN}-${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/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +sdl +udev vboxwebsrv vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ ~app-emulation/virtualbox-modules-${PV}
+ >=dev-libs/libxslt-1.1.19
+ net-misc/curl
+ dev-libs/libxml2
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ sys-libs/zlib:=
+ !headless? (
+ sdl? ( media-libs/libsdl:0[X,video] )
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ opengl? (
+ media-libs/libglvnd[X]
+ virtual/glu
+ )
+ 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
+ )
+ )
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ lvm? ( sys-fs/lvm2 )
+ opus? ( media-libs/opus )
+ udev? ( >=virtual/udev-171 )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ !headless? (
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ opengl? ( virtual/opengl )
+ )
+ java? ( virtual/jdk:1.8 )
+ pam? ( sys-libs/pam )
+ pax-kernel? ( sys-apps/elfix )
+ pulseaudio? ( media-libs/libpulse )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-build/kbuild-0.1.9998.3127
+ <=dev-build/kbuild-0.1.9998.3500
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ sys-apps/which
+ 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.8 )
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( virtual/jre:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365
+
+ # This patch is needed to avoid automagic detection based on a hardcoded
+ # list of Pythons in configure. It's necessary but not sufficient
+ # (see the rest of the ebuild's logic for the remainder) to handle
+ # proper Python selection.
+ "${FILESDIR}"/${PN}-6.1.34-r3-python.patch
+
+ # 865361
+ "${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch
+
+ # 906309
+ "${FILESDIR}"/${PN}-6.1.44-fix-libxml2.patch
+ # 922445
+ "${FILESDIR}"/${PN}-7.0.14-libxml2-2.12.patch
+
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-6.1.36/patches
+)
+
+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
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie ; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm), see bug #232775
+ rm -r kBuild/bin tools || die
+
+ # Replace pointless GCC version check with something more sensible.
+ # 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
+
+ if ! use pch ; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+}
+
+src_configure() {
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-dbus
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !opus --disable-libopus)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vnc --enable-vnc)
+ )
+
+ if ! use headless ; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !qt5 --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ --disable-opengl
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile ; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python ; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile ; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" 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
+ if use sdl ; 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
+ fi
+
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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" -exec 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
+
+ if use python ; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/./_}"
+
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython${mangled_python}.so"
+ if [[ ! -x "${python_path_ext}" ]] ; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev ; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process 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 "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev ; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild b/app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild
new file mode 100644
index 000000000000..5b6ec05dfcd1
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-7.0.14-r2.ebuild
@@ -0,0 +1,740 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_P=${MY_PN}-${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/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.14.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-7.0.14/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" 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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; 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
+ fi
+
+ if use gui; 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
+
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ fi
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox/virtualbox-7.0.18.ebuild b/app-emulation/virtualbox/virtualbox-7.0.18.ebuild
new file mode 100644
index 000000000000..bf56c96cb843
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-7.0.18.ebuild
@@ -0,0 +1,741 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
+ python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_P=${MY_PN}-${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/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
+"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ x11-libs/libX11
+ x11-libs/libXt
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? ( x11-libs/libXinerama )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ nls? ( dev-qt/linguist-tools:5 )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-7.0.16/patches
+)
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # bug #916002, #488176
+ tc-ld-force-bfd
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" 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,VMMPreload,XPCOMIPCD} \
+ vboximg-mount vbox-img *so *r0; 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; 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
+ fi
+
+ if use gui; 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
+
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ fi
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+ sed -e "1 i\#! ${PYTHON}" -i vboxshell.py || die
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/virtualbox/virtualbox-9999.ebuild b/app-emulation/virtualbox/virtualbox-9999.ebuild
new file mode 100644
index 000000000000..7c503c7ea1c8
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-9999.ebuild
@@ -0,0 +1,769 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Important!
+# This compiles the latest svn version.
+# It also compiles the kernel modules. Does not depend on virtualbox-modules.
+# It is not meant to be used, might be very unstable.
+# Upstream seem to have added support for python 3.12, but it crashes.
+#
+# USE=doc does not work for now.
+#
+#
+# To add a new Python here:
+# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
+# Do NOT skip this part. It'll end up silently not-building the Python extension
+# or otherwise misbehaving if you do.
+#
+# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
+#
+# May need to look at other distros (e.g. Arch Linux) to find patches for newer
+# Python versions as upstream tends to lag. Upstream may have patches on their
+# trunk branch but not release branch.
+#
+# See bug #785835, bug #856121.
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit desktop edo flag-o-matic java-pkg-opt-2 linux-mod-r1 multilib optfeature pax-utils \
+ python-single-r1 subversion tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+BASE_PV=7.0.16
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+ESVN_REPO_URI="https://www.virtualbox.org/svn/vbox/trunk"
+SRC_URI="
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0_pre20240419.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${BASE_PV}.tar.xz ) )
+"
+S="${WORKDIR}/trunk"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ app-arch/xz-utils
+ dev-libs/libtpms
+ dev-libs/libxml2
+ dev-libs/openssl:0=
+ media-libs/libpng:0=
+ media-libs/libvpx:0=
+ net-misc/curl
+ sys-libs/zlib
+ dbus? ( sys-apps/dbus )
+ gui? (
+ dev-qt/qtbase:6[widgets]
+ dev-qt/qtscxml:6
+ dev-qt/qttools:6[assistant]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ lvm? ( sys-fs/lvm2 )
+ opengl? (
+ media-libs/libglvnd[X]
+ media-libs/vulkan-loader
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ pam? ( sys-libs/pam )
+ sdl? (
+ media-libs/libsdl2[X,video]
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
+ vde? ( net-misc/vde )
+ vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
+# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
+# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
+# based on *DEPEND doesn't work for BDEPEND at least right now.
+#
+# There's a comment in Config.kmk about it
+# ("With Java 11 wsimport was removed, usually part of a separate install now.")
+# but it needs more investigation.
+#
+# See bug #878299 to track this issue.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/libxslt-1.1.19
+ virtual/libcrypt:=
+ x11-libs/libXt
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ gui? (
+ x11-base/xorg-proto
+ x11-libs/libxcb:=
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ )
+ java? ( virtual/jdk:1.8 )
+ opengl? (
+ x11-base/xorg-proto
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrandr
+ virtual/glu
+ )
+ sdl? (
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ )
+ pulseaudio? ( media-libs/libpulse )
+ udev? ( >=virtual/udev-171 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ !app-emulation/virtualbox-modules
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=app-arch/tar-1.34-r2
+ >=dev-lang/yasm-0.6.2
+ dev-libs/libIDL
+ dev-util/glslang
+ >=dev-build/kbuild-0.1.9998.3592
+ sys-apps/which
+ sys-devel/bin86
+ sys-libs/libcap
+ sys-power/iasl
+ virtual/pkgconfig
+ doc? (
+ app-text/docbook-sgml-dtd:4.4
+ app-text/docbook-xsl-ns-stylesheets
+ dev-texlive/texlive-basic
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-fontsextra
+ dev-qt/qthelp:5
+ )
+ gui? ( dev-qt/qttools:6[linguist] )
+ nls? ( dev-qt/qttools:6[linguist] )
+ java? ( virtual/jdk:1.8 )
+"
+
+QA_FLAGS_IGNORED="
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_TEXTRELS="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+QA_EXECSTACK="
+ usr/lib64/virtualbox/iPxeBaseBin
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
+"
+
+QA_WX_LOAD="
+ usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+ usr/lib64/virtualbox/VMMR0.r0
+ usr/lib64/virtualbox/VBoxDDR0.r0
+ usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
+"
+
+REQUIRED_USE="
+ java? ( sdk )
+ python? ( sdk )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-7.1.0_pre20240419/patches
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
+
+pkg_pretend() {
+ if ! use gui; then
+ einfo "No USE=\"gui\" selected, this build will not include any 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
+ if ! use nls && use gui; then
+ einfo "USE=\"gui\" also selects USE=\"nls\". This build"
+ einfo "will have NLS support."
+ fi
+
+ # 749273
+ local d=${ROOT}
+ for i in usr "$(get_libdir)"; do
+ d="${d}/$i"
+ if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
+ die "${d} should be owned by root, VirtualBox will not start otherwise"
+ fi
+ done
+}
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ python-single-r1_pkg_setup
+ linux-mod-r1_pkg_setup
+}
+
+src_unpack() {
+ subversion_src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ # Only add nopie patch when we're on hardened
+ if gcc-specs-pie; then
+ eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
+ fi
+
+ # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
+ rm -r kBuild/bin || die
+ # Remove everything in tools except kBuildUnits
+ find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+ "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+ if ! use pch; then
+ # bug #753323
+ printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+ >> LocalConfig.kmk || die
+ fi
+
+ # 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
+ einfo "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
+ echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
+
+ #856811 #864274
+ # cannot filter out only one flag, some combinations of these flags produce buggy executables
+ for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
+ append-cflags $(test-flags-CC -mno-$i)
+ append-cxxflags $(test-flags-CXX -mno-$i)
+ done
+
+ # bug #908814
+ filter-lto
+
+ # bug #843437
+ cat >> LocalConfig.kmk <<-EOF || die
+ CXXFLAGS=${CXXFLAGS}
+ CFLAGS=${CFLAGS}
+ EOF
+
+ if use sdl; then
+ sed -i 's/sdl-config/sdl2-config/' configure || die
+ echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
+ fi
+
+ #443830
+ echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
+
+ if tc-is-clang; then
+ # clang assembler chokes on comments starting with /
+ sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
+
+ # clang does not support this extension
+ eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ fi
+
+ # fix doc generation
+ echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
+ # replace xhtml names with numeric equivalents
+ find doc/manual -name \*.xml -exec sed -i \
+ -e 's/&nbsp;/\&#160;/g' \
+ -e 's/&ndash;/\&#8211;/g' \
+ -e 's/&larr;/\&#8592;/g' \
+ -e 's/&rarr;/\&#8594;/g' \
+ -e 's/&harr;/\&#8596;/g' {} \+ || die
+
+ # fix help path #891879
+ echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
+
+ # 489208
+ # Cannot patch the whole text, many translations. Use sed instead to replace the command
+ find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
+ 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
+ sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
+ src/VBox/Frontends/VirtualBox/src/main.cpp \
+ src/VBox/VMM/VMMR3/VM.cpp || die
+
+ # 890561
+ echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
+
+ if ! use nls && ! use gui; then
+ cat >> LocalConfig.kmk <<-EOF || die
+ VBOX_WITH_NLS :=
+ VBOX_WITH_MAIN_NLS :=
+ VBOX_WITH_PUEL_NLS :=
+ VBOX_WITH_VBOXMANAGE_NLS :=
+ EOF
+ fi
+}
+
+src_configure() {
+ tc-ld-disable-gold # bug #488176
+
+ tc-export AR CC CXX LD RANLIB
+ export HOST_CC="$(tc-getBUILD_CC)"
+
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --disable-kmods
+
+ $(usev !alsa --disable-alsa)
+ $(usev !dbus --disable-dbus)
+ $(usev debug --build-debug)
+ $(usev !doc --disable-docs)
+ $(usev !java --disable-java)
+ $(usev !lvm --disable-devmapper)
+ $(usev !pulseaudio --disable-pulse)
+ $(usev !python --disable-python)
+ $(usev vboxwebsrv --enable-webservice)
+ $(usev vde --enable-vde)
+ $(usev vnc --enable-vnc)
+ )
+
+ if use gui || use sdl || use opengl; then
+ myconf+=(
+ $(usev !opengl --disable-opengl)
+ $(usev !gui --disable-qt)
+ $(usev !sdl --disable-sdl)
+ )
+ else
+ myconf+=(
+ --build-headless
+ )
+ fi
+
+ if use amd64 && ! has_multilib_profile; then
+ myconf+=( --disable-vmmraw )
+ fi
+
+ # not an autoconf script
+ edo ./configure "${myconf[@]}"
+
+ # Force usage of chosen Python implementation
+ # bug #856121, bug #785835
+ sed -i \
+ -e '/VBOX_WITH_PYTHON.*=/d' \
+ -e '/VBOX_PATH_PYTHON_INC.*=/d' \
+ -e '/VBOX_LIB_PYTHON.*=/d' \
+ AutoConfig.kmk || die
+
+ cat >> AutoConfig.kmk <<-EOF || die
+ VBOX_WITH_PYTHON=$(usev python 1)
+ VBOX_PATH_PYTHON_INC=$(python_get_includedir)
+ VBOX_LIB_PYTHON=$(python_get_library_path)
+ EOF
+
+ if use python; then
+ local mangled_python="${EPYTHON#python}"
+ mangled_python="${mangled_python/.}"
+
+ # Stub out the script which defines what the Makefile ends up
+ # building for. gen_python_deps.py gets called by the Makefile
+ # with some args and it spits out a bunch of paths for a hardcoded
+ # list of Pythons. We just override it with what we're actually using.
+ # This minimises the amount of patching we have to do for new Pythons.
+ cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
+ print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
+ print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
+ print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
+ print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
+ EOF
+
+ chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
+ fi
+}
+
+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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_WITH_VBOXIMGMOUNT=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX3_CC="$(tc-getCC)"
+ TOOL_GXX3_CXX="$(tc-getCXX)"
+ TOOL_GXX3_LD="$(tc-getCXX)"
+ TOOL_GXX3_AS="$(tc-getCXX)"
+ TOOL_GXX3_AR="$(tc-getAR)"
+ TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+
+ TOOL_YASM_AS=yasm
+ )
+
+ if use amd64 && has_multilib_profile; then
+ myemakeargs+=(
+ CC32="$(tc-getCC) -m32"
+ CXX32="$(tc-getCXX) -m32"
+
+ TOOL_GCC32_CC="$(tc-getCC) -m32"
+ TOOL_GCC32_CXX="$(tc-getCXX) -m32"
+ TOOL_GCC32_LD="$(tc-getCC) -m32"
+ TOOL_GCC32_AS="$(tc-getCC) -m32"
+ TOOL_GCC32_AR="$(tc-getAR)"
+ TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
+
+ TOOL_GXX32_CC="$(tc-getCC) -m32"
+ TOOL_GXX32_CXX="$(tc-getCXX) -m32"
+ TOOL_GXX32_LD="$(tc-getCXX) -m32"
+ TOOL_GXX32_AS="$(tc-getCXX) -m32"
+ TOOL_GXX32_AR="$(tc-getAR)"
+ TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
+ )
+ fi
+
+ MAKE="kmk" emake "${myemakeargs[@]}" all
+
+ local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc:"out/linux.${ARCH}/release/bin/src" )
+ local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ insinto /usr/lib/modules-load.d/
+ newins - virtualbox.conf <<-EOF
+ vboxdrv
+ vboxnetflt
+ vboxnetadp
+ EOF
+
+ 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,VMMPreload} \
+ vboximg-mount vbox-img *so *r0; 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}/vboximg-mount /usr/bin/vboximg-mount
+ dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
+
+ 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+ # environment variables used during SDK binding installation
+ echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
+ echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ if use sdl; 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
+ fi
+
+ if use gui; then
+ vbox_inst VirtualBox
+ vbox_inst VirtualBoxVM 4750
+ for each in VirtualBox{,VM} ; do
+ pax-mark -m "${ED}"${vbox_inst_path}/${each}
+ done
+
+ 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
+
+ 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
+ local udevdir="$(get_udevdir)"
+ local udev_file="VBoxCreateUSBNode.sh"
+ local rules_file="10-virtualbox.rules"
+
+ insinto ${udevdir}
+ doins ${udev_file}
+ fowners root:vboxusers ${udevdir}/${udev_file}
+ fperms 0750 ${udevdir}/${udev_file}
+
+ insinto ${udevdir}/rules.d
+ sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+ > "${T}"/${rules_file} || die
+ doins "${T}"/${rules_file}
+ 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" -exec 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 UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${PN}-help-${BASE_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}
+ fi
+
+ if use python; then
+ local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
+ if [[ ! -x "${python_path_ext}" ]]; then
+ eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
+ eerror "but none were installed. This may happen if support for a Python target"
+ eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
+ die "Incomplete installation of Python bindings! File a bug with Gentoo!"
+ fi
+
+ # 378871
+ local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
+ pushd "${installer_dir}" &> /dev/null || die
+ sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
+ -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
+ -i vboxapi/__init__.py || die
+ # insert shebang, the files come without one
+ find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
+ python_domodule vboxapi
+ popd &> /dev/null || die
+
+ # upstream added a /bin/sh stub here
+ # use /usr/bin/python3, python_doscript will take care of it
+ sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir%vboxapi*}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+
+ xdg_pkg_postinst
+
+ if use udev; then
+ udev_reload
+ udevadm trigger --subsystem-match=usb
+ fi
+
+ tmpfiles_process virtualbox-vboxusb.conf
+
+ if use gui; 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 "https://download.virtualbox.org/virtualbox/${BASE_PV}/UserManual.pdf"
+ elog ""
+
+ optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
+ optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
+ optfeature "Guest additions ISO" app-emulation/virtualbox-additions
+
+ if ! use udev; then
+ ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}
diff --git a/app-emulation/vkd3d-proton/Manifest b/app-emulation/vkd3d-proton/Manifest
new file mode 100644
index 000000000000..816f990db156
--- /dev/null
+++ b/app-emulation/vkd3d-proton/Manifest
@@ -0,0 +1,8 @@
+DIST dxil-spirv-b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc.tar.gz 915224 BLAKE2B 137f4b187300261d922ecc66542c5b38e6fa825cbb4e9adb43a7ca15ea9b968e24111bcaf9142782a44a6a7abb342a4ccfbd863af3c01287936e47b6162b7139 SHA512 890c0a0e638b9bffc9ce2cee871c60a2a552d691e60ad6ffa087dfae988e559151b7025e025e4346d1389b7d8f39f8b9bf93e43c7427c883662c1d6c86ff9b1a
+DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959
+DIST vkd3d-proton-2.12.tar.gz 2109289 BLAKE2B 805298efa2f49a82dcc4b989856fb24469a1de9a1d175d5844be3e72187d14f3454ced52bcd65f557ec6776fda00112f4b9849dd48679e10aadf277d82b928ca SHA512 fbd4102fc9917a8e7c28edcaa500c26352a0652a008da453108cd21325ef2c757b5c0842a50e2e5ea6efcacdabe86b2ce570647313d0036967a135b01850fbe8
+DIST vkd3d-proton-2.6.tar.gz 1271948 BLAKE2B 02d2574a66614613748fe3471a6fd5aac2650fdae15a17b17ea2ed028fa53a0579b866e7240036a26108afc343395826474bb99e015b9299c2abec811bb872ab SHA512 6f27d213652e2380a9ba4534ac9ffe4b752b4608fbc2e8acd273fa151ab19ad0b132e3436384d2b8591cd1a59f0b69d342c893dc3a64be85188b5e3274bcf3f1
+DIST vkd3d-proton-dxil-spirv-b537bbb91b.tar.gz 631130 BLAKE2B 99f40c5efde87d0af86542b427e5b0429be68ca69ba0c2b6d10a821811756d8dadff4449f268ae404f8ace09a91b3e8aaa135e534a77c0239e58c1a970a044cc SHA512 3c20090b7a1b53c30fd4967622fc7384e1bcc504c30d8075068b87dad1bd2c6f4a12459bf42e61bf76b9dd454ec17a9d529f74ab0d5583627e966d94bb341dc3
+DIST vkd3d-proton-spirv-headers-ae217c1780.tar.gz 415130 BLAKE2B 0c6444c4c1cb43b9c69757d7c2257ce2fe1bc6be308341f3189766f120994e4920bc738b737d9eefc299359dab568fb8809782e3663dd589c0e4d13aecb8873a SHA512 02cf1d63b29e48ef0efe489eb32237ba2f9f4bf58a182b00dc96aab18faba94de79283398e9e945cd81130f83fff228c59b04e496716ea9ccc148a5f4465282c
+DIST vkd3d-proton-vulkan-headers-83e1a9ed8c.tar.gz 1299014 BLAKE2B 0b1e635aaa6eebec3525b13698a064e0e5b8a78829a772cbe9e1890148059bf396bc5c830e8d6ee3070a3343775991642565283994c65acfa0d82a91590b7d84 SHA512 ecb2158cad55edb4ba069383668f3b311a2f6aa6777b5b7ed94795d454622426ee34fee52b13c97d2f07b5b2f965815ee61a0203b76a0b0d2c708a4786d06b96
+DIST vulkan-headers-f030d9dd8ca297b84b10330cee87f72acc3b0aab.tar.gz 2255357 BLAKE2B 07cfa8ccdd26966116e7c35e0d350be94936469f2b9af77c84b8c61495b6ba76813047b5d26bba1fabd44a8f35396b32b6ad32c3b93b0b1a818ce9ed45f93db2 SHA512 6adf81d16d07710322b7c92a0e0436ee33be94d55116e3c460eabb4196a180f8c7b481c19a84a8bbea4e98dda6cf63ff2876f196348921a0c1d9c8c1005cd521
diff --git a/app-emulation/vkd3d-proton/files/vkd3d-proton-2.6-wow64-setup.patch b/app-emulation/vkd3d-proton/files/vkd3d-proton-2.6-wow64-setup.patch
new file mode 100644
index 000000000000..413852460d54
--- /dev/null
+++ b/app-emulation/vkd3d-proton/files/vkd3d-proton-2.6-wow64-setup.patch
@@ -0,0 +1,14 @@
+Dirty workaround to try syswow64 if paths are the same. This can happen
+with USE=wow64 on wine where wine64 is a symlink to wine.
+
+TODO: dxvk's and vkd3d-proton's setup script should be rewritten and packaged
+separately (shared) as upstream hardly support these (dxvk dropped altogether).
+--- a/setup_vkd3d_proton.sh
++++ b/setup_vkd3d_proton.sh
+@@ -81,2 +81,6 @@
+ win32_sys_path="${win32_sys_path/$'\r'/}"
++ if [ "$win32_sys_path" = "$win64_sys_path" ]; then
++ win32_sys_path=$($wine winepath -u 'C:\windows\syswow64' 2> /dev/null)
++ win32_sys_path="${win32_sys_path/$'\r'/}"
++ fi
+ fi
diff --git a/app-emulation/vkd3d-proton/metadata.xml b/app-emulation/vkd3d-proton/metadata.xml
new file mode 100644
index 000000000000..65a03f88f50d
--- /dev/null
+++ b/app-emulation/vkd3d-proton/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <use>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
+ <flag name="extras">Install extra tools and demos in /usr/lib/vkd3d-proton</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">HansKristian-Work/vkd3d-proton</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
new file mode 100644
index 000000000000..b2632b34036a
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.12.ebuild
@@ -0,0 +1,207 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
+ EGIT_SUBMODULES=(
+ # uses hacks / recent features and easily breaks, keep bundled headers
+ # (also cross-compiled and -I/usr/include is troublesome)
+ khronos/{SPIRV,Vulkan}-Headers
+ subprojects/dxil-spirv
+ subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
+ )
+else
+ HASH_VKD3D=7460c70de0dff08de2f4a78a7ac7c71fd7f0ea6e # match tag on bumps
+ HASH_DXIL=b03d68d6ed30e87a3bcef9a861fa3c6b4429e5cc
+ HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764
+ HASH_SPIRV_DXIL=8b246ff75c6615ba4532fe4fde20f1be090c3764
+ HASH_VULKAN=f030d9dd8ca297b84b10330cee87f72acc3b0aab
+ SRC_URI="
+ https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
+ -> dxil-spirv-${HASH_DXIL}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> spirv-headers-${HASH_SPIRV}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+ -> spirv-headers-${HASH_SPIRV_DXIL}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> vulkan-headers-${HASH_VULKAN}.tar.gz
+ "
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
+HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
+
+LICENSE="LGPL-2.1+ Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
+
+BDEPEND="
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is enabled, but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
+ fi
+ done
+ tool=-w64-mingw32-widl
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
+ eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
+ die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir khronos/{SPIRV,Vulkan}-Headers subprojects/dxil-spirv || die
+ mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || die
+
+ rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+ # dxil and vkd3d's spirv headers sometime mismatch and are incompatible
+ if [[ ${HASH_SPIRV} == "${HASH_SPIRV_DXIL}" ]]; then
+ ln -s ../../../khronos/SPIRV-Headers \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+ else
+ mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+ fi
+ fi
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # without .git, meson sets vkd3d_build as 0x${PV} leading to failure
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
+ fi
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP WIDL
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+
+ # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
+ # possible, but eclasses don't handle that so setup machine files
+ local widl=$(tc-getPROG WIDL widl)
+ use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
+ printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${ABI: -2}
+ --{cross,native}-file="${T}"/widl.${ABI}.ini
+ $(meson_use {,enable_}extras)
+ $(meson_use debug enable_trace)
+ $(usev strip --strip) # portage won't strip .dll, so allow it here
+ -Denable_tests=false # needs wine/vulkan and is intended for manual use
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_vkd3d_proton.sh
+ einstalldocs
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
+ elog
+ elog "Should also ensure that >=app-emulation/dxvk-2.1's dxgi.dll is available"
+ elog "on it, not meant to function independently even if only using d3d12."
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elif [[ ${REPLACING_VERSIONS##* } ]]; then
+ if ver_test ${REPLACING_VERSIONS##* } -lt 2.7; then
+ elog
+ elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ fi
+
+ if ver_test ${REPLACING_VERSIONS##* } -lt 2.9; then
+ elog
+ elog ">=${PN}-2.9 has a new file to install (d3d12core.dll), old Wine prefixes that"
+ elog "relied on '--symlink' may need updates by using the setup_vkd3d_proton.sh."
+ elog
+ elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1's"
+ elog "dxgi.dll is not available on that prefix (even if only using d3d12)."
+ fi
+ fi
+}
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
new file mode 100644
index 000000000000..9a41d28143b1
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-2.6-r1.ebuild
@@ -0,0 +1,186 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# note: version 2.6 should be kept for longer given it's the
+# last version to support <wine-7.1 and <nvidia-drivers-510
+
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
+ EGIT_SUBMODULES=(
+ # uses hacks / recent features and easily breaks, keep bundled headers
+ # (also cross-compiled and -I/usr/include is troublesome)
+ subprojects/{SPIRV,Vulkan}-Headers
+ subprojects/dxil-spirv
+ subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
+ )
+else
+ HASH_VKD3D=3e5aab6fb3e18f81a71b339be4cb5cdf55140980 # match tag on bumps
+ HASH_DXIL=b537bbb91bccdbc695cb7e5211d608f8d1c205bd
+ HASH_SPIRV=ae217c17809fadb232ec94b29304b4afcd417bb4
+ HASH_VULKAN=83e1a9ed8ce289cebb1c02c8167d663dc1befb24
+ SRC_URI="
+ https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
+ -> ${PN}-dxil-spirv-${HASH_DXIL::10}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> ${PN}-spirv-headers-${HASH_SPIRV::10}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz"
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
+HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
+
+LICENSE="LGPL-2.1+ Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw debug extras"
+
+BDEPEND="
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is enabled, but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
+ fi
+ done
+ tool=-w64-mingw32-widl
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
+ eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
+ die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir subprojects/{{SPIRV,Vulkan}-Headers,dxil-spirv} || die
+ mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} subprojects/SPIRV-Headers || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} subprojects/Vulkan-Headers || die
+ ln -s ../../../SPIRV-Headers/include \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+ fi
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # without .git, meson sets vkd3d_build as 0x${PV} leading to failure
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
+ fi
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP WIDL
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ # preferring meson eclass' cross file over upstream's but, unlike
+ # dxvk, we lose static options in the process (from build-win*.txt)
+ append-ldflags -static -static-libgcc -static-libstdc++
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+
+ # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
+ # possible, but eclasses don't handle that so setup machine files
+ local widl=$(tc-getPROG WIDL widl)
+ use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
+ printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${ABI: -2}
+ --{cross,native}-file="${T}"/widl.${ABI}.ini
+ $(meson_use {,enable_}extras)
+ $(meson_use debug enable_trace)
+ $(usev !debug --strip) # portage won't strip .dll, so allow it here
+ -Denable_tests=false # needs wine/vulkan and is intended for manual use
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_vkd3d_proton.sh
+ einstalldocs
+
+ # unnecesasry files, see package-release.sh
+ rm "${ED}"/usr/lib/${PN}/x*/libvkd3d-proton-utils-3.dll || die
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ fi
+}
diff --git a/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
new file mode 100644
index 000000000000..12ec38649be1
--- /dev/null
+++ b/app-emulation/vkd3d-proton/vkd3d-proton-9999.ebuild
@@ -0,0 +1,207 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit flag-o-matic meson-multilib toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/HansKristian-Work/vkd3d-proton.git"
+ EGIT_SUBMODULES=(
+ # uses hacks / recent features and easily breaks, keep bundled headers
+ # (also cross-compiled and -I/usr/include is troublesome)
+ khronos/{SPIRV,Vulkan}-Headers
+ subprojects/dxil-spirv
+ subprojects/dxil-spirv/third_party/spirv-headers # skip cross/tools
+ )
+else
+ HASH_VKD3D= # match tag on bumps
+ HASH_DXIL=
+ HASH_SPIRV=
+ HASH_SPIRV_DXIL=
+ HASH_VULKAN=
+ SRC_URI="
+ https://github.com/HansKristian-Work/vkd3d-proton/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/HansKristian-Work/dxil-spirv/archive/${HASH_DXIL}.tar.gz
+ -> dxil-spirv-${HASH_DXIL}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz
+ -> spirv-headers-${HASH_SPIRV}.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV_DXIL}.tar.gz
+ -> spirv-headers-${HASH_SPIRV_DXIL}.tar.gz
+ https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
+ -> vulkan-headers-${HASH_VULKAN}.tar.gz
+ "
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Fork of VKD3D, development branches for Proton's Direct3D 12 implementation"
+HOMEPAGE="https://github.com/HansKristian-Work/vkd3d-proton/"
+
+LICENSE="LGPL-2.1+ Apache-2.0 MIT"
+SLOT="0"
+IUSE="+abi_x86_32 crossdev-mingw debug extras +strip"
+
+BDEPEND="
+ dev-util/glslang
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.6-wow64-setup.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local tool=-w64-mingw32-g++
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain."
+ eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw"
+ use abi_x86_32 && use abi_x86_64 &&
+ eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains."
+ die "USE=crossdev-mingw is enabled, but ${tool} was not found"
+ elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then
+ eerror "${PN} requires GCC to be built with --enable-threads=posix"
+ eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows"
+ die "USE=crossdev-mingw is enabled, but ${tool} does not use POSIX threads"
+ fi
+ done
+ tool=-w64-mingw32-widl
+ for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do
+ if ! type -P widl >/dev/null && ! type -P ${tool} >/dev/null; then
+ eerror "With USE=crossdev-mingw, you need to provide the widl compiler by either"
+ eerror "building crossdev mingw64-runtime with USE=tools or installing wine."
+ die "USE=crossdev-mingw is set but neither widl nor ${tool} were found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ if [[ ${PV} != 9999 ]]; then
+ rmdir khronos/{SPIRV,Vulkan}-Headers subprojects/dxil-spirv || die
+ mv ../dxil-spirv-${HASH_DXIL} subprojects/dxil-spirv || die
+ mv ../SPIRV-Headers-${HASH_SPIRV} khronos/SPIRV-Headers || die
+ mv ../Vulkan-Headers-${HASH_VULKAN} khronos/Vulkan-Headers || die
+
+ rmdir subprojects/dxil-spirv/third_party/spirv-headers || die
+ # dxil and vkd3d's spirv headers sometime mismatch and are incompatible
+ if [[ ${HASH_SPIRV} == "${HASH_SPIRV_DXIL}" ]]; then
+ ln -s ../../../khronos/SPIRV-Headers \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+ else
+ mv ../SPIRV-Headers-${HASH_SPIRV_DXIL} \
+ subprojects/dxil-spirv/third_party/spirv-headers || die
+ fi
+ fi
+
+ default
+
+ sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_vkd3d_proton.sh || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # without .git, meson sets vkd3d_build as 0x${PV} leading to failure
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::15}/" vkd3d_build.h.in || die
+ sed -i "s/@VCS_TAG@/${HASH_VKD3D::7}/" vkd3d_version.h.in || die
+ fi
+}
+
+src_configure() {
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # random segfaults been reported with LTO in some games, filter as
+ # a safety (note that optimizing this further won't really help
+ # performance, GPU does the actual work)
+ filter-lto
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-flags -mno-avx
+
+ if [[ ${CHOST} != *-mingw* ]]; then
+ if [[ ! -v MINGW_BYPASS ]]; then
+ unset AR CC CXX RC STRIP WIDL
+ filter-flags '-fuse-ld=*'
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*' #928038
+ fi
+
+ CHOST_amd64=x86_64-w64-mingw32
+ CHOST_x86=i686-w64-mingw32
+ CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64})
+
+ strip-unsupported-flags
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev,
+ # unset again so meson eclass will set ${CHOST}-gcc + others
+ use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX STRIP WIDL
+
+ # prefer ${CHOST}'s widl (mingw) over wine's as used by upstream if
+ # possible, but eclasses don't handle that so setup machine files
+ local widl=$(tc-getPROG WIDL widl)
+ use amd64 && [[ ${widl} == widl && ${ABI} == x86 ]] && widl="widl','-m32"
+ printf "[binaries]\nwidl = ['${widl}']\n" > "${T}"/widl.${ABI}.ini || die
+
+ local emesonargs=(
+ --prefix="${EPREFIX}"/usr/lib/${PN}
+ --{bin,lib}dir=x${ABI: -2}
+ --{cross,native}-file="${T}"/widl.${ABI}.ini
+ $(meson_use {,enable_}extras)
+ $(meson_use debug enable_trace)
+ $(usev strip --strip) # portage won't strip .dll, so allow it here
+ -Denable_tests=false # needs wine/vulkan and is intended for manual use
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dobin setup_vkd3d_proton.sh
+ einstalldocs
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To enable ${PN} on a wine prefix, you can run the following command:"
+ elog
+ elog " WINEPREFIX=/path/to/prefix setup_vkd3d_proton.sh install --symlink"
+ elog
+ elog "Should also ensure that >=app-emulation/dxvk-2.1's dxgi.dll is available"
+ elog "on it, not meant to function independently even if only using d3d12."
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details."
+ elif [[ ${REPLACING_VERSIONS##* } ]]; then
+ if ver_test ${REPLACING_VERSIONS##* } -lt 2.7; then
+ elog
+ elog ">=${PN}-2.7 requires drivers and Wine to support vulkan-1.3, meaning:"
+ elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)"
+ fi
+
+ if ver_test ${REPLACING_VERSIONS##* } -lt 2.9; then
+ elog
+ elog ">=${PN}-2.9 has a new file to install (d3d12core.dll), old Wine prefixes that"
+ elog "relied on '--symlink' may need updates by using the setup_vkd3d_proton.sh."
+ elog
+ elog "Furthermore, it may not function properly if >=app-emulation/dxvk-2.1's"
+ elog "dxgi.dll is not available on that prefix (even if only using d3d12)."
+ fi
+ fi
+}
diff --git a/app-emulation/vkd3d/Manifest b/app-emulation/vkd3d/Manifest
index 99a8cd7b5807..e46132d73bb4 100644
--- a/app-emulation/vkd3d/Manifest
+++ b/app-emulation/vkd3d/Manifest
@@ -1,3 +1 @@
-DIST vkd3d-1.0.tar.xz 461884 BLAKE2B 4dbd729f9e795d3d81178abc1a8774c0bbe6a5257c96c97acf1e4b4cdb5b7e30c77235e8b8fa57f7db3196caf30c55c3b0c07e2981629dd6177436a3cd117d33 SHA512 55712528688cdedc63049e168b371b470dbb8e31ddc36d8b23b0655f4a061726eb8556b9abf3cb887f6bd21379959aed9fab93ba0fd53813aec413ebec71d615
-DIST vkd3d-1.1.tar.xz 487452 BLAKE2B 834ca06d2159a5857dde457f27e541f06624e87633af6aca7445867abc38c56a1da1fe34b6795ffbd6aa73e983ac0e4301402ae35ef8358fa8cc79c12972b11d SHA512 e107612bdca95e998f9d819bdf74e4ffe1b4d400d250ab855c4ebf94b7d3f088b3221591fef03b1c6b8ecb030feb1673f74831bd8bd8edda2989d09a8846b0f7
-DIST vkd3d-1.2.tar.xz 611240 BLAKE2B e7ea3f7120ad1092be0239bdc2e6d0dfdfecc3b1c2e7c359c4bfbd8c259f092e041a75a0e896da9a1c6370d5716590711128d31c9e552897b177b300b9a15107 SHA512 ca9d5b11e7770747b78b61f43196b45b7bda8d2dd4f1d76da915f895a04dc28c20499e1e433f5ce17416964fe0f37cdc907e7aa540ec9105afbc8a100094f3e7
+DIST vkd3d-1.11.tar.xz 1016132 BLAKE2B 634f5f99f7605814d36a90270ddb82a6a11e2b6bfc2cdc6a6d4d31b730b9d5739479770fe00704f27a726c39aa115272c0a79dbcff8baf251188a4b3ead8faeb SHA512 2b14f7f8d4d58c2bfc6c30aa0d24b6789c0887b2869cfb6be98d03b7b001a74a1fbe24439229fa4d3a618a69fe8eeb77d7a520a16276ae494fe6ee2357dd31d0
diff --git a/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch b/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch
deleted file mode 100644
index 048c6c843f55..000000000000
--- a/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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/metadata.xml b/app-emulation/vkd3d/metadata.xml
index cad91c2cdfde..b0dd7bc28e6e 100644
--- a/app-emulation/vkd3d/metadata.xml
+++ b/app-emulation/vkd3d/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
diff --git a/app-emulation/vkd3d/vkd3d-1.0.ebuild b/app-emulation/vkd3d/vkd3d-1.0.ebuild
deleted file mode 100644
index adf1fb7481d8..000000000000
--- a/app-emulation/vkd3d/vkd3d-1.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 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"
- 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"
-
-multilib_src_configure() {
- local myconf=(
- $(use_with spirv-tools)
- )
-
- ECONF_SOURCE=${S} econf "${myconf[@]}"
-}
diff --git a/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild b/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild
deleted file mode 100644
index 2fc70a042f61..000000000000
--- a/app-emulation/vkd3d/vkd3d-1.1-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2021 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/vkd3d/vkd3d-1.1.ebuild b/app-emulation/vkd3d/vkd3d-1.1.ebuild
deleted file mode 100644
index d3f9d96bc43b..000000000000
--- a/app-emulation/vkd3d/vkd3d-1.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 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"
-
-multilib_src_configure() {
- local myconf=(
- $(use_with spirv-tools)
- )
-
- ECONF_SOURCE=${S} econf "${myconf[@]}"
-}
diff --git a/app-emulation/vkd3d/vkd3d-1.11.ebuild b/app-emulation/vkd3d/vkd3d-1.11.ebuild
new file mode 100644
index 000000000000..c05e18ff7123
--- /dev/null
+++ b/app-emulation/vkd3d/vkd3d-1.11.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+DESCRIPTION="D3D12 to Vulkan translation library"
+HOMEPAGE="https://gitlab.winehq.org/wine/vkd3d/"
+SRC_URI="https://dl.winehq.org/vkd3d/source/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ncurses spirv-tools"
+RESTRICT="test" #838655
+
+RDEPEND="
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ ncurses? ( sys-libs/ncurses:= )
+ spirv-tools? ( dev-util/spirv-tools[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+"
+BDEPEND="
+ sys-devel/flex
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+multilib_src_configure() {
+ local conf=(
+ $(multilib_native_use_with ncurses)
+ $(use_with spirv-tools)
+ --disable-doxygen-pdf
+ --without-xcb
+ )
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/app-emulation/vkd3d/vkd3d-1.2.ebuild b/app-emulation/vkd3d/vkd3d-1.2.ebuild
deleted file mode 100644
index 3589b8daabec..000000000000
--- a/app-emulation/vkd3d/vkd3d-1.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 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"
-
-multilib_src_configure() {
- local myconf=(
- $(use_with spirv-tools)
- --disable-doxygen-pdf
- )
-
- ECONF_SOURCE=${S} econf "${myconf[@]}"
-}
diff --git a/app-emulation/vkd3d/vkd3d-9999.ebuild b/app-emulation/vkd3d/vkd3d-9999.ebuild
deleted file mode 100644
index 0e542af46662..000000000000
--- a/app-emulation/vkd3d/vkd3d-9999.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal autotools
-
-AUTOTOOLS_AUTORECONF="1"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://source.winehq.org/git/vkd3d.git"
- inherit git-r3
-else
- KEYWORDS="~amd64"
- 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-1.1.114"
-
-DESCRIPTION="D3D12 to Vulkan translation library"
-HOMEPAGE="https://source.winehq.org/git/vkd3d.git/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=(
- $(use_with spirv-tools)
- --disable-doxygen-pdf
- )
-
- ECONF_SOURCE=${S} econf "${myconf[@]}"
-}
diff --git a/app-emulation/wine-desktop-common/metadata.xml b/app-emulation/wine-desktop-common/metadata.xml
index 993fd1797745..10c8098770bd 100644
--- a/app-emulation/wine-desktop-common/metadata.xml
+++ b/app-emulation/wine-desktop-common/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>np-hardass@gentoo.org</email>
- <name>Adam Feldman</name>
- </maintainer>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
diff --git a/app-emulation/wine-gecko/Manifest b/app-emulation/wine-gecko/Manifest
index c62e3824b01b..0924bbaa755b 100644
--- a/app-emulation/wine-gecko/Manifest
+++ b/app-emulation/wine-gecko/Manifest
@@ -1,6 +1,12 @@
-DIST wine-gecko-2.47.1-x86.msi 50735104 BLAKE2B c082e22fdbf1681e0c38e8822bc1a8f99b47d91f7d32f22bfad716685553d3d10fd4004f90135d90f39f4ff05cba37665455679e08ce3a140ca8ded76cb7a9ea SHA512 ef13838bf7d5bdd74d06bbbdccc6b18cc75b4d0c2b3db8c978b9500cdfeb058bf5532d89b77c164eab52c1f93ae2e2540b37f6694a3e560aace3ebc7da2c7596
-DIST wine-gecko-2.47.1-x86_64.msi 52311040 BLAKE2B 2a9aa68461d2b9f69ada1e50925de7ba9804a4992c9d0a717c9c5d1340179e7f10e550c8db170bb33c79e24dcd068e00648c572c6b4e4d836a507ada6e7bbccd SHA512 f875d9a7c68a33abf6dd25d61ff6dd3e5ff246768880e3ee4984ab63b065a7b0ef55411b710e4cb9db48bd2114cbd3fbd97f24e819d7d71c2212dd612abaaf43
DIST wine-gecko-2.47.2-x86.msi 59162112 BLAKE2B 75197c5145dd047d637ea950ed1df918b79446bbb5aae642a90d95af96870cd1756b8469deca105d986ae2dc166ad1b2b89dd7e16c7d13baa4b215b30c3ba909 SHA512 4e6e688fada1edd3d7e0e131246dcae8c6db1a2fde946540b6f8c8b2deee8aa19f210368132f00789d4f49bf2b5e5ac671d4d3699f557e652ece50e55fbcbd43
+DIST wine-gecko-2.47.2-x86.tar.xz 45556880 BLAKE2B 43334edd68f22e21347a49bcd7321d90111652fe6143fcb94fa97cee950701f1891b41e8c4ea75854d5232a74c2007534d3fdb190c6abfb96290193f6a4546d2 SHA512 de39bacf9e8b45971e3e675ccbbac0731855b81e148619a98fb126c38ab385f10f1e68e0a52a663fa1a079192b378f4d4e4cdb0a11c5e9dd46221a9604214250
DIST wine-gecko-2.47.2-x86_64.msi 55354880 BLAKE2B c234602e29a6597d26e7a78ec85ac66471ecd8fcea5360d6f32323e4cbee4aca2ccd5530706e8779346ff2d08f1c4900fef198763e431ce7cd232ef117933336 SHA512 9bbaf061d5d2035e6df0898a847697bbed071abaf95ccde08b5ace7a2c6fc871db16443596b23a889def82f98591973fe8ca88063021d8779f8faa48973f239c
-DIST wine_gecko-2.47-x86.msi 49266176 BLAKE2B 6b1d4ebf53fac422c2da9ae7f5b6ab9064d2b6cc20d57fe13707395e71305ac1607a440624d3a545fe1e0391bc92bf5b594173549e519eda967bb833b69b2f52 SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4
-DIST wine_gecko-2.47-x86_64.msi 50806272 BLAKE2B 6f91d4661a322eca41042cb7a246d5bff76ab72b4bda67183fc36735c923bd6d76624f21fd3e59f63fd872704edcf0116a6e7ab4fa6f074f5098c8fb5307534c SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41
+DIST wine-gecko-2.47.2-x86_64.tar.xz 43025348 BLAKE2B 0c956043d7a49cdd88a3af4b25191087fd638a68b958e13a46bbf4310ecf7cdeb973eb3ea5b254f2d4f90f2a715d35c25a67b1883159a60a0ff6eea70e0f1077 SHA512 cf7af1087823188c3be6665d7662bf1029c58b4b8db271e5f4bfed15df217b905653b034b62ed0fa961f528be40f0325b378669d27c9a18ef5b9d98ef8c63aeb
+DIST wine-gecko-2.47.3-x86.msi 55686144 BLAKE2B ce428b35ce70968c12141832aab6044a4e9ecb198b7ce0af69264de2ef16aa7045b154e8dbcb17ef068e5a30a19224014a07210583166394353c0b67ad3f119b SHA512 988390450e5e64bde903595e8cbed39b6e9c6ea928130f6f20cc3c6692c46db8c2a2e0c5dc49ea324e96ee65af3749414aad8b092a02bf7453499178e01c7527
+DIST wine-gecko-2.47.3-x86.tar.xz 43291212 BLAKE2B 441659dd002c14b7774b0c2dc4bbc8d29f16bda7b9d1b5ff7d75dca53a6b01366c62270fa617f8bcd7ac07871de72c016d66e557b4d4f734227c0c4ec0b74013 SHA512 c1530c4aec4743b5acb14cecac909ece6e140eec2171ad4b154513de9aead7a323789251e27f4f1c3ff0d6af9cd2590193db99380e2c91a1640dcff49f78b84e
+DIST wine-gecko-2.47.3-x86_64.msi 54623744 BLAKE2B 2783e060e2277925ca4b1193f4c13d7af88c7605d48d4bdd118826340e293547edc83fa185e2c64fddb629c632480062bedf995b6f65b07360cf9496bbd21f9a SHA512 c8d617695426c19bdb8a415fb0f00dc3ff9aa6c023599d24313f1c6ac50bbf36bc42dc0cdd58dee93c5ad4998468000d123080cbea09efe1bca3d8f7bfa2bd1d
+DIST wine-gecko-2.47.3-x86_64.tar.xz 42325312 BLAKE2B dd7b8516ce38c2baa5fc6c73d7292a78c03136a9bffe50ceb4bd32df0754e7f8d6adbc7689e2d00e0a5fb9806d6da736b5d15acc2fca3f2210015ac55892ed6b SHA512 3d4ff51e0dede5b52929b3babc91b16c06fdd89e75f0d6911e2262142c7422405676238d0d6cb90b6705a18b975de21dd58036a78f856523bab28c5bf52879f9
+DIST wine-gecko-2.47.4-x86.msi 55187968 BLAKE2B f0ecd9cf41290082918be54eb9646aa31973db01993b778d06f6fd82e9f948751e54199a4a8db138870641dfb052fec77af0836613eb95018f603b23bf214d36 SHA512 7adb6c9b59444245d3a0ceb372e5054297723f517ea62d37e7bf02db76f2c0e9a4a64777ea7300ad051ea2281668df2d8680f3889e53f295b40aa1919fe453e5
+DIST wine-gecko-2.47.4-x86.tar.xz 43025064 BLAKE2B 2a73c12585b502ae11188482cbc9fb1f45f95bfe4383a7615011104b132f4845f9813d01fb40277e1934fab5f1b35ab40b4f4a66a9967463dd1d666a666904e9 SHA512 1279456eca4439e9adc3c97678fabeca42cc89f683246805ca14f85fc104bf4ba970fb6490f4ebd0938fc8e0a0ca372b000fdd5165f900070eeee30a1aeec117
+DIST wine-gecko-2.47.4-x86_64.msi 53898752 BLAKE2B dabc9957670d388b3c24fb850c444f28561b200f608f8cb6434d661198dc09786d8c61d5ad007fa9f3a1820425b5b9b46253a6b825d5461539a76c0c4d8e8315 SHA512 075f95ff7a33ad0af6ad53fe8f0f6e2ab233ceb950957d2fbf7d4955543dfe143d14fade283061df14562e6345a7cbaf754fc92d591ea03a5573accb290ae530
+DIST wine-gecko-2.47.4-x86_64.tar.xz 41935496 BLAKE2B 62856a88266b4757602c0646e024f832974a93f03b9df253fd4895d4f11a41b435840ad8f7003ec85a0d8087dec15f2e096dbfb4b01ebe4d365521e48fd0c5c0 SHA512 1defbbc1fb5029bf43872a4e1c49995b61e0f106b1fcc4c99159bf4788226981b9ba8a25a2296d3a9312dbfa7e27b469ca27c0867afb218990d45f68705dbfbe
diff --git a/app-emulation/wine-gecko/metadata.xml b/app-emulation/wine-gecko/metadata.xml
index 921f5a737f83..8b46426a7860 100644
--- a/app-emulation/wine-gecko/metadata.xml
+++ b/app-emulation/wine-gecko/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
</maintainer>
- <upstream>
- <remote-id type="sourceforge">wine/wine-gecko</remote-id>
- </upstream>
+ <use>
+ <flag name="shared">Install pre-unpacked files which do not need to be copied into the Wine prefix</flag>
+ </use>
</pkgmetadata>
diff --git a/app-emulation/wine-gecko/wine-gecko-2.47-r1.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47-r1.ebuild
deleted file mode 100644
index 6a66a478caf1..000000000000
--- a/app-emulation/wine-gecko/wine-gecko-2.47-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PN=${PN/-/_}
-
-DESCRIPTION="A Mozilla Gecko based version of Internet Explorer for Wine"
-HOMEPAGE="https://winehq.org"
-SRC_URI="
- abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${MY_PN}-${PV}-x86.msi )
- abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${MY_PN}-${PV}-x86_64.msi )
-"
-
-LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-IUSE="abi_x86_32 abi_x86_64"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/gecko
- use abi_x86_32 && doins "${DISTDIR}/${MY_PN}-${PV}-x86.msi"
- use abi_x86_64 && doins "${DISTDIR}/${MY_PN}-${PV}-x86_64.msi"
-}
diff --git a/app-emulation/wine-gecko/wine-gecko-2.47.1.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47.1.ebuild
deleted file mode 100644
index b71c2e539912..000000000000
--- a/app-emulation/wine-gecko/wine-gecko-2.47.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A Mozilla Gecko based version of Internet Explorer for Wine"
-HOMEPAGE="https://winehq.org"
-SRC_URI="
- abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86.msi )
- abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86_64.msi )
-"
-
-LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-IUSE="abi_x86_32 abi_x86_64"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/gecko
- use abi_x86_32 && doins "${DISTDIR}/${PN}-${PV}-x86.msi"
- use abi_x86_64 && doins "${DISTDIR}/${PN}-${PV}-x86_64.msi"
-}
diff --git a/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild
index 8f25ee06f62c..fd2e621718a3 100644
--- a/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild
+++ b/app-emulation/wine-gecko/wine-gecko-2.47.2.ebuild
@@ -1,26 +1,37 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-DESCRIPTION="A Mozilla Gecko based version of Internet Explorer for Wine"
-HOMEPAGE="https://winehq.org"
+DESCRIPTION="Mozilla Gecko based version of Internet Explorer for Wine"
+HOMEPAGE="
+ https://wiki.winehq.org/Gecko
+ https://gitlab.winehq.org/wine/wine-gecko/"
SRC_URI="
- abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86.msi )
- abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86_64.msi )
-"
+ shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.tar.xz )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.tar.xz )
+ )
+ !shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.msi )
+ )"
+S="${WORKDIR}"
LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
SLOT="${PV}"
KEYWORDS="amd64 x86"
-IUSE="abi_x86_32 abi_x86_64"
-
-DEPEND="!!app-emulation/wine:0"
+IUSE="+abi_x86_32 abi_x86_64 +shared"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
-S="${WORKDIR}"
-
-src_install(){
+src_install() {
insinto /usr/share/wine/gecko
- use abi_x86_32 && doins "${DISTDIR}/${PN}-${PV}-x86.msi"
- use abi_x86_64 && doins "${DISTDIR}/${PN}-${PV}-x86_64.msi"
+
+ if use shared; then
+ use abi_x86_32 && doins -r ${P}-x86
+ use abi_x86_64 && doins -r ${P}-x86_64
+ else
+ use abi_x86_32 && doins "${DISTDIR}"/${P}-x86.msi
+ use abi_x86_64 && doins "${DISTDIR}"/${P}-x86_64.msi
+ fi
}
diff --git a/app-emulation/wine-gecko/wine-gecko-2.47.3.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47.3.ebuild
new file mode 100644
index 000000000000..fd2e621718a3
--- /dev/null
+++ b/app-emulation/wine-gecko/wine-gecko-2.47.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Mozilla Gecko based version of Internet Explorer for Wine"
+HOMEPAGE="
+ https://wiki.winehq.org/Gecko
+ https://gitlab.winehq.org/wine/wine-gecko/"
+SRC_URI="
+ shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.tar.xz )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.tar.xz )
+ )
+ !shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.msi )
+ )"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+abi_x86_32 abi_x86_64 +shared"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
+
+src_install() {
+ insinto /usr/share/wine/gecko
+
+ if use shared; then
+ use abi_x86_32 && doins -r ${P}-x86
+ use abi_x86_64 && doins -r ${P}-x86_64
+ else
+ use abi_x86_32 && doins "${DISTDIR}"/${P}-x86.msi
+ use abi_x86_64 && doins "${DISTDIR}"/${P}-x86_64.msi
+ fi
+}
diff --git a/app-emulation/wine-gecko/wine-gecko-2.47.4.ebuild b/app-emulation/wine-gecko/wine-gecko-2.47.4.ebuild
new file mode 100644
index 000000000000..ae25f7f2f8eb
--- /dev/null
+++ b/app-emulation/wine-gecko/wine-gecko-2.47.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Mozilla Gecko based version of Internet Explorer for Wine"
+HOMEPAGE="
+ https://wiki.winehq.org/Gecko
+ https://gitlab.winehq.org/wine/wine-gecko/"
+SRC_URI="
+ shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.tar.xz )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.tar.xz )
+ )
+ !shared? (
+ abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi )
+ abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86_64.msi )
+ )"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+abi_x86_32 abi_x86_64 +shared"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
+
+src_install() {
+ insinto /usr/share/wine/gecko
+
+ if use shared; then
+ use abi_x86_32 && doins -r ${P}-x86
+ use abi_x86_64 && doins -r ${P}-x86_64
+ else
+ use abi_x86_32 && doins "${DISTDIR}"/${P}-x86.msi
+ use abi_x86_64 && doins "${DISTDIR}"/${P}-x86_64.msi
+ fi
+}
diff --git a/app-emulation/wine-mono/Manifest b/app-emulation/wine-mono/Manifest
index 5d860c4f8ecc..dd0016c86352 100644
--- a/app-emulation/wine-mono/Manifest
+++ b/app-emulation/wine-mono/Manifest
@@ -1,17 +1,10 @@
-DIST wine-mono-4.6.4.msi 45592064 BLAKE2B 30099b7f02276e47e350a96af07bf64b43c857b3b3323d0cab85864b753e9810c0d7b5d496e2f53f5b2c3a434eb440a19f9928707c4127303aa0335928e39097 SHA512 1d50df5d4d000998c74fbee79b8ffc691d88ee3b34db9fd7124e0df68d6f84768ece489ac8c3f5f3141c2073c8666b93ae23ca6cd652a6542a821df3d1b66b6d
-DIST wine-mono-4.7.0.msi 64625152 BLAKE2B 9c533d9f9a5cec6aefa66ed916e88f0a03ab76e8292f112a669208c5b26855a314657c9950993a205941cd314f0c93a55f621ed71ebb4846a66d30fa9af3c855 SHA512 07cd2b26f3bfe6fc796a126b83e9c0aa655d3e8152af536ae2e8ae419013742706ddae6f93cc2341c94a2f3b8ae7d1b27d12f891d371928189291428f9ed877c
-DIST wine-mono-4.7.1.msi 56470528 BLAKE2B b1b9dd832f725cb70b80889c08db524540c389c4eb8c990415f0c1b4a17274fc96390808c943bd0ff42c79f4bbb376b3d599d31ed42b5ebcb4be79dbc273eeec SHA512 d47f21fa3ddb31522366056a2062cf7b77eec0a12f96dc05326561c9d2604405128441ff40d1b9567a6e6cd1c19ee03444d2ba02dd3b8dd2d150030dfb52f765
-DIST wine-mono-4.7.3.msi 56470528 BLAKE2B 59397f851bd0883f060fd359228fcdedea5a32ce06349fd563411dfa603a6c8700496111821fd9e571cfd4586e829acb12321528a4a8330d1fb6f92855482225 SHA512 d51c0e21c8448a4d11c3e4fd530bda340cc93cd420080e08aadd7b704183dcadf8553b0937e02c7a54a8a2fb46a395718a3e807b85f19936b0e4ee7b92052dfe
-DIST wine-mono-4.7.5.msi 56470528 BLAKE2B a662249fe85dbcc6de273cc8f8384fee9fe789a272c7dfec28e406ac2b512cd0e9ef07716004c694f66a69d2dd0a62e14691123db7b9845d7ad86762619da100 SHA512 25e4188e42362aa9050e4d78a5748697d63181fa91a0c0d2e43ad4c26996f9fb82053a5e6942621aaff01c832be88ea13ac7b472be8841a828eed4e5e87c9ee7
-DIST wine-mono-4.8.0.msi 86536704 BLAKE2B 24120b57a6b51b47d66b4dcf9765492ad2dce8ece7d186b7bd78172598308be43336944ae804be5181e2c3d7ae7cace08c75e2b66fbfad097c9c16fd6fcfc3a9 SHA512 ab0a9795ccbd3acf42d0e904585a16c62b28a2753771b5dccfd4013b77a118eff6fd92c4a8711be43df2b09c993884cc9bb48e025b60059b2a7d3a832ecbbf43
-DIST wine-mono-4.8.1.msi 115878912 BLAKE2B 88bd9b35efd89aece2dd0cd9529bc081fcd2a97f3af81806e9901158cbe48e920e5e6ac276da16c9c2d369dd307a7be05d7b8b67acf2733279a5df17696dd154 SHA512 06cbfc66ad82c40975f9d41698c49ba19c7eadf56b5ea87037b7cf0dbe2053de0d5587573798af294eb5ef8c7f2f5ffb7b3c45da83493c71d1923c1abee1bf9b
-DIST wine-mono-4.8.3.msi 116183552 BLAKE2B 5e82c2e6e456311de817b7870e02d60abc3e359a9b5989257cae4a31e24206e7c8289f417dbb5fa2e315537b4e8352f9f1237f576b3c06cb2dbaaa7a5443a4f0 SHA512 5b5c1c147453cc691ceb17c850be66e3701e784d2ed4bd27abd92a815f7070850b5e0fc1778c3a3aa2b84516b4c5e01abe350d6ccc5578037e75cb1afe1dfb6a
-DIST wine-mono-4.9.0.msi 94960640 BLAKE2B b60debd41ea33eee15ab1a546c526858b97cf4d5d896c856cce21f09210e3e10f1abf98dfb723abbe75657dd44011c1c793a08a329e037144d3266001739467c SHA512 76142fa7233aa3f8111df9112927e699cfc39f8bd0f02f0fc4d065eaeb37964f9e2b49bf53c406fa6ec72c247ab85ddba244ac97b4d6a377adeb63d9ae339e24
-DIST wine-mono-4.9.2.msi 94981632 BLAKE2B b70a5177fad3c6ee2b04ef40105c7700a08339786a23d7378ba72005da5b3cb6b3a797f0173ba32224bcfd25a4bb0fa01c92a83b88e005973b33320717f5b31a SHA512 73e46ec57c7a78d8c32ead4698c299fa557bb97739ce22c9405f95f48f55d604743aa01cc64183c9f89f99aec6f04b664bac0ef96e6a436d38ebcd9d7cf3b329
-DIST wine-mono-4.9.3.msi 95017472 BLAKE2B bf054bcff51e986ddb95788fdd1925ee13efe6e881089a23192d4ccb2527ccb2a2969917b9c3bb16a2161a2bd1d60c24605fd07e6c432f8f77c7c506222045f9 SHA512 4631d4e3b5118eb726f614e2f58f9e95f44bb97a1285fa726d3542d44e2a77ce818997ecb4de42e0d318d364d7c929f10d7c5176b59732e8b468e7695633706c
-DIST wine-mono-4.9.4.msi 95266304 BLAKE2B fb9c81f8ac8fca104f766d62b02c8751b5b7b91740cb43942477c7bdcac382eafeb5fc9c3fe78191b19d81bc5f06dd5c33db7ecfbdaba5e6be69ed39a6827706 SHA512 d52a2cc1137eac87acdaecbb7a81b3d618cad9ad3d7bca5b29940b7432923bfc1497ec21501a05797ef52c6588bb9c5e312df5c02ede8448d1fe1f2880557fc9
-DIST wine-mono-5.0.0-x86.msi 79537664 BLAKE2B f5a4185a7a63a1c1966d871d4c8d5bae07d3bbbc3153f20847c3919ac87be5644e15b45764286483641d9ce19176f79c7c7544e543fad62032ef5302a66ea8ea SHA512 8f83122d4b552b3a3d8b000abbd19b7a72edf45e52fa63a9220228240d8e4c014531bb265d062a38f6924fae07dd45420a5c7566f99e0c471e116fb80906c08c
-DIST wine-mono-5.1.0-x86.msi 84094976 BLAKE2B 25b044696f46810a843c17117f61532de3d4922f202e5acc2106b67f99eda6d359a799dd53ac4801380e81fdb5929c29e09a4923df99bf104b462ac77c682f29 SHA512 c4013307ba43121346f11881a30ff83d4921e0563a1ad3ff1adc34373f7bda5d5f6ad8c46bafe11c13ca372075333562864e073fe944428225b01fb885f9532f
-DIST wine-mono-5.1.1-x86.msi 84130304 BLAKE2B 05a5344b59249a758443cf91670eaef71d9ad3a3024b11442a8d3512ba54356439d503629fa799e2454975f47c0eaf6ff9e25ed61b020f29efceacc78347d578 SHA512 c518b93a470cc897abaf1dba18cc773dca0df62a28d35f32f2ddbe39b4de616c0307545bea5dc3ca87a01fd96b47feb3e1d8c3778106304b9cc08ebb3d1d665f
-DIST wine-mono-6.0.0-x86.msi 87507456 BLAKE2B b3cd3c767ecab3f679f82ad5efe393c10bd87261b48d25804ac4fa200eeadae74f73ca59b6b31f2d64695f1ea28e43ea333fadc78bb4f0c3d97d22087667548d SHA512 04a499429572a88308c3b906d4f729648b0a5bdf53f24e3630b14f644aaaf6d9be603f08cc76e25a35010f9e347b4b93c308bab417e5e64a801050f932ea176b
-DIST wine-mono-6.1.1-x86.msi 87879168 BLAKE2B 3bd7ce6da017edd7d462e91afff17f17bf22179d7ff21f479de92d768c8414e329e497ad3a5860499db7c2075629020aa190cdba80285e28fac8996d3e4337ad SHA512 3d2c7b14e605023f45eedf487e14a106f751b1c8da1063efddf5875a7ab9d9d064489940e499b509a573b0daf8274f2375f80fc8e9c10419cff249048fba8a87
+DIST wine-mono-7.0.0-x86.msi 86433280 BLAKE2B 9d164bf10f9c790a1f518624321a77965800742c84677a6372cd57b1f51bdd16a2d61ee85f868e84be9b07d4c3f5a7afa770e98637f698c2337c42d42890cf58 SHA512 d7af2a68c3b48cab93ddd489f674ab9064d69d5ca0b6c91e58713dd0408af9fb1ff82ef8847d91645d96df40cd5526c6735d621064a3598166ab5f51d1e0d076
+DIST wine-mono-7.0.0-x86.tar.xz 45085800 BLAKE2B 504c57acce486c19a54bf33cdb4b9444c07a58a7f56ced0c93178886a91fa5d94a61f6e26aa885f3e3a2cceb2ff792f01006a4b16fa5bb88c3d25ddff02fefd7 SHA512 a3977563c5eb6418eaeda25e5b39bd2ef1faf305d514979211e049280c4577718ca48c8566e527b97a58fc465b310dd600093a616102573e12e8985794d828a6
+DIST wine-mono-7.4.0-x86.msi 87334912 BLAKE2B c0b778f9db59d1a2917631f1d6ca1a1798972a6a42e27975da78f3a35b77018a99228d7d95e5640c57618533a6b01bf2252859e3e978e2aa8dbdc8cd62afcc28 SHA512 cf35513b368324487c387d4339e5b05a90c4825b25ea603140524b79e69786ccc20dfb898213a9548c0313c0b0e4b160acb88364e4b280dd6712d185d9e5ae57
+DIST wine-mono-7.4.0-x86.tar.xz 45404344 BLAKE2B 3a74106b9b3f21a88c2435f7988d66a54e08beea931a0ce0df6431c21add4ee2685bf9c9cb2404ee1a685736d61b1aee3cdd507130e5c5dddba7e506a2ff18bb SHA512 108cb5d969e84deeda3d2b11dba7cd73853fc3b088ecf2bcdb9bc5c5bbaaff03e72cd4f485d1935eda43cdd95b927886441be1d2204edeaee1ff1fea75735d22
+DIST wine-mono-8.1.0-x86.msi 84905984 BLAKE2B 948b014fc6fba94bc97642b8aae266b8179b119ea3d8a0fdf47daee33eac65b8cc5dd1bc483ae4c66bdd1bdc10f4b73258bb6c83bca0911a30e86e358faafd20 SHA512 5c788dfa0c9b664242f3ce0ab24f3f9256dabf1e9fadc516140f267c763da1865b4536c707660acaf66e4a37d93198f5499971b4261e63d91252f6a7fc3eae4e
+DIST wine-mono-8.1.0-x86.tar.xz 40854944 BLAKE2B 0e0dd83b92016da328547173d25dc396a895a7a161cd54796c9bda34ae958856f1bee342c1bb5fcffcf695b35adf66b2bf83cfa61e01790bf4b0f2d198f84feb SHA512 ba87105a6527b9c392e9ad406e92fd90164e0abb3a348a1e343e63eff0ee8632399badb98f7fbc3581ce697ba09d98aafbf5033bf52fb14b7c7c280c64f25a84
+DIST wine-mono-9.0.0-x86.msi 84583424 BLAKE2B 38f16049909f6464624c1c8f990a7873a3211bf02bef7593cae9da0201e8de0f535c841375eadf47bf0a4b10b08bc9d4c89d22d723e51f3f767c6e986ef01c7d SHA512 fcbde718c237f102aab2e234a2f1c03aedd45ad9f97152112562b2119e542efd2f2979899afd3e9e03b1a06caec135d0f2cfcde084e372d1f74d594d52e6c833
+DIST wine-mono-9.0.0-x86.tar.xz 40970928 BLAKE2B 253533706845cf8e4aa958cca61928e6ce3be7482bfcbba45a5dd6381ab144263ddf40df009121508288710ee0872382a6ce7cde06cf8dd6c75e932916de907e SHA512 0117619a2b3f6e92ee513aeea79db977055098e6f629063fbd5d1a1b7d47e9d14451369b1d0a6a30e468ed051e60bba59aec75b90ea34fa9b4956d3ebdb32c06
+DIST wine-mono-9.1.0-x86.msi 84623872 BLAKE2B 63e86a4f99a5300782017f0b1a2168ad49516e2b2a7e825d7f59b8e842874c7f84752058908e8f57ad1e650a68675c5ff81ad8ba973962ea075db590be0fa51b SHA512 e51744eb0b07a58516fe3f5115fe45b4924e285fe4688649d04dec522203af6b3aa066e5db9b37cbbfe6ce4b5d8e871e9881842227cbb20c0613b911b5bfc383
+DIST wine-mono-9.1.0-x86.tar.xz 43820028 BLAKE2B 6249e661239b71ca2607cf5fb3285bbef3e4c056c87e15352e40d2875028dbaa7f1c1a8b4d908f74de8447b4166c61c708314dc6422e9f69a6eea5f588e7c73b SHA512 cede2b910e95fc43e658e6d4d8086ec5324407a32fff4852341178e1e56df240356c02f270e3be174f3ab82aa076e50d70be4da8e8c5f77e877fce8fe3217374
diff --git a/app-emulation/wine-mono/metadata.xml b/app-emulation/wine-mono/metadata.xml
index a64284bc1ee9..83c506abfee8 100644
--- a/app-emulation/wine-mono/metadata.xml
+++ b/app-emulation/wine-mono/metadata.xml
@@ -1,13 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
</maintainer>
<longdescription>
- Wine Mono is a package containing Mono and other projects, intended as a replacement for the .NET runtime and class libraries in Wine. It works in conjunction with Wine's builtin mscoree.dll, and it is not intended to be useful for any other purpose.
+ Wine Mono is a package containing Mono and other projects,
+ intended as a replacement for the .NET runtime and class
+ libraries in Wine. It works in conjunction with Wine's builtin
+ mscoree.dll, and it is not intended to be useful for any other
+ purpose.
</longdescription>
+ <use>
+ <flag name="shared">Install pre-unpacked files which do not need to be copied into the Wine prefix</flag>
+ </use>
<upstream>
<remote-id type="github">madewokherd/wine-mono</remote-id>
</upstream>
diff --git a/app-emulation/wine-mono/wine-mono-4.6.4.ebuild b/app-emulation/wine-mono/wine-mono-4.6.4.ebuild
deleted file mode 100644
index 4a5144adb837..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.6.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.7.0.ebuild b/app-emulation/wine-mono/wine-mono-4.7.0.ebuild
deleted file mode 100644
index 54ef87ce73c8..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.7.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.7.1.ebuild b/app-emulation/wine-mono/wine-mono-4.7.1.ebuild
deleted file mode 100644
index 4a5144adb837..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.7.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.7.3.ebuild b/app-emulation/wine-mono/wine-mono-4.7.3.ebuild
deleted file mode 100644
index 54ef87ce73c8..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.7.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.7.5.ebuild b/app-emulation/wine-mono/wine-mono-4.7.5.ebuild
deleted file mode 100644
index d45f506606cc..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.7.5.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.8.0.ebuild b/app-emulation/wine-mono/wine-mono-4.8.0.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.8.1.ebuild b/app-emulation/wine-mono/wine-mono-4.8.1.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.8.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.8.3.ebuild b/app-emulation/wine-mono/wine-mono-4.8.3.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.8.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.9.0.ebuild b/app-emulation/wine-mono/wine-mono-4.9.0.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.9.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.9.2.ebuild b/app-emulation/wine-mono/wine-mono-4.9.2.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.9.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.9.3.ebuild b/app-emulation/wine-mono/wine-mono-4.9.3.ebuild
deleted file mode 100644
index 15aab248909e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.9.3.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-4.9.4.ebuild b/app-emulation/wine-mono/wine-mono-4.9.4.ebuild
deleted file mode 100644
index 063347ed1e0e..000000000000
--- a/app-emulation/wine-mono/wine-mono-4.9.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-5.0.0.ebuild b/app-emulation/wine-mono/wine-mono-5.0.0.ebuild
deleted file mode 100644
index 30b33158592b..000000000000
--- a/app-emulation/wine-mono/wine-mono-5.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}-x86.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-5.1.0.ebuild b/app-emulation/wine-mono/wine-mono-5.1.0.ebuild
deleted file mode 100644
index 30b33158592b..000000000000
--- a/app-emulation/wine-mono/wine-mono-5.1.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}-x86.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-5.1.1.ebuild b/app-emulation/wine-mono/wine-mono-5.1.1.ebuild
deleted file mode 100644
index 291b0ae7c2b6..000000000000
--- a/app-emulation/wine-mono/wine-mono-5.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="amd64 x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}-x86.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-6.0.0.ebuild b/app-emulation/wine-mono/wine-mono-6.0.0.ebuild
deleted file mode 100644
index 0860b6bcb4b4..000000000000
--- a/app-emulation/wine-mono/wine-mono-6.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}-x86.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-6.1.1.ebuild b/app-emulation/wine-mono/wine-mono-6.1.1.ebuild
deleted file mode 100644
index 0860b6bcb4b4..000000000000
--- a/app-emulation/wine-mono/wine-mono-6.1.1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Wine Mono is a replacement for the .NET runtime and class libraries in Wine"
-HOMEPAGE="https://www.winehq.org/"
-SRC_URI="https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="!!app-emulation/wine:0"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/wine/mono
- doins "${DISTDIR}/${P}-x86.msi"
-}
diff --git a/app-emulation/wine-mono/wine-mono-7.0.0.ebuild b/app-emulation/wine-mono/wine-mono-7.0.0.ebuild
new file mode 100644
index 000000000000..f943df20d059
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-7.0.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.tar.xz )
+ !shared? ( https://dl.winehq.org/wine/${PN}/${PV}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-mono/wine-mono-7.4.0.ebuild b/app-emulation/wine-mono/wine-mono-7.4.0.ebuild
new file mode 100644
index 000000000000..27069cdc43d3
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-7.4.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
+ !shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-mono/wine-mono-8.1.0.ebuild b/app-emulation/wine-mono/wine-mono-8.1.0.ebuild
new file mode 100644
index 000000000000..420d2e8387b2
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-8.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
+ !shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-mono/wine-mono-9.0.0.ebuild b/app-emulation/wine-mono/wine-mono-9.0.0.ebuild
new file mode 100644
index 000000000000..f756896e7c2e
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-9.0.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
+ !shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-mono/wine-mono-9.1.0.ebuild b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild
new file mode 100644
index 000000000000..f756896e7c2e
--- /dev/null
+++ b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Replacement for the .NET runtime and class libraries in Wine"
+HOMEPAGE="https://wiki.winehq.org/Mono"
+SRC_URI="
+ shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.tar.xz )
+ !shared? ( https://github.com/madewokherd/wine-mono/releases/download/${P}/${P}-x86.msi )"
+S="${WORKDIR}"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared"
+
+src_install() {
+ insinto /usr/share/wine/mono
+
+ if use shared; then
+ doins -r ${P}
+ else
+ doins "${DISTDIR}"/${P}-x86.msi
+ fi
+}
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
new file mode 100644
index 000000000000..4e84f540f297
--- /dev/null
+++ b/app-emulation/wine-proton/Manifest
@@ -0,0 +1,3 @@
+DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
+DIST proton-wine-8.0-5c.tar.gz 48710071 BLAKE2B 99627baea6fb3d51231aa1e75a2734c3c1baba88326baf15b3d421d57a00472d25ba51c2140b51152c8aeae7dd240d3d77bb0d8835aa7eb3b745a51be120f8bb SHA512 0cf98d4e67866e55cc8cd5ea8da0d76aee8e37b130b3cbca604083c913e98ddf9038ecd6f9761d2e11443e282b372977400e251456c6d40e1365210c7578234d
+DIST proton-wine-9.0-1.tar.gz 49048661 BLAKE2B cf237c314e8b222bb36f52f316baae2351a30d22995d610c7977accc9588c474d0e598702000aa81b34fc2f3daeccd09f54ef53b7a2250c0b012ca47d69628eb SHA512 d7d3e4725a86ca120d059e5b8f9760bce45a5db0ae814cd76aa51dc361bb67af9c2834917ddad3858fc324a1d048acdd9942492c77d0f396aae7d537c70e3ca1
diff --git a/app-emulation/wine-proton/files/README.gentoo b/app-emulation/wine-proton/files/README.gentoo
new file mode 100644
index 000000000000..48f3d568a013
--- /dev/null
+++ b/app-emulation/wine-proton/files/README.gentoo
@@ -0,0 +1,52 @@
+While this version of Wine is usable independently, it does contain some
+Steam-oriented changes that may be unexpected. Notably C:\users\steamuser
+is used rather than C:\users\<user-name> and it may be necessary to move
+files if converting from non-proton Wine prefixes (like games' save files).
+
+To keep a low maintenance cost, these changes are not reverted in Gentoo
+with the exception of re-enabling winemenubuilder for desktop entries.
+
+Also, given this Wine variant is oriented toward running games, some
+normally unrelated features (e.g. cups) may not have real upstream
+(Valve) support. Because of this, some are left always disabled.
+
+If needed, use other variants for the more expected Wine behavior.
+
+---
+
+Given Proton is not creating the Wine prefixes, some features are not
+enabled by default and PROTON_* variables to control them are unrecognized.
+
+To (optionally) setup some notable defaults of Proton:
+- export WINEFSYNC=1
+. Often improves performance for CPU-bound applications, recommended
+. but should be left disabled if get crashes mentioning fsync errors.
+. >Requires linux kernel >=5.16 if unpatched.
+- export WINE_LARGE_ADDRESS_AWARE=1
+. Allows 32bit applications to access more memory, notably helps
+. prevent crashes on memory-heavy applications while using dxvk below.
+- WINEPREFIX=/path/to setup_dxvk.sh install --symlink
+. Vulkan-based d3d9/10/11 that often provides both better performance
+. and compatibility (strongly recommended).
+. >Requires app-emulation/dxvk
+- WINEPREFIX=/path/to setup_vkd3d_proton.sh install --symlink
+. Like above, but for d3d12. Wine also supports vkd3d as-is but this
+. is the modified fork used by Proton (may or may not be better).
+. Intended to work with dxvk's dxgi.dll so, if used, install both.
+. >Requires app-emulation/vkd3d-proton
+
+For some applications it may be better to disable these or do other
+workarounds, see https://www.protondb.com/ for specific information.
+
+Many other proton-specific improvements / fixes are always enabled, and
+some game-specific quirks are auto-enabled as needed (can see a few from
+running winecfg).
+
+If have audio/video playback issues, note to look at GStreamer plugins.
+Notably USE=ffmpeg on media-plugins/gst-plugins-meta which Proton normally
+provide by default.
+
+---
+
+If have other Wine variants installed, remember to either use `eselect wine`
+to select this variant or call it as wine-proton.
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-musl.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-musl.patch
new file mode 100644
index 000000000000..0776df12f241
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-musl.patch
@@ -0,0 +1,17 @@
+Wrongly assumes that futex_waitv is missing if no glibc-only __NR_futex_waitv.
+https://bugs.gentoo.org/868747
+--- a/configure.ac
++++ b/configure.ac
+@@ -2153,2 +2153,5 @@
+
++dnl Check for futex_waitv structure members
++AC_CHECK_MEMBERS(struct futex_waitv.val,,,[#include <linux/futex.h>])
++
+ dnl Check for socket structure members
+--- a/dlls/ntdll/unix/fsync.c
++++ b/dlls/ntdll/unix/fsync.c
+@@ -67,2 +67,4 @@
+ # define __NR_futex_waitv 449
++#endif
++#ifndef HAVE_STRUCT_FUTEX_WAITV_VAL
+ # define FUTEX_32 2
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch
new file mode 100644
index 000000000000..92aa0b4b5c5d
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch
@@ -0,0 +1,7 @@
+Also write GNU-stack note on dummy files used for stub libraries.
+--- a/tools/winebuild/import.c
++++ b/tools/winebuild/import.c
+@@ -1675,2 +1675,3 @@
+ output( "\t.text\n" );
++ output_gnu_stack_note();
+ }
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch
new file mode 100644
index 000000000000..760340791060
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch
@@ -0,0 +1,14 @@
+Without Steam there is no launcher by default, users with more custom
+setups may not need this but others will want access to desktop entries.
+--- a/configure.ac
++++ b/configure.ac
+@@ -3683,2 +3683,3 @@
+ WINE_CONFIG_MAKEFILE(programs/winefile)
++WINE_CONFIG_MAKEFILE(programs/winemenubuilder)
+ WINE_CONFIG_MAKEFILE(programs/winemine)
+--- a/loader/wine.inf.in
++++ b/loader/wine.inf.in
+@@ -5630,2 +5630,3 @@
+ [Services]
++HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
+ HKLM,"System\CurrentControlSet\Services\Eventlog\Application",,16
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-unwind.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-unwind.patch
new file mode 100644
index 000000000000..372def52ba0c
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-unwind.patch
@@ -0,0 +1,40 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -646,7 +646,9 @@
+ unsigned int cie_offset;
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+ {
+@@ -1368,7 +1370,7 @@
+ unw_proc_info_t info;
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+ rc = unw_init_local( &cursor, &unw_context );
+@@ -1491,11 +1493,13 @@
+ NTSTATUS CDECL unwind_builtin_dll( ULONG type, DISPATCHER_CONTEXT *dispatch, CONTEXT *context )
+ {
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+ if (fde)
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
+ &dispatch->LanguageHandler, &dispatch->HandlerData );
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.6-mingw64-11.0.0.patch b/app-emulation/wine-proton/files/wine-proton-7.0.6-mingw64-11.0.0.patch
new file mode 100644
index 000000000000..54ecc49c7235
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.6-mingw64-11.0.0.patch
@@ -0,0 +1,20 @@
+Hack: this does not actually need stdarg.h, but including it ensures
+that _mingw.h will be loaded before the rest of Wine's winnt.h avoiding
+issues with mingw64-runtime-11.0.0, e.g.:
+
+ _mingw.h:602:60: error: redefinition of ‘__fastfail’
+ make[1]: *** [Makefile:5900: dlls/advapi32/crypt_des.cross.o] Error 1
+
+(other crypt_*.c happen to include stdarg.h first and don't fail, but this
+one does not, same for several other files in dlls/)
+
+Not an issue with non-proton Wine 7.0 as Wine did not define __fastfail
+until ~wine-7.10. Wine 8 does define it but does not seem to be a problem
+there (perhaps due to different header layout). A more "right" fix would
+be welcome, but given Proton-7 seems EOL it is not judged important.
+--- a/include/winnt.h
++++ b/include/winnt.h
+@@ -32,2 +32,3 @@
+ #include <string.h>
++#include <stdarg.h>
+ #endif
diff --git a/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
new file mode 100644
index 000000000000..50fc5be57abc
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-8.0.1c-unwind.patch
@@ -0,0 +1,36 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/dwarf.h
++++ b/dlls/ntdll/unix/dwarf.h
+@@ -257,5 +257,7 @@
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -648,5 +648,5 @@
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+@@ -774,4 +774,5 @@
+ CONTEXT *context = params->context;
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+@@ -779,4 +780,5 @@
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
diff --git a/app-emulation/wine-proton/files/wine-proton-8.0.4-restore-menubuilder.patch b/app-emulation/wine-proton/files/wine-proton-8.0.4-restore-menubuilder.patch
new file mode 100644
index 000000000000..f278a2cbc264
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-8.0.4-restore-menubuilder.patch
@@ -0,0 +1,8 @@
+Without Steam there is no launcher by default, users with more custom
+setups may not need this but others will want access to desktop entries.
+--- a/loader/wine.inf.in
++++ b/loader/wine.inf.in
+@@ -5630,2 +5630,3 @@
+ [Services]
++HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
+ HKLM,"System\CurrentControlSet\Services\Eventlog\Application",,16
diff --git a/app-emulation/wine-proton/files/wine-proton-9.0-rpath.patch b/app-emulation/wine-proton/files/wine-proton-9.0-rpath.patch
new file mode 100644
index 000000000000..78e4393d390d
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-9.0-rpath.patch
@@ -0,0 +1,14 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -813,8 +813,11 @@
+ ;;
+ esac
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
+ ;;
+ esac
+
+ enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no}
diff --git a/app-emulation/wine-proton/metadata.xml b/app-emulation/wine-proton/metadata.xml
new file mode 100644
index 000000000000..cc21bdb8ce89
--- /dev/null
+++ b/app-emulation/wine-proton/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>wine@gentoo.org</email>
+ <name>Wine</name>
+ </maintainer>
+ <use>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
+ <flag name="gecko">Enable mshtml support using <pkg>app-emulation/wine-gecko</pkg></flag>
+ <flag name="mono">Enable .NET support using <pkg>app-emulation/wine-mono</pkg></flag>
+ <flag name="osmesa">Enable off-screen rendering (OpenGL in bitmaps) support</flag>
+ <flag name="perl">Install helpers that require perl (winedump/winemaker)</flag>
+ <flag name="sdl">Enable gamepad support using <pkg>media-libs/libsdl2</pkg></flag>
+ <flag name="vkd3d">Enable DirectX 12 support using <pkg>app-emulation/vkd3d</pkg></flag>
+ <flag name="wow64">
+ Enable running 32bit applications without 32bit ELF
+ multilib by mapping to 64bit calls (experimental,
+ *may* have worse/unusable OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
+ </flag>
+ </use>
+ <upstream>
+ <changelog>https://github.com/ValveSoftware/Proton/wiki/Changelog</changelog>
+ <remote-id type="github">ValveSoftware/wine</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
new file mode 100644
index 000000000000..fe8d48046141
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -0,0 +1,370 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
+ osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
+ v4l +vkd3d +xcomposite xinerama
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-7.0.4-unwind.patch
+ "${FILESDIR}"/${PN}-7.0.6-mingw64-11.0.0.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-ldap
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vkd3d)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+ # rather not have to worry about fixing old branches (bug #924486)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ if (( bits == 64 )); then
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{CC,{C,LD}FLAGS}
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
new file mode 100644
index 000000000000..d241cf82281d
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-8.0.5c.ebuild
@@ -0,0 +1,387 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=8.1.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu +xcomposite xinerama
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # >=wine-proton-9 has proper fixes and builds with gcc-14, but would
+ # rather not have to worry about fixing old branches (bug #924486)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 <8.10's configure.ac does not pass -fno-strict when
+ # it should (can be removed when proton is rebased on >=8.10)
+ append-cflags -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-proton/wine-proton-9.0.1.ebuild b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
new file mode 100644
index 000000000000..024f4d039fc9
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.1.ebuild
@@ -0,0 +1,419 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=8.1.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-9.0-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # proton variant also needs specfiles and vulkan
+ tools/make_specfiles || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-pcsclite
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+ # yet making it mostly pointless for a gaming-oriented build
+ # (IUSE="X wayland" may be added in wine-proton-10 or 11)
+ --without-wayland
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
new file mode 100644
index 000000000000..6a86d9f190b0
--- /dev/null
+++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild
@@ -0,0 +1,421 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools flag-o-matic multilib multilib-build prefix
+inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+WINE_PV=$(ver_rs 2 -)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
+ EGIT_BRANCH="experimental_$(ver_cut 1-2)"
+else
+ SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
+ S="${WORKDIR}/${PN}-wine-${WINE_PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Valve Software's fork of Wine"
+HOMEPAGE="https://github.com/ValveSoftware/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags
+ +fontconfig +gecko +gstreamer llvm-libunwind +mono nls osmesa
+ perl pulseaudio +sdl selinux +ssl +strip udev udisks +unwind
+ usb v4l video_cards_amdgpu wow64 +xcomposite xinerama
+"
+REQUIRED_USE="wow64? ( abi_x86_64 !abi_x86_32 )"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
+ media-libs/freetype[${MULTILIB_USEDEP}]
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ media-libs/vulkan-loader[${MULTILIB_USEDEP}]
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? (
+ dev-libs/gmp:=[${MULTILIB_USEDEP}]
+ net-libs/gnutls:=[${MULTILIB_USEDEP}]
+ )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+"
+# gcc: for -latomic with clang
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libdrm[video_cards_amdgpu?,${MULTILIB_USEDEP}]
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ x11-base/xorg-proto
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900332)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.4-musl.patch
+ "${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
+ "${FILESDIR}"/${PN}-8.0.1c-unwind.patch
+ "${FILESDIR}"/${PN}-8.0.4-restore-menubuilder.patch
+ "${FILESDIR}"/${PN}-9.0-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ eerror "--> Note that mingw builds are default for ${PN} even without this USE."
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -e '/^UNIX_LIBS.*=/s/$/ -latomic/' \
+ -i dlls/{ntdll,winevulkan}/Makefile.in || die
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # similarly to staging, append to `wine --version` for identification
+ sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # proton variant also needs specfiles and vulkan
+ tools/make_specfiles || die # perl
+ dlls/winevulkan/make_vulkan -x vk.xml || die # python
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-proton
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ # upstream (Valve) doesn't really support misc configurations (e.g.
+ # adds vulkan code not always guarded by --with-vulkan), so force
+ # some major options that are typically needed by games either way
+ # TODO?: --without-mingw could make sense *if* using clang, assuming
+ # bug #912237 is resolved (consider when do USE=wow64 in proton-9)
+ --with-freetype
+ --with-mingw # needed by many, notably Blizzard titles
+ --with-opengl
+ --with-vulkan
+ --with-x
+
+ # ...and disable most options unimportant for games and unused by
+ # Proton rather than expose as volatile USEs with little support
+ --without-capi
+ --without-cups
+ --without-gphoto
+ --without-gssapi
+ --without-krb5
+ --without-netapi
+ --without-opencl
+ --without-pcap
+ --without-pcsclite
+ --without-sane
+ ac_cv_lib_soname_odbc=
+
+ # afaik wayland support in 9.0.x currently cannot do opengl/vulkan
+ # yet making it mostly pointless for a gaming-oriented build
+ # (IUSE="X wayland" may be added in wine-proton-10 or 11)
+ --without-wayland
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ $(use_enable video_cards_amdgpu amd_ags_x64)
+ --disable-tests
+ $(use_with alsa)
+ $(use_with fontconfig)
+ $(use_with gstreamer)
+ $(use_with nls gettext)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pulseaudio pulse)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+
+ --without-vosk # unpackaged, file a bug if you need this
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
+}
+
+pkg_postinst() {
+ [[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
+
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index 65fc311620ab..fe42d750defe 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -1,10 +1,10 @@
-DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75
-DIST gentoo-wine-patches-20210302.tar.xz 60112 BLAKE2B 993cc671da00e5f44022af14f7b14f41155db4f2a02a971d17e7d40c3aece59e6b0dcd2793157c91bfe1f240a4b9e59a731f07dcb3314688f978e2f79e8062f1 SHA512 623cfa1420350d76d4b3897310bb81ce86740306a16ec974762cae886ae6717194b726cb4bfa588ea451414b399c50cca72125020738cdc3e13f6cc84983f858
-DIST wine-6.3.tar.xz 24301496 BLAKE2B d36e46e369abc619d351dd3209c0c86c5e5924509fe98a9e158fd10b9ca57650b9bc20e64dc801ec1b09315ed77fd81b549ebce7f383a3f772717a2031878588 SHA512 20108ea5036d612e8dd61fe9254d67cad02d757ede87174ed27774e4e3537e0d1f4d67156fd430f1d01d5c68b899cb0c7b4be298d897a1ce823913efef822242
-DIST wine-6.4.tar.xz 24340220 BLAKE2B b09ea9237b71856184a03e64ef8cf7aa30591ebd6534a550e9365ea9ab773d81283520ca6b0efc8aa69063cdeae8da35fc22e08a40c73c6268db4d57b0442ad2 SHA512 f190e1b97defb4620e33d1a4e2afffd475f6b3998153c67c6d06840b4f3b93a50f88c6844de15e7f54ca712330f6fea857310861a78b961feb7f64a4869f3fe1
-DIST wine-6.5.tar.xz 24375196 BLAKE2B c30f606d268bf39f9424dd2e65f98f75b3538c82df6a931ea4955040a625ff07a2272f7d83f4343f8997ac2660a934528279ff31555ef062c81487e897c429f9 SHA512 11f9d2bb515c63429d397b97ecc1f13d0dbb717780d674229b851b819d707e0fd6fbf8bbae9a41dbf7b2ceb3729c4f5643d1ec5e414d6694d192072081f96fe4
-DIST wine-6.6.tar.xz 24400568 BLAKE2B 37ec581686a2145a84cd40a1c29c313cf253f96c86fd16fac0402afb02aa15687b86e2de850b86c9a132b8898ab93b639f431711f3c6220a566537768612f97a SHA512 a5caabc5ff91a830fbdcd25a85ee32b6df98315325a929a3124521cd10cc873e5a585359b03eb0293bb2474e39a179cbe179c0611acda6a228861e06068c091e
-DIST wine-staging-6.3.tar.gz 9796930 BLAKE2B b24e5ec57435a0d797e4d913b027226b3c891477d9df5d098be52348dff4eb704275c7c59d09f6cbdf7f86940a0e6c96bf28f94bd703fd32d6770a31426043fc SHA512 ed9b3b03c466de03941d7fec00c73ff77df863c3f4ba201e7f920810675ff416995557cb62b6701dcec6928f2ab9e4d608f17b79eda0267094e506a5e66f47f2
-DIST wine-staging-6.4.tar.gz 9778866 BLAKE2B 9fe69f359dd70433118695881c5254223f4e2ef0b78868fc87df6a8a5789004fa5173987a04f4c3f8b51ab70d0c4b573c2ce867765b7009346790dcca6824347 SHA512 9229ff6f56120c64cf79d2b817ce2e1f43f1f02e77356f7d371104a4d8a6455a090555ad80b0efd18f69edd019a2caac7bdf59aaba097ac01d311dac927e48b5
-DIST wine-staging-6.5.tar.gz 9743825 BLAKE2B 606377c33a789e092f044bb610746e54fba77a9af0e3da674d16c8ce0f51c59d82f78f0e63c5915fb6f1ab10d6ee91d7b95a7634f1177a6455de6e0c0517ef01 SHA512 bb5199419a22a4536ff95fb0e6257d7c870fe79f40346d56101579edae5c44086fac0db975e04452fcc1d7cda0d5392ff703e1c39504ec4ee63610e2e89fd1e1
-DIST wine-staging-6.6.tar.gz 9756871 BLAKE2B 45e49f7cd2820e027cf9788e7257a3fdaeb97d711d8ae4b466026316f331c2ad84aa0f8446cbeacb98c280e21bd1666d23054bcbc7702533e4974148e684be91 SHA512 65e90c4a0965f2db499edcff5171552b8e95716ff9b2a4ed272d022bc0b1f99547ca1d7b09ced2a267cdf3dfbaf552f9cbb2cc8bbd34636eb3882406ab5985d2
+DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a928ad60652d1dee92620c433cc105dffab4e9309f41766087ad1544ef49d2922538bb420d62f6dd64117a1 SHA512 838daf2c4581f83f8573b988036f517d57b84894b090a2a17433255d6d044dfa880e6724cdb83082a36c333df9d2083ab68ae53927622a620edd59f33462ada4
+DIST wine-9.5.tar.xz 30371420 BLAKE2B c14ebf02f0f5b91bc2b2517ff3630f22c6af7fdc827c5d024d809a383a65446284a5349c8109835112f5353f361088f4f32de1a3d04299fbf39deacbc0e8e8bf SHA512 8ccad8f6e6b1428886dee9fae771796e2021b4122cd96464350352bede25421406e6a6a0fdd63d8b99b896db8dc529aa6e05d6ac7966bee49ce3055b18a8af91
+DIST wine-9.6.tar.xz 30261488 BLAKE2B 53115a8a80593856679718b2055340860221701bc82a784a111a992f5e67b031d7407a16f6df6d4da67f382f30c35d2dd82af2a671a058a76b621c91199e426e SHA512 cc2ea5597636da8d392d1d63b9c135679eff69ea671dc6b53b6f2d44a890aee0e17275174485f6e8dd99c7db737eb82a800a2b05c4966f15e28167c5a6098922
+DIST wine-9.7.tar.xz 30281616 BLAKE2B 4d27f6f2dfd088a0590bfce7228c7eca25b66a9a04706ddecb25af6364e83100c15a78c8d46f3294a42dc7f3503756506f752a02d7058a72ce16716994b334bc SHA512 0c15c3a0901162a386126f2dc987b276b379cc027fc72d9e31cf3122614742f876f30a5f24a495f546cd9c5bd5efce096bd9ca190d0f378fea3d42a298a06e80
+DIST wine-9.8.tar.xz 30297460 BLAKE2B 689d1b4e55f7d66b8fad8432ad35a52e2fad303e8a9382b8893222c696697efa5de5b56cc2b933bed96d6382f9fdc919fa15e6517ffdb50105cdaea904a7d77f SHA512 3d1b0e6b7b633a0b45ba6b23e741e808dec29355721baf4489c3ad34c67d714b40897ef510c4a84f31be390d7f8b86b93a725787d733eaf77df5c82b322d2662
+DIST wine-staging-9.0.tar.gz 9577631 BLAKE2B 0012978f54c618e73d407dd49dccff02853912d0c015098889802518e8c51b280f5d60e11291335dafc68944ee01cbcb7fd6c5825ef10ae1520c7b82d9846718 SHA512 362209fcadcf029152b681c76beb231d0cc8de1609b994094f1dc88ab871fddda08b3d8c2fe36ceb38909a9d634c1ade864ca0f28a6a7715ec286a8b2884981f
+DIST wine-staging-9.5.tar.gz 9526239 BLAKE2B a6f5a351a3979fc81a0d8c6325da4f08021d19eb7ac6ad52906a6fcf19552f01bdc8fbebc9b33fc82e14cdd6e6d50347dc7bc73e622d589d2e9eec5d577d3158 SHA512 8c756fe505092e21dd37c709ac3917c305b70881c05270f0e188ccdf9ff36b9fd224adad424d37c6919637d2af55afbfba49079eb5b6708a6cf4f2dd98966784
+DIST wine-staging-9.6.tar.gz 9522775 BLAKE2B 5598d408774e3142d6de5ccddccb68d8e1e4544c43b5691751599e6b86df6b8899f6113b8b58d75fb8e032a6c7aed9ffbb3ecb1553aa2d7593d69513e9a0177a SHA512 83691eb560c860d40669a524196a522007c76420b5b5076da4f446a4180fee7558ef228cf1f4179eb78a6d36c8ab78fd2784ffc879b0aacbef7c72a7f88e7ed2
+DIST wine-staging-9.7.tar.gz 9573710 BLAKE2B 34eee97f51268c07d649f0ed498b5e92bbc8bb1d8cee860040ee660d968307a7d9d3b59305567c50338d2ce97b3071f615b8782ca74716b42904ae4514404316 SHA512 3c5f100f715c6b3399c356b304b8eca1e51706e03782f2f834965474a7efeca4174ae806dff85080cded93501e9cfcd097eca43230d9425c78ae73a6f4485c76
+DIST wine-staging-9.8.tar.gz 9580231 BLAKE2B 74d0b7d4eb49b5cb16abf17a2aae52bad9db04d3e207762f1d37a9f18870683c0115ce41b29e24edad827557de4a07235980588115b61fa86eeaaa5573460535 SHA512 8132c1fd98b55ef04993e894e11063e43ac1cae059f80e0dc3b2a4c6bf08a6ab80f7bdd02b97f62733f31850b41e5d2d6c5085b22bf873fc03ab67b79bdd3c1d
diff --git a/app-emulation/wine-staging/files/wine-staging-7.17-noexecstack.patch b/app-emulation/wine-staging/files/wine-staging-7.17-noexecstack.patch
new file mode 100644
index 000000000000..4baa48cfc140
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-staging-7.17-noexecstack.patch
@@ -0,0 +1,7 @@
+Also write GNU-stack note on dummy files used for stub libraries.
+--- a/tools/winebuild/import.c
++++ b/tools/winebuild/import.c
+@@ -1676,2 +1676,3 @@
+ output( "\t.text\n" );
++ output_gnu_stack_note();
+ }
diff --git a/app-emulation/wine-staging/files/wine-staging-7.20-unwind.patch b/app-emulation/wine-staging/files/wine-staging-7.20-unwind.patch
new file mode 100644
index 000000000000..f130ef5c23b3
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-staging-7.20-unwind.patch
@@ -0,0 +1,36 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/dwarf.h
++++ b/dlls/ntdll/unix/dwarf.h
+@@ -255,5 +255,7 @@
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -632,5 +632,5 @@
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+@@ -755,4 +755,5 @@
+ {
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+@@ -760,4 +761,5 @@
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
diff --git a/app-emulation/wine-staging/files/wine-staging-8.13-rpath.patch b/app-emulation/wine-staging/files/wine-staging-8.13-rpath.patch
new file mode 100644
index 000000000000..5f0d63b0ec33
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-staging-8.13-rpath.patch
@@ -0,0 +1,15 @@
+Patch Source: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/wine/rpath.patch
+Alpine Bug: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13249
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -784,6 +784,9 @@ case $host_os in
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
+ ;;
+ esac
+
diff --git a/app-emulation/wine-staging/files/wine-staging-9.8-musl-ioctls-header.patch b/app-emulation/wine-staging/files/wine-staging-9.8-musl-ioctls-header.patch
new file mode 100644
index 000000000000..7aa1a4c00587
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-staging-9.8-musl-ioctls-header.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/931341
+https://gitlab.winehq.org/wine/wine/-/commit/24ca848c568d5a2786abd26f2e7314b2e3f509f3
+From: Fotios Valasiadis <fvalasiad@gmail.com>
+Date: Sun, 5 May 2024 03:34:57 +0300
+Subject: [PATCH] ntdll/unix: Fix building on musl by explicitly including
+ asm/ioctls.h.
+
+After commit 898ab8dab19d498c17859f39a55e317ee7e367a5 wine would no longer
+build on musl.
+
+Issue is that apparently TCSETS2 isn't defined when including sys/ioctl.h.
+
+A little digging shows that glibc goes ahead and includes asm/ioctls.h in
+sys/ioctl.h, providing said macro. Musl on the other hand doesn't and relies
+on bits/ioctl.h, which lacks said macro.
+
+Signed-off-by: Fotios Valasiadis <fvalasiad@gmail.com>
+--- a/dlls/ntdll/unix/serial.c
++++ b/dlls/ntdll/unix/serial.c
+@@ -33,6 +33,7 @@
+ #include <stdio.h>
+ #ifdef HAVE_ASM_TERMBITS_H
+ # include <asm/termbits.h>
++# include <asm/ioctls.h>
+ #else
+ # include <termios.h>
+ #endif
+--
+GitLab
+
diff --git a/app-emulation/wine-staging/metadata.xml b/app-emulation/wine-staging/metadata.xml
index d0c5202e160f..e20c128974c9 100644
--- a/app-emulation/wine-staging/metadata.xml
+++ b/app-emulation/wine-staging/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
- <description>
- This package must be kept in sync with repo/proj/wine repository.
- Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
- </description>
</maintainer>
<longdescription>
Wine is an Open Source implementation of the Windows API on top of X and Unix.
@@ -17,41 +13,32 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n
This variant of the Wine packaging includes the Wine-Staging patchset.
</longdescription>
<use>
- <flag name="capi">Enable ISDN support via CAPI</flag>
- <flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag>
+ <flag name="capi">Enable ISDN support using <pkg>net-libs/libcapi</pkg></flag>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
- <flag name="faudio">Pull in <pkg>app-emulation/faudio</pkg> to provide XAudio2 functionality</flag>
- <flag name="gcrypt">Add support for the Diffie-Hellman key exchanges using dev-libs/libgcrypt</flag>
- <flag name="gecko">Add support for the Gecko engine when using iexplore</flag>
- <flag name="gssapi">Use GSSAPI (Kerberos SSP support)</flag>
- <flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality;</flag>
- <flag name="mingw">Build PE files using a MinGW cross compiler</flag>
- <flag name="mono">Add support for .NET using Wine's Mono add-on</flag>
- <flag name="netapi">Use libnetapi from <pkg>net-fs/samba</pkg> to support Windows networks in netapi32.dll</flag>
- <flag name="opencl">Enable OpenCL support</flag>
- <flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag>
+ <flag name="gecko">Enable mshtml support using <pkg>app-emulation/wine-gecko</pkg></flag>
+ <flag name="mingw">Build PE files using a MinGW toolchain for better compatibility</flag>
+ <flag name="mono">Enable .NET support using <pkg>app-emulation/wine-mono</pkg></flag>
+ <flag name="netapi">Enable support for configuring remote shares using <pkg>net-fs/samba</pkg></flag>
+ <flag name="osmesa">Enable off-screen rendering (OpenGL in bitmaps) support</flag>
<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>
- <flag name="perl">Install helpers written in perl (winedump/winemaker)</flag>
- <flag name="pipelight">Apply Wine-Staging patches for Pipelight/Silverlight support</flag>
- <flag name="prelink">Run prelink on DLLs during build;
- For Gentoo hardened, do not disable if you do not know what this means as it can break things at runtime</flag>
- <flag name="realtime">Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag>
- <flag name="run-exes">Use Wine to open and run .EXE and .MSI files</flag>
- <flag name="samba">Add support for NTLM auth. See:
- https://web.archive.org/web/20160108123008/http://wiki.winehq.org:80/NtlmAuthSetupGuide and
- https://web.archive.org/web/20150906013746/http://wiki.winehq.org/NtlmSigningAndSealing
- (these pages are not currently in the updated WineHQ Wiki).</flag>
- <flag name="sdl">Add support for gamepad detection using SDL</flag>
- <flag name="staging">Apply Wine-Staging patches for advanced feature support that haven't made it into upstream Wine yet</flag>
- <flag name="themes">Support GTK+:3 window theming through Wine-Staging</flag>
- <flag name="udev">Use <pkg>virtual/libudev</pkg> to provide plug and play support</flag>
- <flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> to unwind the stack</flag>
- <flag name="usb">Use <pkg>virtual/libusb</pkg> to provide USB support</flag>
- <flag name="vkd3d">Use <pkg>app-emulation/vkd3d</pkg> to provide Direct3D 12 support</flag>
- <flag name="vulkan">Enable Vulkan drivers</flag>
+ <flag name="perl">Install helpers that require perl (winedump/winemaker)</flag>
+ <flag name="samba">Pull in <pkg>net-fs/samba</pkg> with winbind for NTLM auth support</flag>
+ <flag name="sdl">Enable gamepad support using <pkg>media-libs/libsdl2</pkg></flag>
+ <flag name="wow64">
+ Enable running 32bit applications without 32bit ELF
+ multilib by mapping to 64bit calls (experimental,
+ *may* have worse/unusable OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
+ </flag>
</use>
<upstream>
- <remote-id type="github">wine-compholio/wine-staging</remote-id>
- <remote-id type="sourceforge">wine</remote-id>
+ <bugs-to>https://bugs.winehq.org/describecomponents.cgi?product=Wine-staging</bugs-to>
+ <remote-id type="github">wine-staging/wine-staging</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/wine-staging/wine-staging-6.3-r1.ebuild b/app-emulation/wine-staging/wine-staging-6.3-r1.ebuild
deleted file mode 100644
index c3f0e6d2210b..000000000000
--- a/app-emulation/wine-staging/wine-staging-6.3-r1.ebuild
+++ /dev/null
@@ -1,668 +0,0 @@
-# Copyright 1999-2021 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_PV="${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
-
-if [[ ${MY_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)
- MINOR_V=$(ver_cut 2)
- if [[ ${MINOR_V} != "0" ]] ; then
- MINOR_V="x"
- fi
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-STAGING_P="wine-staging-${MY_PV}"
-STAGING_DIR="${WORKDIR}/${STAGING_P}"
-GWP_V="20210302"
-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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="${MY_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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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"
- "${PATCHDIR}/patches/${MY_PN}-6.3-Fix-nine.patch"
-)
-PATCHES_BIN=()
-
-# https://bugs.gentoo.org/show_bug.cgi?id=635222
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_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() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
- fi
-}
-
-pkg_setup() {
- wine_build_environment_check || die
- wine_env_vcs_vars || die
-
- WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine deregister --staging ${PN}-${MY_PV}|| 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-6.4.ebuild b/app-emulation/wine-staging/wine-staging-6.4.ebuild
deleted file mode 100644
index 6641dfc2f349..000000000000
--- a/app-emulation/wine-staging/wine-staging-6.4.ebuild
+++ /dev/null
@@ -1,665 +0,0 @@
-# Copyright 1999-2021 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_PV="${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
-
-if [[ ${MY_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)
- MINOR_V=$(ver_cut 2)
- if [[ ${MINOR_V} != "0" ]] ; then
- MINOR_V="x"
- fi
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-STAGING_P="wine-staging-${MY_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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="${MY_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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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 ]] || [[ ${MY_PV} == 9999 ]]; then
- DEPEND+=" dev-util/patchbin"
-fi
-
-wine_compiler_check() {
- # 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() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
- fi
-}
-
-pkg_setup() {
- wine_build_environment_check || die
- wine_env_vcs_vars || die
-
- WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine deregister --staging ${PN}-${MY_PV}|| 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-6.5.ebuild b/app-emulation/wine-staging/wine-staging-6.5.ebuild
deleted file mode 100644
index 6641dfc2f349..000000000000
--- a/app-emulation/wine-staging/wine-staging-6.5.ebuild
+++ /dev/null
@@ -1,665 +0,0 @@
-# Copyright 1999-2021 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_PV="${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
-
-if [[ ${MY_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)
- MINOR_V=$(ver_cut 2)
- if [[ ${MINOR_V} != "0" ]] ; then
- MINOR_V="x"
- fi
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-STAGING_P="wine-staging-${MY_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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="${MY_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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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 ]] || [[ ${MY_PV} == 9999 ]]; then
- DEPEND+=" dev-util/patchbin"
-fi
-
-wine_compiler_check() {
- # 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() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
- fi
-}
-
-pkg_setup() {
- wine_build_environment_check || die
- wine_env_vcs_vars || die
-
- WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine deregister --staging ${PN}-${MY_PV}|| 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-6.6.ebuild b/app-emulation/wine-staging/wine-staging-6.6.ebuild
deleted file mode 100644
index 20eb02bc907b..000000000000
--- a/app-emulation/wine-staging/wine-staging-6.6.ebuild
+++ /dev/null
@@ -1,665 +0,0 @@
-# Copyright 1999-2021 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_PV="${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
-
-if [[ ${MY_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)
- MINOR_V=$(ver_cut 2)
- if [[ ${MINOR_V} != "0" ]] ; then
- MINOR_V="x"
- fi
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
- KEYWORDS="-* ~amd64 ~x86"
-fi
-S="${WORKDIR}/${MY_P}"
-
-STAGING_P="wine-staging-${MY_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 [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="${MY_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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.1.1 )
- 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 ]] || [[ ${MY_PV} == 9999 ]]; then
- DEPEND+=" dev-util/patchbin"
-fi
-
-wine_compiler_check() {
- # 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() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
- fi
-}
-
-pkg_setup() {
- wine_build_environment_check || die
- wine_env_vcs_vars || die
-
- WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine register --staging ${PN}-${MY_PV} || 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 ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine deregister --staging ${PN}-${MY_PV}|| 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-9.0.ebuild b/app-emulation/wine-staging/wine-staging-9.0.ebuild
new file mode 100644
index 000000000000..acc21ca9b5e2
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.0.ebuild
@@ -0,0 +1,480 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=8.1.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ # patches known broken with USE=-mingw, retry occasionally (bug #921360)
+ $(usev !mingw '
+ -W winedevice-Default_Drivers
+ -W fltmgr.sys-FltBuildDefaultSecurityDescriptor
+ ')
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9.5.ebuild b/app-emulation/wine-staging/wine-staging-9.5.ebuild
new file mode 100644
index 000000000000..81161556f611
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.5.ebuild
@@ -0,0 +1,483 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ # patches known broken with USE=-mingw, retry occasionally (bug #921360)
+ $(usev !mingw '
+ -W winedevice-Default_Drivers
+ -W fltmgr.sys-FltBuildDefaultSecurityDescriptor
+ ')
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9.6.ebuild b/app-emulation/wine-staging/wine-staging-9.6.ebuild
new file mode 100644
index 000000000000..3a82f055fb75
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.6.ebuild
@@ -0,0 +1,478 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9.7.ebuild b/app-emulation/wine-staging/wine-staging-9.7.ebuild
new file mode 100644
index 000000000000..3a82f055fb75
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.7.ebuild
@@ -0,0 +1,478 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9.8.ebuild b/app-emulation/wine-staging/wine-staging-9.8.ebuild
new file mode 100644
index 000000000000..21d2022a896c
--- /dev/null
+++ b/app-emulation/wine-staging/wine-staging-9.8.ebuild
@@ -0,0 +1,479 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.0
+WINE_P=wine-$(ver_cut 1-2)
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
+"
+
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+ "${FILESDIR}"/${P}-musl-ioctls-header.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
+
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
+ fi
+}
+
+src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
+
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
+
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index 20eb02bc907b..f0ed10e52b22 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -1,665 +1,478 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-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"
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools edo flag-o-matic multilib multilib-build optfeature
+inherit prefix python-any-r1 toolchain-funcs wrapper
-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_PV="${PV/_/-}"
-MY_P="${MY_PN}-${MY_PV}"
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.0
+WINE_P=wine-$(ver_cut 1-2)
-if [[ ${MY_PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
- EGIT_BRANCH="master"
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
- SRC_URI=""
- #KEYWORDS=""
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git"
+ WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
else
- MAJOR_V=$(ver_cut 1)
- MINOR_V=$(ver_cut 2)
- if [[ ${MINOR_V} != "0" ]] ; then
- MINOR_V="x"
- fi
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="
+ https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz
+ https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
-S="${WORKDIR}/${MY_P}"
-
-STAGING_P="wine-staging-${MY_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
+HOMEPAGE="
+ https://wiki.winehq.org/Wine-Staging
+ https://gitlab.winehq.org/wine/wine-staging/
"
-if [[ ${MY_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${MY_PV}.tar.gz -> ${STAGING_P}.tar.gz )"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="${MY_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 mingw +mono mp3 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 usb v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+S="${WORKDIR}/${WINE_P}"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls opencl +opengl osmesa pcap perl
+ pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+# TODO: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
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.
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
RESTRICT="test"
-COMMON_DEPEND="
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_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/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${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}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
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}] )
- 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}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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}
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.1.1 )
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
perl? (
dev-lang/perl
- dev-perl/XML-Simple
+ dev-perl/XML-LibXML
)
- pulseaudio? (
- realtime? ( sys-auth/rtkit )
- )
- samba? ( >=net-fs/samba-3.0.25[winbind] )
+ samba? ( net-fs/samba[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
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
X? ( x11-base/xorg-proto )
- prelink? ( sys-devel/prelink )
- staging? (
- dev-lang/perl
- dev-perl/XML-Simple
+"
+# gitapply.sh prefers git but can fallback to patch+extras
+BDEPEND="
+ ${PYTHON_DEPS}
+ || (
+ dev-vcs/git
+ (
+ sys-apps/gawk
+ sys-apps/util-linux
+ )
+ )
+ || (
+ sys-devel/binutils
+ sys-devel/lld
)
- xinerama? ( x11-base/xorg-proto )"
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
-# 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"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900334)
+ res_getservers # false positive
+)
+QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
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"
+ "${FILESDIR}"/${PN}-7.17-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
)
-PATCHES_BIN=()
-
-# https://bugs.gentoo.org/show_bug.cgi?id=635222
-if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
- DEPEND+=" dev-util/patchbin"
-fi
-
-wine_compiler_check() {
- # 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() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- 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)"
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
eerror
- die
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
fi
- fi
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
+ done
fi
}
-pkg_setup() {
- wine_build_environment_check || die
- wine_env_vcs_vars || die
-
- WINE_VARIANT="${PN#wine}-${MY_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 [[ ${MY_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 [[ ${PV} == *9999 ]]; then
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${P}
+ git-r3_src_unpack
- 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
+ # hack: use subshell to preserve state (including what git-r3 unpack
+ # sets) for smart-live-rebuild as this is not the repo to look at
+ (
+ EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die
+ EGIT_REPO_URI=${WINE_EGIT_REPO_URI}
+ EGIT_CHECKOUT_DIR=${S}
+ einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})"
+ git-r3_src_unpack
+ )
+ else
+ default
fi
-
- default
-
- l10n_find_plocales_changes "${S}/po" "" ".po"
}
src_prepare() {
+ local patchinstallargs=(
+ --all
+ --no-autoconf
+ ${MY_WINE_STAGING_CONF}
+ )
- 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"
+ edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}"
- # 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"
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
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
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
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
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
- # 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
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
- 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)
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-staging
}
src_configure() {
- wine_compiler_check || die
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
- export LDCONFIG=/bin/true
- use custom-cflags || strip-flags
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
- multilib-minimal_src_configure
-}
+ $(usev wow64 --enable-archs=x86_64,i386)
-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_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
$(use_with alsa)
$(use_with capi)
- $(use_with lcms cms)
$(use_with cups)
- $(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 gssapi)
$(use_with kerberos krb5)
- $(use_with ldap)
- # TODO: Will bug 685172 still need special handling?
$(use_with mingw)
- $(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)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
$(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 smartcard pcsclite)
+ $(use_with ssl gnutls)
$(use_with truetype freetype)
$(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
$(use_with unwind)
$(use_with usb)
$(use_with v4l v4l2)
- $(use_with vkd3d)
$(use_with vulkan)
- $(use_with X x)
- $(use_with X xfixes)
+ $(use_with wayland)
$(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)
- )
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
- 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
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # staging patchset is messier and would rather not have to worry
+ # about it (try to remove on bump now and then, bug #919758)
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
- if use amd64; then
- if [[ ${ABI} == amd64 ]]; then
- myconf+=( --enable-win64 )
- else
- myconf+=( --disable-win64 )
- fi
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
- # Note: using --with-wine64 results in problems with multilib.eclass
- # CC/LD hackery. We're using separate tools instead.
- fi
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
- ECONF_SOURCE=${S} \
- econf "${myconf[@]}"
- emake depend
-}
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
-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
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
- WINEPREFIX="${T}/.wine-${ABI}" \
- virtx emake test
- fi
-}
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
-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
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
- einstalldocs
- prune_libtool_files --all
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
- 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
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
fi
- # Remove wineconsole if neither backend is installed #551124
- if ! use X; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
fi
- multilib_foreach_abi rm_wineconsole
- fi
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
- 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}
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
- # Avoid double prefix from dosym and make_wrapper
- MY_PREFIX=${MY_PREFIX#${EPREFIX}}
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
- 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
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
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##*/}"
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
done
- eshopts_pop
-}
-pkg_postinst() {
- eselect wine register ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine register --staging ${PN}-${MY_PV} || die
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || 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
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
}
-pkg_prerm() {
- eselect wine deregister ${PN}-${MY_PV}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${PN}-${MY_PV} || die
- else
- if use staging; then
- eselect wine deregister --staging ${PN}-${MY_PV}|| die
- fi
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
fi
- eselect wine update --all --if-unset || die
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
}
pkg_postrm() {
- xdg_desktop_database_update
+ eselect wine update --if-unset || die
}
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index f3e3bae6fcd0..fd6dd151ecd7 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -1,7 +1,7 @@
-DIST gentoo-wine-patches-20200523.tar.xz 59740 BLAKE2B 951d7f305a6e5b3759c8095629d48de4830b8a0c9558de859a9e02d9824fe85553fda2bc0820ca97022a0ca63ac28473dadfe827821220445dbf1a7fd15c7c98 SHA512 46eea45c982b475e3ff444cbd87c6a0a235fc8dcaf3d83d89655a10ed8841a9ddb09e5a638a05803f3bf2c3bd34165c16067aba561efa4c183ee396dc31cdf75
-DIST gentoo-wine-patches-20210302.tar.xz 60112 BLAKE2B 993cc671da00e5f44022af14f7b14f41155db4f2a02a971d17e7d40c3aece59e6b0dcd2793157c91bfe1f240a4b9e59a731f07dcb3314688f978e2f79e8062f1 SHA512 623cfa1420350d76d4b3897310bb81ce86740306a16ec974762cae886ae6717194b726cb4bfa588ea451414b399c50cca72125020738cdc3e13f6cc84983f858
-DIST wine-6.0.tar.xz 24192280 BLAKE2B baf0eee582190ede8d210390b51d330c1879cb442100bc2e957052898fbd84bcc047a885065f9bf96ac4f072f92eee44f0e1c3baddc68937286e7cc6f976bd4e SHA512 c0732fbab1da8737d595a876b28ce87eef1440c317746e798642b59b44b34e890de562e0c0cc674e97096f39db82f8e9c3b1cc1ba9edc246b7266a0f7cb00057
-DIST wine-6.3.tar.xz 24301496 BLAKE2B d36e46e369abc619d351dd3209c0c86c5e5924509fe98a9e158fd10b9ca57650b9bc20e64dc801ec1b09315ed77fd81b549ebce7f383a3f772717a2031878588 SHA512 20108ea5036d612e8dd61fe9254d67cad02d757ede87174ed27774e4e3537e0d1f4d67156fd430f1d01d5c68b899cb0c7b4be298d897a1ce823913efef822242
-DIST wine-6.4.tar.xz 24340220 BLAKE2B b09ea9237b71856184a03e64ef8cf7aa30591ebd6534a550e9365ea9ab773d81283520ca6b0efc8aa69063cdeae8da35fc22e08a40c73c6268db4d57b0442ad2 SHA512 f190e1b97defb4620e33d1a4e2afffd475f6b3998153c67c6d06840b4f3b93a50f88c6844de15e7f54ca712330f6fea857310861a78b961feb7f64a4869f3fe1
-DIST wine-6.5.tar.xz 24375196 BLAKE2B c30f606d268bf39f9424dd2e65f98f75b3538c82df6a931ea4955040a625ff07a2272f7d83f4343f8997ac2660a934528279ff31555ef062c81487e897c429f9 SHA512 11f9d2bb515c63429d397b97ecc1f13d0dbb717780d674229b851b819d707e0fd6fbf8bbae9a41dbf7b2ceb3729c4f5643d1ec5e414d6694d192072081f96fe4
-DIST wine-6.6.tar.xz 24400568 BLAKE2B 37ec581686a2145a84cd40a1c29c313cf253f96c86fd16fac0402afb02aa15687b86e2de850b86c9a132b8898ab93b639f431711f3c6220a566537768612f97a SHA512 a5caabc5ff91a830fbdcd25a85ee32b6df98315325a929a3124521cd10cc873e5a585359b03eb0293bb2474e39a179cbe179c0611acda6a228861e06068c091e
+DIST wine-7.0.2.tar.xz 27179980 BLAKE2B 721ab574092638b32d3a483b6ae3def0c9d706cc888662ca461ab8c7060b10077e83cede69663ea2a8b97729f3801209fbba5f8e8828ce20454700ffbbd76cb5 SHA512 330c71005a6a8054b5068ac4484e9015e9f8bf55d5a451aaf5f79b7f78a025732b454251c31473abf21504cce3b78e50cf7e3e0d0116bb755dc8396bd790289a
+DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c006370c4c316c8a367b2f5814926063482959fabfe9d674ee1b5a560e59087e9b711e28360ced3aee2bbd6bb8fdb SHA512 e86dd31247d757d48ffb2d24f20edab3fc6ef9c3e395567a7b363951bb681335ba3adb8b84639011b24b6eb274582d56880298d6d95fb100acc072383d4e973f
+DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a928ad60652d1dee92620c433cc105dffab4e9309f41766087ad1544ef49d2922538bb420d62f6dd64117a1 SHA512 838daf2c4581f83f8573b988036f517d57b84894b090a2a17433255d6d044dfa880e6724cdb83082a36c333df9d2083ab68ae53927622a620edd59f33462ada4
+DIST wine-9.5.tar.xz 30371420 BLAKE2B c14ebf02f0f5b91bc2b2517ff3630f22c6af7fdc827c5d024d809a383a65446284a5349c8109835112f5353f361088f4f32de1a3d04299fbf39deacbc0e8e8bf SHA512 8ccad8f6e6b1428886dee9fae771796e2021b4122cd96464350352bede25421406e6a6a0fdd63d8b99b896db8dc529aa6e05d6ac7966bee49ce3055b18a8af91
+DIST wine-9.6.tar.xz 30261488 BLAKE2B 53115a8a80593856679718b2055340860221701bc82a784a111a992f5e67b031d7407a16f6df6d4da67f382f30c35d2dd82af2a671a058a76b621c91199e426e SHA512 cc2ea5597636da8d392d1d63b9c135679eff69ea671dc6b53b6f2d44a890aee0e17275174485f6e8dd99c7db737eb82a800a2b05c4966f15e28167c5a6098922
+DIST wine-9.7.tar.xz 30281616 BLAKE2B 4d27f6f2dfd088a0590bfce7228c7eca25b66a9a04706ddecb25af6364e83100c15a78c8d46f3294a42dc7f3503756506f752a02d7058a72ce16716994b334bc SHA512 0c15c3a0901162a386126f2dc987b276b379cc027fc72d9e31cf3122614742f876f30a5f24a495f546cd9c5bd5efce096bd9ca190d0f378fea3d42a298a06e80
+DIST wine-9.8.tar.xz 30297460 BLAKE2B 689d1b4e55f7d66b8fad8432ad35a52e2fad303e8a9382b8893222c696697efa5de5b56cc2b933bed96d6382f9fdc919fa15e6517ffdb50105cdaea904a7d77f SHA512 3d1b0e6b7b633a0b45ba6b23e741e808dec29355721baf4489c3ad34c67d714b40897ef510c4a84f31be390d7f8b86b93a725787d733eaf77df5c82b322d2662
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-7.0-noexecstack.patch b/app-emulation/wine-vanilla/files/wine-vanilla-7.0-noexecstack.patch
new file mode 100644
index 000000000000..92aa0b4b5c5d
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-7.0-noexecstack.patch
@@ -0,0 +1,7 @@
+Also write GNU-stack note on dummy files used for stub libraries.
+--- a/tools/winebuild/import.c
++++ b/tools/winebuild/import.c
+@@ -1675,2 +1675,3 @@
+ output( "\t.text\n" );
++ output_gnu_stack_note();
+ }
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch b/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch
new file mode 100644
index 000000000000..74f22362ea9b
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-7.0-unwind.patch
@@ -0,0 +1,40 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -635,7 +635,9 @@
+ unsigned int cie_offset;
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+ {
+@@ -1357,7 +1359,7 @@
+ unw_proc_info_t info;
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+ rc = unw_init_local( &cursor, &unw_context );
+@@ -1480,11 +1482,13 @@
+ NTSTATUS CDECL unwind_builtin_dll( ULONG type, DISPATCHER_CONTEXT *dispatch, CONTEXT *context )
+ {
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+ if (fde)
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
+ &dispatch->LanguageHandler, &dispatch->HandlerData );
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-7.20-unwind.patch b/app-emulation/wine-vanilla/files/wine-vanilla-7.20-unwind.patch
new file mode 100644
index 000000000000..63f9a06a5de8
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-7.20-unwind.patch
@@ -0,0 +1,36 @@
+Fix build with llvm-libunwind, and also fix for non-llvm libunwind
+when using clang+bfd given clang doesn't have _Unwind_Find_FDE in
+its rtlib and expects it from llvm-libunwind.
+
+The _CONFIG_H_ check is for <llvm-libunwind-15 (adds _VERSION).
+--- a/dlls/ntdll/unix/dwarf.h
++++ b/dlls/ntdll/unix/dwarf.h
+@@ -255,5 +255,7 @@
+ };
+
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
++#endif
+
+ static unsigned char dwarf_get_u1( const unsigned char **p )
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -623,5 +623,5 @@
+ int rc;
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
+ if (rc == UNW_ESUCCESS)
+@@ -746,4 +746,5 @@
+ {
+ struct dwarf_eh_bases bases;
++#if defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__) || !defined(__clang__)
+ const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
+
+@@ -751,4 +752,5 @@
+ return dwarf_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context, fde,
+ &bases, &dispatch->LanguageHandler, &dispatch->HandlerData );
++#endif
+ #ifdef HAVE_LIBUNWIND
+ return libunwind_virtual_unwind( context->Rip, &dispatch->EstablisherFrame, context,
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-8.13-rpath.patch b/app-emulation/wine-vanilla/files/wine-vanilla-8.13-rpath.patch
new file mode 100644
index 000000000000..5f0d63b0ec33
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-8.13-rpath.patch
@@ -0,0 +1,15 @@
+Patch Source: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/community/wine/rpath.patch
+Alpine Bug: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13249
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -784,6 +784,9 @@ case $host_os in
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
+ ;;
+ esac
+
diff --git a/app-emulation/wine-vanilla/files/wine-vanilla-9.8-musl-ioctls-header.patch b/app-emulation/wine-vanilla/files/wine-vanilla-9.8-musl-ioctls-header.patch
new file mode 100644
index 000000000000..7aa1a4c00587
--- /dev/null
+++ b/app-emulation/wine-vanilla/files/wine-vanilla-9.8-musl-ioctls-header.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/931341
+https://gitlab.winehq.org/wine/wine/-/commit/24ca848c568d5a2786abd26f2e7314b2e3f509f3
+From: Fotios Valasiadis <fvalasiad@gmail.com>
+Date: Sun, 5 May 2024 03:34:57 +0300
+Subject: [PATCH] ntdll/unix: Fix building on musl by explicitly including
+ asm/ioctls.h.
+
+After commit 898ab8dab19d498c17859f39a55e317ee7e367a5 wine would no longer
+build on musl.
+
+Issue is that apparently TCSETS2 isn't defined when including sys/ioctl.h.
+
+A little digging shows that glibc goes ahead and includes asm/ioctls.h in
+sys/ioctl.h, providing said macro. Musl on the other hand doesn't and relies
+on bits/ioctl.h, which lacks said macro.
+
+Signed-off-by: Fotios Valasiadis <fvalasiad@gmail.com>
+--- a/dlls/ntdll/unix/serial.c
++++ b/dlls/ntdll/unix/serial.c
+@@ -33,6 +33,7 @@
+ #include <stdio.h>
+ #ifdef HAVE_ASM_TERMBITS_H
+ # include <asm/termbits.h>
++# include <asm/ioctls.h>
+ #else
+ # include <termios.h>
+ #endif
+--
+GitLab
+
diff --git a/app-emulation/wine-vanilla/metadata.xml b/app-emulation/wine-vanilla/metadata.xml
index a57d62f758b0..99ab7d2e9aab 100644
--- a/app-emulation/wine-vanilla/metadata.xml
+++ b/app-emulation/wine-vanilla/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
- <description>
- This package must be kept in sync with repo/proj/wine repository.
- Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
- </description>
</maintainer>
<longdescription>
Wine is an Open Source implementation of the Windows API on top of X and Unix.
@@ -17,36 +13,33 @@ Think of Wine as a compatibility layer for running Windows programs. Wine does n
This variant of the Wine packaging does not include external patchsets
</longdescription>
<use>
- <flag name="capi">Enable ISDN support via CAPI</flag>
- <flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag>
+ <flag name="capi">Enable ISDN support using <pkg>net-libs/libcapi</pkg></flag>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
- <flag name="faudio">Pull in <pkg>app-emulation/faudio</pkg> to provide XAudio2 functionality</flag>
- <flag name="gecko">Add support for the Gecko engine when using iexplore</flag>
- <flag name="gssapi">Use GSSAPI (Kerberos SSP support)</flag>
- <flag name="gstreamer">Use <pkg>media-libs/gstreamer</pkg> to provide DirectShow functionality;</flag>
- <flag name="mingw">Build PE files using a MinGW cross compiler</flag>
- <flag name="mono">Add support for .NET using Wine's Mono add-on</flag>
- <flag name="netapi">Use libnetapi from <pkg>net-fs/samba</pkg> to support Windows networks in netapi32.dll</flag>
- <flag name="opencl">Enable OpenCL support</flag>
- <flag name="osmesa">Add support for OpenGL in bitmaps using libOSMesa</flag>
+ <flag name="gecko">Enable mshtml support using <pkg>app-emulation/wine-gecko</pkg></flag>
+ <flag name="mingw">Build PE files using a MinGW toolchain for better compatibility</flag>
+ <flag name="mono">Enable .NET support using <pkg>app-emulation/wine-mono</pkg></flag>
+ <flag name="netapi">Enable support for configuring remote shares using <pkg>net-fs/samba</pkg></flag>
+ <flag name="osmesa">Enable off-screen rendering (OpenGL in bitmaps) support</flag>
<flag name="pcap">Support packet capture software (e.g. wireshark)</flag>
- <flag name="perl">Install helpers written in perl (winedump/winemaker)</flag>
- <flag name="prelink">Run prelink on DLLs during build;
- For Gentoo hardened, do not disable if you do not know what this means as it can break things at runtime</flag>
- <flag name="realtime">Pull in <pkg>sys-auth/rtkit</pkg> for low-latency pulseaudio support</flag>
- <flag name="run-exes">Use Wine to open and run .EXE and .MSI files</flag>
- <flag name="samba">Add support for NTLM auth. See:
- https://web.archive.org/web/20160108123008/http://wiki.winehq.org:80/NtlmAuthSetupGuide and
- https://web.archive.org/web/20150906013746/http://wiki.winehq.org/NtlmSigningAndSealing
- (these pages are not currently in the updated WineHQ Wiki).</flag>
- <flag name="sdl">Add support for gamepad detection using SDL</flag>
- <flag name="udev">Use <pkg>virtual/libudev</pkg> to provide plug and play support</flag>
- <flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> to unwind the stack</flag>
- <flag name="usb">Use <pkg>virtual/libusb</pkg> to provide USB support</flag>
- <flag name="vkd3d">Use <pkg>app-emulation/vkd3d</pkg> to provide Direct3D 12 support</flag>
- <flag name="vulkan">Enable Vulkan drivers</flag>
+ <flag name="perl">Install helpers that require perl (winedump/winemaker)</flag>
+ <flag name="samba">Pull in <pkg>net-fs/samba</pkg> with winbind for NTLM auth support</flag>
+ <flag name="sdl">Enable gamepad support using <pkg>media-libs/libsdl2</pkg></flag>
+ <flag name="vkd3d">Enable DirectX 12 support using <pkg>app-emulation/vkd3d</pkg></flag>
+ <flag name="wow64">
+ Enable running 32bit applications without 32bit ELF
+ multilib by mapping to 64bit calls (experimental,
+ *may* have worse/unusable OpenGL performance or other
+ issues compared to USE=abi_x86_32, also lacks 16bit
+ support) -- still need <pkg>dev-util/mingw64-toolchain</pkg>
+ with abi_x86_32 which itself does not need multilib
+ </flag>
</use>
<upstream>
+ <bugs-to>https://bugs.winehq.org/describecomponents.cgi?product=Wine</bugs-to>
<remote-id type="sourceforge">wine</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/wine-vanilla/wine-vanilla-6.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.0.ebuild
deleted file mode 100644
index a22f22a5cc6f..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-6.0.ebuild
+++ /dev/null
@@ -1,578 +0,0 @@
-# Copyright 1999-2021 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=""
-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="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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:5.1.1 )
- 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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-6.3-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.3-r1.ebuild
deleted file mode 100644
index 07ad394fda7a..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-6.3-r1.ebuild
+++ /dev/null
@@ -1,580 +0,0 @@
-# Copyright 1999-2021 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="20210302"
-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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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"
- "${PATCHDIR}/patches/${MY_PN}-6.3-Fix-nine.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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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-6.4.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.4.ebuild
deleted file mode 100644
index 7c3b8aca83fe..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-6.4.ebuild
+++ /dev/null
@@ -1,577 +0,0 @@
-# Copyright 1999-2021 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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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() {
- # 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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-6.5.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.5.ebuild
deleted file mode 100644
index 7c3b8aca83fe..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-6.5.ebuild
+++ /dev/null
@@ -1,577 +0,0 @@
-# Copyright 1999-2021 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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.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() {
- # 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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-6.6.ebuild b/app-emulation/wine-vanilla/wine-vanilla-6.6.ebuild
deleted file mode 100644
index 32fbb98391a5..000000000000
--- a/app-emulation/wine-vanilla/wine-vanilla-6.6.ebuild
+++ /dev/null
@@ -1,577 +0,0 @@
-# Copyright 1999-2021 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 mingw +mono mp3 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 usb 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}] )
- 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}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.1.1 )
- 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() {
- # 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
-
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
-
- 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 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)
- # TODO: Will bug 685172 still need special handling?
- $(use_with mingw)
- $(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 usb)
- $(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}" \
- virtx emake 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; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
- fi
-
- 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-7.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
new file mode 100644
index 000000000000..583683c9685c
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
@@ -0,0 +1,383 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.2
+WINE_MONO=7.0.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind debug custom-cflags +fontconfig +gecko gphoto2
+ +gstreamer kerberos ldap +mingw +mono netapi nls odbc openal
+ opencl +opengl osmesa pcap perl pulseaudio samba scanner +sdl
+ selinux +ssl +truetype udev udisks +unwind usb v4l +vkd3d +vulkan
+ +xcomposite xinerama
+"
+# bug #551124 for truetype
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
+ openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )
+ nls? ( sys-devel/gettext )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.0-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will fail, abort early
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with ldap)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vkd3d)
+ $(use_with vulkan)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # would rather not have to worry about fixing old branches
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ # CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
+ if (( bits == 64 )); then
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ if use mingw; then
+ : "${CROSSCFLAGS:=$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{CC,{C,LD}FLAGS}
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ if use mingw; then
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+ use debug ||
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
+ fi
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild
new file mode 100644
index 000000000000..d9243957dadb
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild
@@ -0,0 +1,389 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.3
+WINE_MONO=7.4.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux +ssl +strip +truetype
+ udev udisks +unwind usb v4l +vulkan +xcomposite xinerama
+"
+# bug #551124 for truetype
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ dev-lang/perl
+ sys-devel/binutils
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ ) )
+ nls? ( sys-devel/gettext )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will fail, abort early
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
+ # https://github.com/gentoo/gentoo/pull/28355
+ [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
+ append-ldflags -fuse-ld=bfd
+
+ # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but
+ # would rather not have to worry about fixing old branches
+ append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ # build using upstream's way (--with-wine64)
+ # order matters: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ pe_arch=i386
+ if (( bits == 64 )); then
+ pe_arch=x86_64
+ : "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+ : "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
+
+ if use mingw; then
+ # CROSSCC is no longer recognized by Wine, but still use for now
+ # (future handling for CROSS* variables is subject to changes)
+ conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
+
+ # use *FLAGS for mingw, but strip unsupported
+ : "${CROSSCFLAGS:=$(
+ # >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
+ append-cflags -fno-strict-aliasing
+
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ # -mavx with mingw-gcc has a history of obscure issues and
+ # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
+ # crashes with -march=skylake >=wine-8.10, similar issues with
+ # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273
+ append-cflags -mno-avx #912268
+
+ CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(
+ filter-flags '-fuse-ld=*'
+ CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # symlink for plain 'wine' and install its man pages if 64bit-only #404331
+ if use abi_x86_64 && use !abi_x86_32; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild
new file mode 100644
index 000000000000..d17683e5dff0
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.0.ebuild
@@ -0,0 +1,428 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=8.1.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* amd64 x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild
new file mode 100644
index 000000000000..bb8117b3b1b3
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.5.ebuild
@@ -0,0 +1,431 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.6.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.6.ebuild
new file mode 100644
index 000000000000..bb8117b3b1b3
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.6.ebuild
@@ -0,0 +1,431 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild
new file mode 100644
index 000000000000..bb8117b3b1b3
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild
@@ -0,0 +1,431 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.0.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild
new file mode 100644
index 000000000000..7a5546bbfd70
--- /dev/null
+++ b/app-emulation/wine-vanilla/wine-vanilla-9.8.ebuild
@@ -0,0 +1,432 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
+
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.0
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
+else
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
+"
+
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
+SLOT="${PV}"
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
+ X? ( truetype )
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
+
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
+RESTRICT="test"
+
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-LibXML
+ )
+ samba? ( net-fs/samba[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.patch
+ "${FILESDIR}"/${P}-musl-ioctls-header.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ fi
+ done
+ fi
+}
+
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
+ fi
+
+ default
+
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
+ fi
+ fi
+
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
+
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
+
+ # always update for patches (including user's wrt #432348)
+ eautoreconf
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
+}
+
+src_configure() {
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
+
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
+
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
+
+ $(use_with X x)
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with cups)
+ $(use_with fontconfig)
+ $(use_with gphoto2 gphoto)
+ $(use_with gstreamer)
+ $(use_with kerberos gssapi)
+ $(use_with kerberos krb5)
+ $(use_with mingw)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
+ $(use_with pcap)
+ $(use_with pulseaudio pulse)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_with smartcard pcsclite)
+ $(use_with ssl gnutls)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
+ $(use_with unwind)
+ $(use_with usb)
+ $(use_with v4l v4l2)
+ $(use_with vulkan)
+ $(use_with wayland)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(usev !odbc ac_cv_lib_soname_odbc=)
+ )
+
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
+
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
+
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
+
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
+
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
+
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
+
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
+
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
+ fi
+
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
+ fi
+
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
+
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
+
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
+
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
+ fi
+
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
+ done
+
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || die
+ fi
+ fi
+
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
+}
+
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
+ fi
+
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
+}
+
+pkg_postrm() {
+ eselect wine update --if-unset || die
+}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
index 32fbb98391a5..bf09a0f972d5 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
@@ -1,577 +1,431 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-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"
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit autotools flag-o-matic multilib multilib-build optfeature
+inherit prefix toolchain-funcs wrapper
-inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
+WINE_GECKO=2.47.4
+WINE_MONO=9.1.0
-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"
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
- SRC_URI=""
- #KEYWORDS=""
+ EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git"
else
- MAJOR_V=$(ver_cut 1)
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
+ (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0
+ SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz"
+ S="${WORKDIR}/wine-${PV}"
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
+HOMEPAGE="
+ https://www.winehq.org/
+ https://gitlab.winehq.org/wine/wine/
"
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff"
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 mingw +mono mp3 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 usb v4l vkd3d vulkan +X +xcomposite xinerama +xml"
-REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+IUSE="
+ +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos
+ llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer
+ kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap
+ perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip
+ +truetype udev udisks +unwind usb v4l +vulkan wayland wow64
+ +xcomposite xinerama"
+# bug #551124 for truetype
+# TODO?: wow64 can be done without mingw if using clang (needs bug #912237)
+REQUIRED_USE="
X? ( truetype )
- elibc_glibc? ( threads )
- osmesa? ( opengl )
- test? ( abi_x86_32 )
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
+ crossdev-mingw? ( mingw )
+ wow64? ( abi_x86_64 !abi_x86_32 mingw )
+"
-# FIXME: the test suite is unsuitable for us; many tests require net access
-# or fail due to Xvfb's opengl limitations.
+# tests are non-trivial to run, can hang easily, don't play well with
+# sandbox, and several need real opengl/vulkan or network access
RESTRICT="test"
-COMMON_DEPEND="
+# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked
+WINE_DLOPEN_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/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXrender[${MULTILIB_USEDEP}]
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ opengl? (
+ media-libs/libglvnd[X,${MULTILIB_USEDEP}]
+ osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
+ )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ )
+ cups? ( net-print/cups[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+"
+WINE_COMMON_DEPEND="
+ ${WINE_DLOPEN_DEPEND}
+ X? (
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${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}] )
+ capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] )
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
- gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
- gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
gstreamer? (
+ dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
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}] )
- 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}] )
+ odbc? ( dev-db/unixODBC[${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}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] )
+ smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] )
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
- udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
- v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${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}
+ unwind? (
+ llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] )
+ !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] )
+ )
+ usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] )
+ wayland? (
+ dev-libs/wayland[${MULTILIB_USEDEP}]
+ x11-libs/libxkbcommon[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${WINE_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.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:6.1.1 )
+ dos? (
+ || (
+ games-emulation/dosbox
+ games-emulation/dosbox-staging
+ )
+ )
+ gecko? (
+ app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}]
+ wow64? ( app-emulation/wine-gecko[abi_x86_32] )
+ )
+ gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] )
+ mono? ( app-emulation/wine-mono:${WINE_MONO} )
perl? (
dev-lang/perl
- dev-perl/XML-Simple
- )
- pulseaudio? (
- realtime? ( sys-auth/rtkit )
+ dev-perl/XML-LibXML
)
- samba? ( >=net-fs/samba-3.0.25[winbind] )
+ samba? ( net-fs/samba[winbind] )
selinux? ( sec-policy/selinux-wine )
- udisks? ( sys-fs/udisks:2 )"
-
-# tools/make_requests requires perl
-DEPEND="${COMMON_DEPEND}
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="
+ ${WINE_COMMON_DEPEND}
+ sys-kernel/linux-headers
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
+ dev-lang/perl
+ sys-devel/bison
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 )"
+ mingw? ( !crossdev-mingw? (
+ >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
+ wow64? ( dev-util/mingw64-toolchain[abi_x86_32] )
+ ) )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )
+"
+IDEPEND=">=app-eselect/eselect-wine-2"
-# 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"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __clear_cache # unused on amd64+x86 (bug #900338)
+ res_getservers # false positive
+)
+QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
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"
+ "${FILESDIR}"/${PN}-7.0-noexecstack.patch
+ "${FILESDIR}"/${PN}-7.20-unwind.patch
+ "${FILESDIR}"/${PN}-8.13-rpath.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() {
- # 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"
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) \
+ $(use abi_x86_32 || use wow64 && echo i686${mingw}); do
+ if ! type -P ${mingw}-gcc >/dev/null; then
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
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 " crossdev --target ${mingw}"
eerror
- return 1
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
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
+ done
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
+src_prepare() {
+ # sanity check, bumping these has a history of oversights
+ local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \
+ dlls/appwiz.cpl/addons.c || die)
+ if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then
+ local gmfatal=
+ [[ ${PV} == *9999 ]] && gmfatal=nonfatal
+ ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)"
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
-}
+ default
-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
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # if used without --target *-windows, then gets used in install
+ # phase despite USE=mingw, drop as a quick fix for now
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # fails in ./configure unless --enable-archs is passed, allow to
+ # bypass with EXTRA_ECONF but is currently considered unsupported
+ # (by Gentoo) as additional work is needed for (proper) support
+ # note: also fails w/ :17, but unsure if safe to drop w/o mingw
+ [[ ${EXTRA_ECONF} == *--enable-archs* ]] ||
+ die "building ${PN} with clang is only supported with USE=mingw"
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- 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
+ # ensure .desktop calls this variant + slot
+ sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
- l10n_find_plocales_changes "${S}/po" "" ".po"
-}
-
-src_prepare() {
+ # datadir is not where wine-mono is installed, so prefixy alternate paths
+ hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c
- eapply_bin(){
- local patch
- for patch in ${PATCHES_BIN[@]}; do
- patchbin --nogit < "${patch}" || die
- done
- }
-
- local md5="$(md5sum server/protocol.def)"
-
- default
- eapply_bin
+ # always update for patches (including user's wrt #432348)
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)
+ tools/make_requests || die # perl
+ # tip: if need more for user patches, with portage can e.g. do
+ # echo "post_src_prepare() { tools/make_specfiles || die; }" \
+ # > /etc/portage/env/app-emulation/wine-vanilla
}
src_configure() {
- wine_compiler_check || die
+ WINE_PREFIX=/usr/lib/${P}
+ WINE_DATADIR=/usr/share/${P}
- export LDCONFIG=/bin/true
- use custom-cflags || strip-flags
- if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
- fi
+ local conf=(
+ --prefix="${EPREFIX}"${WINE_PREFIX}
+ --datadir="${EPREFIX}"${WINE_DATADIR}
+ --includedir="${EPREFIX}"/usr/include/${P}
+ --libdir="${EPREFIX}"${WINE_PREFIX}
+ --mandir="${EPREFIX}"${WINE_DATADIR}/man
- multilib-minimal_src_configure
-}
+ $(usev wow64 --enable-archs=x86_64,i386)
+
+ $(use_enable gecko mshtml)
+ $(use_enable mono mscoree)
+ --disable-tests
-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 X x)
$(use_with alsa)
$(use_with capi)
- $(use_with lcms cms)
$(use_with cups)
- $(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 gssapi)
$(use_with kerberos krb5)
- $(use_with ldap)
- # TODO: Will bug 685172 still need special handling?
$(use_with mingw)
- $(use_enable mono mscoree)
- $(use_with mp3 mpg123)
$(use_with netapi)
$(use_with nls gettext)
- $(use_with openal)
+ $(use_with odbc)
$(use_with opencl)
$(use_with opengl)
$(use_with osmesa)
- $(use_with oss)
+ --without-oss # media-sound/oss is not packaged (OSSv4)
$(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 smartcard pcsclite)
+ $(use_with ssl gnutls)
$(use_with truetype freetype)
$(use_with udev)
+ $(use_with udisks dbus) # dbus is only used for udisks
$(use_with unwind)
$(use_with usb)
$(use_with v4l v4l2)
- $(use_with vkd3d)
$(use_with vulkan)
- $(use_with X x)
- $(use_with X xfixes)
+ $(use_with wayland)
$(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
+ filter-lto # build failure
+ filter-flags -Wl,--gc-sections # runtime issues (bug #931329)
+ use custom-cflags || strip-flags # can break in obscure ways at runtime
+
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
- if use amd64; then
- if [[ ${ABI} == amd64 ]]; then
- myconf+=( --enable-win64 )
- else
- myconf+=( --disable-win64 )
- fi
+ if use mingw; then
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
- # Note: using --with-wine64 results in problems with multilib.eclass
- # CC/LD hackery. We're using separate tools instead.
- fi
+ # CROSSCC was formerly recognized by wine, thus been using similar
+ # variables (subject to change, esp. if ever make a mingw.eclass).
+ local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}
+ local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}}
+ local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86)
- ECONF_SOURCE=${S} \
- econf "${myconf[@]}"
- emake depend
-}
+ conf+=(
+ ac_cv_prog_x86_64_CC="${mingwcc_amd64}"
+ ac_cv_prog_i386_CC="${mingwcc_x86}"
-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
+ CROSSCFLAGS="${CROSSCFLAGS:-$(
+ filter-flags '-fstack-protector*' #870136
+ filter-flags '-mfunction-return=thunk*' #878849
- WINEPREFIX="${T}/.wine-${ABI}" \
- virtx emake test
- fi
-}
+ # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
+ # strip-unsupported-flags miss these during compile-only tests
+ # (primarily done for 23.0 profiles' -z, not full coverage)
+ filter-flags '-Wl,-z,*'
-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
+ CC=${mingwcc} test-flags-CC ${CFLAGS:--O2}
+ )}"
- einstalldocs
- prune_libtool_files --all
+ CROSSLDFLAGS="${CROSSLDFLAGS:-$(
+ filter-flags '-fuse-ld=*'
- 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
+ CC=${mingwcc} test-flags-CCLD ${LDFLAGS}
+ )}"
+ )
fi
- # Remove wineconsole if neither backend is installed #551124
- if ! use X; then
- rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
- rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
-
- if ! use mingw; then
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/{,fakedlls/}wineconsole.exe* || die
- }
- else
- rm_wineconsole() {
- rm "${D%/}/usr/$(get_libdir)/wine-${WINE_VARIANT}"/wine/wineconsole.exe* || die
- }
+ # order matters with multilib: configure+compile 64->32, install 32->64
+ local -i bits
+ for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do
+ (
+ einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..."
+
+ mkdir ../build${bits} || die
+ cd ../build${bits} || die
+
+ if (( bits == 64 )); then
+ conf+=( --enable-win64 )
+ elif use amd64; then
+ conf+=(
+ $(usev abi_x86_64 --with-wine64=../build64)
+ TARGETFLAGS=-m32 # for widl
+ )
+ # _setup is optional, but use over Wine's auto-detect (+#472038)
+ multilib_toolchain_setup x86
fi
- multilib_foreach_abi rm_wineconsole
- fi
+ ECONF_SOURCE=${S} econf "${conf[@]}"
+ )
+ done
+}
- 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}
+src_compile() {
+ use abi_x86_64 && emake -C ../build64 # do first
+ use abi_x86_32 && emake -C ../build32
+}
- # Avoid double prefix from dosym and make_wrapper
- MY_PREFIX=${MY_PREFIX#${EPREFIX}}
+src_install() {
+ use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install
+ use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last
- 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
+ # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64,
+ # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where
+ # one or the other could be missing and that is unexpected for users
+ # and some tools like winetricks)
+ if use abi_x86_64; then
+ if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine64 ${WINE_PREFIX}/bin/wine
+ dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
+
+ # also install wine(1) man pages (incl. translations)
+ local man
+ for man in ../build64/loader/wine.*man; do
+ : "${man##*/wine}"
+ : "${_%.*}"
+ insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
+ newins ${man} wine.1
+ done
+ elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then
+ dosym wine ${WINE_PREFIX}/bin/wine64
+ dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader
+ fi
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##*/}"
+ use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \
+ "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die
+
+ # create variant wrappers for eselect-wine
+ local bin
+ for bin in "${ED}"${WINE_PREFIX}/bin/*; do
+ make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}"
done
- eshopts_pop
-}
-pkg_postinst() {
- eselect wine register ${P}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine register --vanilla ${P} || die
+ if use mingw; then
+ # don't let portage try to strip PE files with the wrong
+ # strip executable and instead handle it here (saves ~120MB)
+ dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
+
+ if use strip; then
+ ebegin "Stripping Windows (PE) binaries"
+ find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
+ -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} +
+ eend ${?} || 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
+ dodoc ANNOUNCE* AUTHORS README* documentation/README*
}
-pkg_prerm() {
- eselect wine deregister ${P}
- if [[ ${PN} == "wine-vanilla" ]]; then
- eselect wine deregister --vanilla ${P} || die
+pkg_postinst() {
+ if use !abi_x86_32 && use !wow64; then
+ ewarn "32bit support is disabled. While 64bit applications themselves will"
+ ewarn "work, be warned that it is not unusual that installers or other helpers"
+ ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32,"
+ ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib."
+ elif use abi_x86_32 && { use opengl || use vulkan; } &&
+ has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'
+ then
+ ewarn "x11-drivers/nvidia-drivers is installed but is built without"
+ ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit"
+ ewarn "applications under ${PN} will likely not be usable."
fi
- eselect wine update --all --if-unset || die
+ optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \
+ games-util/game-device-udev-rules
+
+ eselect wine update --if-unset || die
}
pkg_postrm() {
- xdg_desktop_database_update
+ eselect wine update --if-unset || die
}
diff --git a/app-emulation/winetricks/Manifest b/app-emulation/winetricks/Manifest
index 7cc8561fe3aa..bb6973b41b47 100644
--- a/app-emulation/winetricks/Manifest
+++ b/app-emulation/winetricks/Manifest
@@ -1,3 +1,3 @@
-DIST winetricks-20200412.tar.gz 684548 BLAKE2B e29eba0c73ec0649523dac0f0efd145a5c9fe60d94ae98bc55ec430f511cc5bdf3149d87289973a85a373f2f91c3bd5521470853e06f5ec4af83fc810aa4fdc5 SHA512 d6ca5628b7d296b3168ef088ca0b03aff8b73da8a139061ca64fac0685ec29bf2b7e075b89226f8ce3af511947eac45d4c72cfb1199e6b72666fc67547b77588
-DIST winetricks-20210206.tar.gz 690837 BLAKE2B a1d068e9659f6b176873af49994f1e0ca884eaa1ac9b8f5dd6d7abe79a2b8b827a2334efa7862547b17cca5bcfc285ce2d65ac0e5736cddcc777d4df2dbc7af9 SHA512 57f2ce5fe531eb6ee9a578ca565fadf5ef2e6e1379abee640ee9dc0d6000c92ce983c7507002bc6ace613d6d0dd03260ede11f7bf267adf19eb67900a0449f58
+DIST winetricks-20230212.tar.gz 694504 BLAKE2B 8f36a618edd0b17ccb7dbd1f054d45d2d35c3c8e5bfb2f12d91b8f9c87c9942db5b430a2b3017a42c3900dfe8f0510a6b8a6d78035e3fb467d88a3db0b64eff8 SHA512 3d2211091754a2a254d5ac8dab27d59d488d512149d8060828cf9d69df96f5ccad183f2ba9f2172452a2ae322236e86e7fce560836a2bc05dc9a36c2a422f245
+DIST winetricks-20240105.tar.gz 675763 BLAKE2B 0ca29d06ae35c95027ead0da2fa26b2950b4b4d495b61c972b9f93ae26fcadc7891931224bc2a8776e06f8bf2816e2fd5b84a0ef342de296aae20129dd5480b0 SHA512 254b505e1175477df3a27b361f227a02a2346a1b7ace255b6170e8bd463883dda8fef9fcbf2cd54606d69742fd6236f9aa58f589e2a34eb66bd04dfaa7bd6799
DIST winetricks-gentoo-2012.11.24.tar.bz2 6398 BLAKE2B 54a4502f6e8ef15d21b02c43e3ce599e32d476c2559246064de14cc4ce2243ff11dde681d24c8a7f4913c3d7a10b855bda47e8fb8ecad31e00d839705416be6f SHA512 59c93b73f3a7b2d11aefcde2ff66659ff1de21ad4b5f232f4b60572f3a48b15a6c49f369b1696862bf1b33fde190bf5598945e9536fb41ddec42d8def4d2be2a
diff --git a/app-emulation/winetricks/metadata.xml b/app-emulation/winetricks/metadata.xml
index 1f2cd68b5095..0ada2835dd03 100644
--- a/app-emulation/winetricks/metadata.xml
+++ b/app-emulation/winetricks/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chiitoo@gentoo.org</email>
<name>Jimi Huotari</name>
</maintainer>
- <maintainer type="person">
- <email>np-hardass@gentoo.org</email>
- <name>Adam Feldman</name>
- </maintainer>
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
diff --git a/app-emulation/winetricks/winetricks-20210206.ebuild b/app-emulation/winetricks/winetricks-20230212.ebuild
index 60fe34b12e54..afdf44a0f734 100644
--- a/app-emulation/winetricks/winetricks-20210206.ebuild
+++ b/app-emulation/winetricks/winetricks-20230212.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit xdg
diff --git a/app-emulation/winetricks/winetricks-20200412.ebuild b/app-emulation/winetricks/winetricks-20240105.ebuild
index aa2e4efcf322..91fa5d31a9b7 100644
--- a/app-emulation/winetricks/winetricks-20200412.ebuild
+++ b/app-emulation/winetricks/winetricks-20240105.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit desktop xdg
+inherit xdg
if [[ ${PV} == "99999999" ]] ; then
EGIT_REPO_URI="https://github.com/Winetricks/${PN}.git"
@@ -11,7 +11,7 @@ if [[ ${PV} == "99999999" ]] ; then
SRC_URI=""
else
SRC_URI="https://github.com/Winetricks/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86"
+ KEYWORDS="~amd64 ~x86"
fi
wtg="winetricks-gentoo-2012.11.24"
@@ -84,10 +84,8 @@ src_test() {
src_install() {
default
- if use gtk || use kde; then
- cd "${WORKDIR}/${wtg}" || die
- domenu winetricks.desktop
- insinto /usr/share/icons/hicolor/scalable/apps
- doins wine-winetricks.svg
+ if ! use gtk && ! use kde; then
+ rm -r "${ED}"/usr/share/applications || die
+ rm -r "${ED}"/usr/share/icons || die
fi
}
diff --git a/app-emulation/winetricks/winetricks-99999999.ebuild b/app-emulation/winetricks/winetricks-99999999.ebuild
index 89dcbb57c973..91fa5d31a9b7 100644
--- a/app-emulation/winetricks/winetricks-99999999.ebuild
+++ b/app-emulation/winetricks/winetricks-99999999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit xdg
diff --git a/app-emulation/x48/files/x48-0.6.4-configure.patch b/app-emulation/x48/files/x48-0.6.4-configure.patch
new file mode 100644
index 000000000000..ea3a883991a8
--- /dev/null
+++ b/app-emulation/x48/files/x48-0.6.4-configure.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac 2024-05-12 12:01:50.591368113 -0000
++++ b/configure.ac 2024-05-12 12:05:39.116023749 -0000
+@@ -10,6 +10,8 @@
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADER([config.h])
+
++
++AC_USE_SYSTEM_EXTENSIONS
+ # Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
diff --git a/app-emulation/x48/metadata.xml b/app-emulation/x48/metadata.xml
index e4472f348708..44a724679bcf 100644
--- a/app-emulation/x48/metadata.xml
+++ b/app-emulation/x48/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
diff --git a/app-emulation/x48/x48-0.6.4-r2.ebuild b/app-emulation/x48/x48-0.6.4-r2.ebuild
index 74f99e360606..190b92ee0d07 100644
--- a/app-emulation/x48/x48-0.6.4-r2.ebuild
+++ b/app-emulation/x48/x48-0.6.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="HP48 Calculator Emulator"
HOMEPAGE="http://x48.berlios.de/"
-SRC_URI="mirror://sourceforge/x48.berlios/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/x48.berlios/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
diff --git a/app-emulation/x48/x48-0.6.4-r3.ebuild b/app-emulation/x48/x48-0.6.4-r3.ebuild
new file mode 100644
index 000000000000..c584c99e820a
--- /dev/null
+++ b/app-emulation/x48/x48-0.6.4-r3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="HP48 Calculator Emulator"
+HOMEPAGE="https://sourceforge.net/projects/x48.berlios/"
+SRC_URI="https://downloads.sourceforge.net/x48.berlios/${P}.tar.bz2"
+S=${WORKDIR}
+
+LICENSE="GPL-3"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="readline"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-libs/libXt"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-static.patch
+ "${FILESDIR}"/${P}-void_return.patch
+ "${FILESDIR}"/${P}-configure.patch
+ )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable readline)
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/"${PN}"/romdump
+ doins -r romdump/{README,ROMDump*}
+}
+
+pkg_postinst() {
+ elog "The X48 emulator requires an HP48 ROM image to run."
+ elog
+ elog "If you own an HP-48 calculator, you can use the ROMDump utility"
+ elog "included with this package to obtain it from your calculator."
+ elog "The instructions of how to do this are included in the package."
+ elog
+ elog "Alternatively, HP has provided the ROM images for non-commercial"
+ elog "use only."
+ elog
+ elog "Due to confusion over the legal status of these ROMs you must"
+ elog "manually download one from http://www.hpcalc.org/hp48/pc/emulators/"
+ elog
+ elog "If you do not know which one to use, try 'HP 48GX Revision R ROM.'"
+ elog
+ elog "Once you have a ROM, you will need to install it by running:"
+ elog
+ elog "x48 -rom gxrom-r"
+ elog
+ elog "You will only have to do this the first time you run X48. The"
+ elog "ROM will be stored in ~/.hp48/rom for future runs."
+}
diff --git a/app-emulation/xcpc/Manifest b/app-emulation/xcpc/Manifest
index 202bdb898f57..23162f00274d 100644
--- a/app-emulation/xcpc/Manifest
+++ b/app-emulation/xcpc/Manifest
@@ -1 +1 @@
-DIST xcpc-20070122.tar.gz 496627 BLAKE2B 13fc9974e3810fa4ef45e90764641cb0a220657055829d1ec9a185c1a894234d3a654581e317327ac5937454b9dfab14af2654775157041edcc0176975753835 SHA512 7f5700340fbbf23d2f2111e31ce803c846799ef6681cf63e28bc67564e092534fc4140cb99d718fae9126668ee8f3053bbd097537c04637b5b809ce7b986dd26
+DIST xcpc-0.37.0.tar.gz 1094259 BLAKE2B 670de05f53d05d375c9cb252e672f8fa9027419302b521b88dc1904ec99571fa95b390bfdc5eea3eb2355730c02a955c10cbc2f29d7e4c52506173e8f5d6c540 SHA512 8579711595ac5234c1c8a6e9d0279950c97966a2a8919d4f0ba404c5bd5609f299ab0b5131d6973f5decfc12bff184facf3009522bef568a108b5cfb7e74be11
diff --git a/app-emulation/xcpc/metadata.xml b/app-emulation/xcpc/metadata.xml
index 55dccaa5b8f2..d63de1a63526 100644
--- a/app-emulation/xcpc/metadata.xml
+++ b/app-emulation/xcpc/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">xcpc</remote-id>
+ <remote-id type="bitbucket">ponceto/xcpc</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-emulation/xcpc/xcpc-0.37.0-r1.ebuild b/app-emulation/xcpc/xcpc-0.37.0-r1.ebuild
new file mode 100644
index 000000000000..130b749e94db
--- /dev/null
+++ b/app-emulation/xcpc/xcpc-0.37.0-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit xdg
+
+DESCRIPTION="XCPC is a portable Amstrad CPC 464/664/6128 emulator written in C"
+HOMEPAGE="http://www.xcpc-emulator.net/doku.php/index"
+SRC_URI="https://bitbucket.org/ponceto/xcpc/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-arch/bzip2
+ sys-libs/zlib
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXext"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf \
+ --disable-athena \
+ --disable-motif2 \
+ --with-x11-toolkit=gtk3
+}
diff --git a/app-emulation/xcpc/xcpc-20070122.ebuild b/app-emulation/xcpc/xcpc-20070122.ebuild
deleted file mode 100644
index bfe344f89853..000000000000
--- a/app-emulation/xcpc/xcpc-20070122.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="XCPC is a portable Amstrad CPC 464/664/6128 emulator written in C."
-HOMEPAGE="http://www.xcpc-emulator.net/doku.php/index"
-SRC_URI="http://sourceforge.net/projects/${PN}/files/${PN}/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="app-emulation/libdsk"
diff --git a/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch b/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch
index d431cdfcf999..29c8ebc91074 100644
--- a/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch
+++ b/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Guest-Attributes.patch
@@ -1,5 +1,5 @@
---- usr/sbin/xe-update-guest-attrs.orig 2013-06-14 07:57:18.000000000 -0500
-+++ usr/sbin/xe-update-guest-attrs 2014-04-19 13:38:14.627477193 -0500
+--- a/xe-update-guest-attrs
++++ b/xe-update-guest-attrs
@@ -1,6 +1,7 @@
#!/bin/sh
diff --git a/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch b/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch
index 45b0bbc56c69..d1ec22668603 100644
--- a/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch
+++ b/app-emulation/xe-guest-utilities/files/xe-guest-utilities-6.2.0_p1120-Linux-Distribution.patch
@@ -1,5 +1,5 @@
---- usr/sbin/xe-linux-distribution.orig 2013-06-14 07:57:18.000000000 -0500
-+++ usr/sbin/xe-linux-distribution 2014-04-19 13:54:13.270477193 -0500
+--- a/xe-linux-distribution
++++ b/xe-linux-distribution
@@ -1,6 +1,7 @@
#! /bin/sh
diff --git a/app-emulation/xe-guest-utilities/metadata.xml b/app-emulation/xe-guest-utilities/metadata.xml
index 3ff5694597b3..c53ad2005ebe 100644
--- a/app-emulation/xe-guest-utilities/metadata.xml
+++ b/app-emulation/xe-guest-utilities/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>chicago@blkid.net</email>
@@ -21,6 +21,6 @@
<name>Gentoo Xen Project</name>
</maintainer>
<use>
- <flag name="xenstore">Use xenstore binaries bundled by Citrix instead of building app-emulation/xen-tools</flag>
+ <flag name="xenstore">Use xenstore binaries bundled by Citrix instead of building <pkg>app-emulation/xen-tools</pkg></flag>
</use>
</pkgmetadata>
diff --git a/app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120.ebuild b/app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120-r1.ebuild
index d3211b5fdcf1..145e42fb64b0 100644
--- a/app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120.ebuild
+++ b/app-emulation/xe-guest-utilities/xe-guest-utilities-6.2.0_p1120-r1.ebuild
@@ -1,43 +1,50 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils rpm linux-info
-DESCRIPTION="XenServer Virtual Machine Tools"
-HOMEPAGE="https://www.citrix.com/"
+EAPI=8
+
+inherit rpm linux-info udev
+
PV_BASE=${PV/_*}
PV_FULL=${PV/_p/-}
+
+DESCRIPTION="XenServer Virtual Machine Tools"
+HOMEPAGE="https://www.citrix.com/"
SRC_URI="http://updates.vmd.citrix.com/XenServer/${PV_BASE}/rhel4x/SRPMS/xe-guest-utilities-${PV_FULL}.src.rpm"
+S="${WORKDIR}"
+
LICENSE="LGPL-3 LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="xenstore"
-DEPEND="app-arch/rpm2targz"
+
+BDEPEND="app-arch/rpm2targz"
RDEPEND="
!xenstore? ( app-emulation/xen-tools )
- xenstore? ( !app-emulation/xen-tools )"
-S=${WORKDIR}
+ xenstore? ( !app-emulation/xen-tools )
+"
+
CONFIG_CHECK="~XEN_COMPAT_XENFS ~XENFS"
QA_PREBUILT="usr/bin/xenstore* usr/bin/xeninfo"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.0_p1120-Guest-Attributes.patch
+ "${FILESDIR}"/${PN}-6.2.0_p1120-Linux-Distribution.patch
+)
+
src_unpack() {
rpm_src_unpack ${A}
# Upstream includes xenstore-sources.tar.bz2
# but it is NOT the complete source :-(
}
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-6.2.0_p1120-Guest-Attributes.patch
- epatch "${FILESDIR}"/${PN}-6.2.0_p1120-Linux-Distribution.patch
-}
-
src_install() {
- newinitd "${FILESDIR}/xe-daemon.initd" xe-daemon
+ newinitd "${FILESDIR}"/xe-daemon.initd xe-daemon
dosbin xe-daemon
dosbin xe-linux-distribution
dosbin xe-update-guest-attrs
- insinto /lib/udev/rules.d
- newins xen-vcpu-hotplug.rules 10-xen-vcpu-hotplug.rules
+
+ udev_newrules xen-vcpu-hotplug.rules 10-xen-vcpu-hotplug.rules
if use xenstore; then
dobin usr/bin/xeninfo
@@ -47,6 +54,8 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
+
if [ ! -e /etc/runlevels/boot/xe-daemon ]; then
elog "To start the xe-daemon automatically by default"
elog "you should add it to the boot runlevel :"
diff --git a/app-emulation/xen-pvgrub/Manifest b/app-emulation/xen-pvgrub/Manifest
deleted file mode 100644
index 408b35150b6b..000000000000
--- a/app-emulation/xen-pvgrub/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-DIST grub-0.97.tar.gz 971783 BLAKE2B a7b6feb6dddb6eeb20e027071091b2d37930e5b40687f8c8ff860839db208f832713db61389014d21842e1e152cad0466dc9722a79cbb81bfa1566a30b6b82cc SHA512 c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a3628bd00ba4d14a54742bc04848110eb3ae8ca25dbfbaabadb
-DIST lwip-1.3.0.tar.gz 398933 BLAKE2B 3567a593eec3d247213daaaab57d9456c9cae50329498ca55cee7726a59461f8e9d77d96cfc8204d6b7b7962f00664f44d3bc7f16a5a53f5e068a02d405fb457 SHA512 1465b58279af1647f909450e394fe002ca165f0ff4a0254bfa9fe0e64316f50facdde2729d79a4e632565b4500cf4d6c74192ac0dd3bc9fe09129bbd67ba089d
-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.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
-DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9
-DIST zlib-1.2.3.tar.gz 496597 BLAKE2B 603020b70cd52b83e48bde420b86e2acfd29d69bf7476eecbeeb07d1b8bcab703d2cbd3eab77772990bddb8c268f13594592ce985798d49e2d6ba25104d49f22 SHA512 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e
diff --git a/app-emulation/xen-pvgrub/files/newlib-implicits.patch b/app-emulation/xen-pvgrub/files/newlib-implicits.patch
deleted file mode 100644
index 73c04931b31d..000000000000
--- a/app-emulation/xen-pvgrub/files/newlib-implicits.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-diff -ur newlib-1.16.0.orig/newlib/libc/stdlib/wcstoull.c newlib-1.16.0/newlib/libc/stdlib/wcstoull.c
---- newlib/libc/stdlib/wcstoull.c 2007-07-07 04:03:28.000000000 +0800
-+++ newlib/libc/stdlib/wcstoull.c 2012-12-02 14:19:40.905136553 +0800
-@@ -124,7 +124,7 @@
- #include <errno.h>
- #include <stdlib.h>
- #include <reent.h>
--
-+#include <wchar.h>
- #ifndef _REENT_ONLY
-
- unsigned long long
-diff -ur newlib-1.16.0.orig/newlib/doc/makedoc.c
-newlib-1.16.0/newlib/doc/makedoc.c
---- newlib/doc/makedoc.c 2007-01-03 01:59:59.000000000 +0900
-+++ newlib/doc/makedoc.c 2012-12-02 16:53:42.700289294 +0800
-@@ -39,7 +39,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
--
-+#include <string.h>
- #define DEF_SIZE 5000
- #define STACK 50
-
-diff -ur newlib-1.16.0.orig/newlib/libc/reent/lseek64r.c newlib-1.16.0/newlib/libc/reent/lseek64r.c
---- newlib/libc/reent/lseek64r.c 2003-06-04 03:48:07.000000000 +0800
-+++ newlib/libc/reent/lseek64r.c 2012-12-02 18:29:45.435760985 +0800
-@@ -1,8 +1,8 @@
- /* Reentrant versions of lseek system call. */
-
--#include <reent.h>
-+#include "../include/reent.h"
- #include <unistd.h>
--#include <_syslist.h>
-+#include "../include/_syslist.h"
-
- /* Some targets provides their own versions of this functions. Those
- targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
-diff -ur newlib-1.16.0.orig/newlib/libc/stdio64/fseeko64.c newlib-1.16.0/newlib/libc/stdio64/fseeko64.c
---- newlib/libc/stdio64/fseeko64.c 2007-07-14 04:37:53.000000000 +0800
-+++ newlib/libc/stdio64/fseeko64.c 2012-12-02 18:26:29.955778906 +0800
-@@ -119,7 +119,7 @@
- ptr->_errno = EOVERFLOW;
- return EOF;
- }
-- return (_off64_t) _fseeko_r (ptr, fp, offset, whence);
-+ return (_off64_t) _fseeko64_r (ptr, fp, offset, whence);
- }
-
- /* Make sure stdio is set up. */
-
-diff -ur newlib-1.16.0.orig/newlib/libc/reent/fstat64r.c newlib-1.16.0/newlib/libc/reent/fstat64r.c
---- newlib/libc/reent/fstat64r.c 2012-12-03 13:17:26.569703981 +0800
-+++ newlib/libc/reent/fstat64r.c 2003-06-04 03:48:07.000000000 +0800
-@@ -1,10 +1,10 @@
- /* Reentrant versions of fstat system call. This implementation just
- calls the fstat system call. */
-
--#include <reent.h>
-+#include "../include/reent.h">
- #include <unistd.h>
- #include <sys/stat.h>
--#include <_syslist.h>
-+#include "../include/_syslist.h"
-
- #ifdef __LARGE64_FILES
-
-diff -ur newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c newlib-1.16.0/libgloss/i386/cygmon-gmon.c
---- libgloss/i386/cygmon-gmon.c 2002-10-26 03:18:46.000000000 +0800
-+++ libgloss/i386/cygmon-gmon.c 2012-12-03 14:38:41.454257066 +0800
-@@ -68,6 +68,9 @@
-
- #include "cygmon-gmon.h"
-
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <strings.h>
- /*
- * froms is actually a bunch of unsigned shorts indexing tos
- */
-@@ -78,6 +78,8 @@
- static char *s_lowpc = 0;
- static char *s_highpc = 0;
- static unsigned long s_textsize = 0;
-+extern void profil_write(int, char*, int);
-+extern int moncontrol (int);
-
- static int ssiz;
- static char *sbuf;
-diff -ur newlib-1.16.0.orig/newlib/libc/include/_syslist.h
-newlib-1.16.0/newlib/libc/include/_syslist.h
---- newlib/libc/include/_syslist.h 2005-08-23 05:13:35.000000000 +0800
-+++ newlib/libc/include/_syslist.h 2012-12-03 17:20:03.092369483 +0800
-@@ -2,6 +2,7 @@
- and only provide C names, so that we end up in violation of ANSI */
- #ifndef __SYSLIST_H
- #define __SYSLIST_H
-+#include <sys/types.h>
-
- #ifdef MISSING_SYSCALL_NAMES
- #define _close close
-
-#diff -ur newlib-1.16.0.orig/newlib/libc/Makefile.in newlib-1.16.0/newlib/libc/Makefile.in
-#--- newlib/libc/Makefile.in 2007-05-25 01:33:30.000000000 +0800
-#+++ newlib/libc/Makefile.in 2012-12-03 21:52:05.621873084 +0800
-diff -ur newlib-1.16.0.orig/newlib/libc/stdio64/ftello64.c newlib-1.16.0/newlib/libc/stdio64/ftello64.c
---- newlib/libc/stdio64/ftello64.c 2007-07-14 04:37:53.000000000 +0800
-+++ newlib/libc/stdio64/ftello64.c 2012-12-04 18:34:46.491509484 +0800
-@@ -93,7 +93,7 @@
-
- /* Only do 64-bit tell on large file. */
- if (!(fp->_flags & __SL64))
-- return (_off64_t) _ftello_r (ptr, fp);
-+ return (_off64_t) _ftello64_r (ptr, fp);
-
- /* Ensure stdio is set up. */
-
-diff -ur newlib-1.16.0.orig/newlib/libc/reent/open64r.c newlib-1.16.0/newlib/libc/reent/open64r.c
---- newlib/libc/reent/open64r.c 2002-08-27 02:56:06.000000000 +0800
-+++ newlib/libc/reent/open64r.c 2012-12-04 20:06:10.044006769 +0800
-@@ -1,8 +1,8 @@
- /* Reentrant versions of open system call. */
-
--#include <reent.h>
-+#include "../include/reent.h">
- #include <unistd.h>
--#include <fcntl.h>
-+#include <sys/_default_fcntl.h>
- #include <_syslist.h>
-
- #ifdef __LARGE64_FILES
-diff -ur newlib-1.16.0.orig/newlib/libc/reent/signalr.c newlib-1.16.0/newlib/libc/reent/signalr.c
---- newlib/libc/reent/signalr.c 2012-12-05 07:33:25.623393126 +0800
-+++ newlib/libc/reent/signalr.c 2012-12-05 07:34:03.943389613 +0800
-@@ -1,10 +1,10 @@
- /* Reentrant versions of syscalls need to support signal/raise.
- These implementations just call the usual system calls. */
-
--#include <reent.h>
-+#include "../include/reent.h"
- #include <signal.h>
- #include <unistd.h>
--#include <_syslist.h>
-+#include "../include/_syslist.h"
-
- /* Some targets provides their own versions of these functions. Those
- targets should define REENTRANT_SYSCALLS_PROVIDED in TARGET_CFLAGS. */
-
diff --git a/app-emulation/xen-pvgrub/files/xen-4.10-externals.patch b/app-emulation/xen-pvgrub/files/xen-4.10-externals.patch
deleted file mode 100644
index b206144e304e..000000000000
--- a/app-emulation/xen-pvgrub/files/xen-4.10-externals.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/stubdom/Makefile 2013-07-09 18:46:56.000000000 +0800
-+++ b/stubdom/Makefile 2013-07-21 16:07:08.094663570 +0800
-@@ -68,12 +68,12 @@
- ##############
-
- newlib-$(NEWLIB_VERSION).tar.gz:
-- $(FETCHER) $@ $(NEWLIB_URL)/$@
-
- newlib-$(NEWLIB_VERSION): newlib-$(NEWLIB_VERSION).tar.gz
- tar xzf $<
- patch -d $@ -p0 < newlib.patch
- patch -d $@ -p0 < newlib-chk.patch
-+ patch -d $@ -p0 < newlib-implicits.patch
- patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
- find $@ -type f | xargs perl -i.bak \
- -pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
-@@ -85,7 +85,7 @@
- $(NEWLIB_STAMPFILE): mk-headers-$(XEN_TARGET_ARCH) newlib-$(NEWLIB_VERSION)
- mkdir -p newlib-$(XEN_TARGET_ARCH)
- ( cd newlib-$(XEN_TARGET_ARCH) && \
-- CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
-+ CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS)" AR_FOR_TARGET=$(AR) LD_FOR_TARGET=$(LD) LDFLAGS= RANLIB_FOR_TARGET=$(RANLIB) ../newlib-$(NEWLIB_VERSION)/configure --prefix=$(CROSS_PREFIX) --verbose --target=$(GNU_TARGET_ARCH)-xen-elf --enable-newlib-io-long-long --disable-multilib && \
- $(MAKE) DESTDIR= && \
- $(MAKE) DESTDIR= install )
-
-@@ -94,7 +94,6 @@
- ############
-
- zlib-$(ZLIB_VERSION).tar.gz:
-- $(FETCHER) $@ $(ZLIB_URL)/$@
-
- zlib-$(XEN_TARGET_ARCH): zlib-$(ZLIB_VERSION).tar.gz
- tar xzf $<
-@@ -105,7 +104,7 @@
- cross-zlib: $(ZLIB_STAMPFILE)
- $(ZLIB_STAMPFILE): zlib-$(XEN_TARGET_ARCH) $(NEWLIB_STAMPFILE)
- ( cd $< && \
-- CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC=$(CC) ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
-+ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" CC="$(CC)" ./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf && \
- $(MAKE) DESTDIR= libz.a && \
- $(MAKE) DESTDIR= install )
-
-@@ -114,7 +113,6 @@
- ##############
-
- pciutils-$(LIBPCI_VERSION).tar.bz2:
-- $(FETCHER) $@ $(LIBPCI_URL)/$@
-
- pciutils-$(XEN_TARGET_ARCH): pciutils-$(LIBPCI_VERSION).tar.bz2
- tar xjf $<
-@@ -142,7 +140,6 @@
- ######
-
- lwip-$(LWIP_VERSION).tar.gz:
-- $(FETCHER) $@ $(LWIP_URL)/$@
-
- lwip-$(XEN_TARGET_ARCH): lwip-$(LWIP_VERSION).tar.gz
- tar xzf $<
-@@ -180,7 +177,6 @@
- # cross-polarssl
- #############
- polarssl-$(POLARSSL_VERSION)-gpl.tgz:
-- $(FETCHER) $@ $(POLARSSL_URL)/$@
-
- polarssl-$(XEN_TARGET_ARCH): polarssl-$(POLARSSL_VERSION)-gpl.tgz
- tar xzf $<
-@@ -385,7 +382,6 @@
- ######
-
- grub-$(GRUB_VERSION).tar.gz:
-- $(FETCHER) $@ $(GRUB_URL)/$@
-
- grub-upstream: grub-$(GRUB_VERSION).tar.gz
- tar xzf $<
diff --git a/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch b/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch
deleted file mode 100644
index aebc1ee5926e..000000000000
--- a/app-emulation/xen-pvgrub/files/xen-pvgrub-4.8-jserver.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tools/firmware/vgabios/Makefile b/tools/firmware/vgabios/Makefile
-index 3284812..ef242b3 100644
---- a/tools/firmware/vgabios/Makefile
-+++ b/tools/firmware/vgabios/Makefile
-@@ -30,7 +30,7 @@ distclean: clean
-
- .PHONY: release
- release:
-- VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
-+ VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" $(MAKE) bios cirrus-bios
- /bin/rm -f *.o *.s *.ld86 \
- temp.awk.* vgabios.*.orig _vgabios_.*.c core *.bak .#*
- cp VGABIOS-lgpl-latest.bin ../$(RELEASE).bin
diff --git a/app-emulation/xen-pvgrub/metadata.xml b/app-emulation/xen-pvgrub/metadata.xml
deleted file mode 100644
index d1684666642f..000000000000
--- a/app-emulation/xen-pvgrub/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>hydrapolic@gmail.com</email>
- <name>Tomáš Mózes</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="project">
- <email>xen@gentoo.org</email>
- <name>Gentoo Xen Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/app-emulation/xen-pvgrub/xen-pvgrub-4.13.2.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.13.2.ebuild
deleted file mode 100644
index 2d85b41833fc..000000000000
--- a/app-emulation/xen-pvgrub/xen-pvgrub-4.13.2.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-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=https://alpha.gnu.org/gnu/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.1.ebuild b/app-emulation/xen-pvgrub/xen-pvgrub-4.14.1.ebuild
deleted file mode 100644
index 5b25c3a3ccee..000000000000
--- a/app-emulation/xen-pvgrub/xen-pvgrub-4.14.1.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2021 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=https://alpha.gnu.org/gnu/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-tools/Manifest b/app-emulation/xen-tools/Manifest
index f84dc7bd230f..f5c6218ff757 100644
--- a/app-emulation/xen-tools/Manifest
+++ b/app-emulation/xen-tools/Manifest
@@ -1,15 +1,10 @@
-DIST OpenSSL_1_1_1g.tar.gz 9975550 BLAKE2B 22efa4ffe5d56a861bc4e2e1bc9a558e79265a3789acd9ca65d0a1162a1808a089a92a234e88c951f2a3cdabd3b1908ac7fe6d5f2b5fe554f229a22c11ab185b SHA512 bc8d24d7fc93542a8d77e13a57768de242ef679ef4db93c1b6b981a15a60646a5c5d869d066248448f3eb1ab2012e3ddc80bf301f486c0574d469a3f7db7b8d4
+DIST OpenSSL_1_1_1t.tar.gz 10061233 BLAKE2B aef89c338644230305bcc75dbc13d6799a04ed8c712b6aed07a782703031e977c3e300924f26e5854d0b89ecf39d2d516a50838167754e8f63322fba51de9478 SHA512 f28a323fd78be0b16ae6db9a8f163e64c74410e12ddd1a9836dfdda34c264112184f4e22583c84b6fa56716e5aaac9cb860cb183bd3d0cb064091eea1e21815e
DIST berkeley-softfloat-b64af41c3276f97f0e181920400ee056b9c88037.tar.gz 148741 BLAKE2B 72014022926b636147e202d74c42df2ce9cfed00b91c275d5b2e0afbc5c68765445cbe7ac6389d7c2512bd1d45b0e16e999936552d09bbc733ab66c92968bd31 SHA512 8420c29faa7ff57e06d6758b03e81ca0630c59946bc031e8611f1449e23634cf901b502161f2c1423c0cff949b5481445e36a3aa53dc885b61ca2c673b3ba567
-DIST brotli-666c3280cc11dc433c303d79a83d4ffbdd12cc8d.tar.gz 23855739 BLAKE2B 7406ec5b29ac66afbcd7c1376bb3208f298d19b6592b2869c52173aa64947d58bd443f9a61c67deaf046be910a0e31c0b843e5508e97e0e1f5e7bce100d86904 SHA512 df8e90562c4fd7f0e787949df6bc4f5a165b39bd333f442d27874fe65640fbba268f9350d7113e6761a5acceb66d78e75f1a296e5a89b94574edf28109cdc812
-DIST edk2-06dc822d045c2bb42e497487935485302486e151.tar.gz 13192042 BLAKE2B 81afa7fd5f6f14fff35baa3c6c64583fa21c7b793ed847a3362fd05a926bb4402db911f9f78f4ffd76a6de9b815171dfa245ae41afac3b022cd108597e8c1ac3 SHA512 a032a1496db7ddc32a7d6d1a7d5fe4122ab43b13547ec019855166d785f162268ad82ceb3c41efafe1687e73fc72599ee6852741652451e1cb329fd655c69b6c
-DIST ipxe-git-1dd56dbd11082fb622c2ed21cfaced4f47d798a6.tar.gz 3810726 BLAKE2B b95266ec7fcee5c27065ba999b023ded9eb42a3690555e626911493f1dc995927fa67071bdc6432b3995df82134f8c49ea0d72eaf407f455dd1e2675d5b8d844 SHA512 8120696ba6d79fd9189664deed9b0489825d8d1edf7b931023b3979b7b9f82248e5b808c4517036cd40a85442ddf51a8dcad3b05d7f3c3cc6650654d53da4050
-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.13.2-upstream-patches-2.tar.xz 58992 BLAKE2B 535d67ae6a30e23feb975172a9e4abd6d7feb6c8c969aa243fdf672ed6580fe46bf57ea5530eab70457e22af9163f95061fdf97d10faa3be9f4c92033187c950 SHA512 6b6cdf72d13c0e595be65e3107c0f68299e932b74d4a1c4d59bfe3be8b76840c47f6adeaddd0efac71d5158cee8d778a0be863eea8f032cb9acf4191f629d8ae
-DIST xen-4.13.2-upstream-patches-6.tar.xz 80980 BLAKE2B a20643c4f89f197e4001c0181249bc1a22b60874bc077ba2abee716b8e64bbbea0885a64632f3120960425a741328ceba1b44dc10a7a24039b328e1ded28f752 SHA512 0b097dfb04404ec6c609d35d924b3d2306c5f2de0501aa0b8e007e0af9a4ef394fae2d736435401bf8bd1fd661171c71ba712585bdb195649e3350ef9f953115
-DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
-DIST xen-4.14.1-upstream-patches-3.tar.xz 27864 BLAKE2B 69a67e863a30c0079f7955dd5306f69890a4f6db91d4cf2d1806a2bbd8afad88db7789c7eda8da0ff2a945da04916ff4ab5eaa9e529a417112ae01e31151d0dc SHA512 19e5ef39616fffbff20b2f658d61e50e21741fe3c5c4ca89f67e72a1606b3a593f93e9090fb0b5c76c1c801f931c237d2be6329bd174fa911d66b81ad4a332dd
-DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9
-DIST xen-gentoo-patches-21.tar.xz 18280 BLAKE2B 95446da72fc16cb82e4e51df8796c64db05a30894a351a98dbd6700ce354c34956ca09a1af98125a4e56c337936e8fae296d806519b8afa23a82b078aa0db8f1 SHA512 3cffac162606a09b10b47dca604f167897e6ac8d153411d3464ef29a7a4d46ac5b92340884cb21279cb2d053b131f1ea5cb2111e3e9a21b3298b5ab3320ee34d
-DIST xen-gentoo-patches-22.tar.xz 18764 BLAKE2B e0da49b39fbc6b689db47e40a4fbb4f6568644fe192b114cce01b0406cba4bf23339ad1bf39b972f895df004916827b6e774f97fc079aeb8ac436763efda5fc3 SHA512 5b7959af4ed30edd2526698ab60a86353e35d9dc48dc941b6df7659a7c4904260461e0decbd8d788542bd69384736f2175861d4943c3738618d20788b19ea9b1
-DIST xen-security-patches-29.tar.xz 1536 BLAKE2B 7723e9d971a2385f7a4a85dd63412afc41ba20991d15732423f03d0c5455c504ecccec08102edbec0db47ed019c88cc86f4146e080075d829aff03ccded362bc SHA512 eff572fed812c38bc3c014d47b951d3614bfb1255d41a2d35ddcbe9228cf9550aaf867adde0f2365f49d0d4e5229c19a78aa538eb64de7cd3d1ef5f7f0c4a079
+DIST brotli-f4153a09f87cbb9c826d8fc12c74642bb2d879ea.tar.gz 512229 BLAKE2B cd86cc2cc7eefad24f87cda8006409bf764922b5f23ccfb951e7a41214b12004ce532b11f94f5fb858b3bf71f9abf8ef17ba219fa96bd5be23b51873afad0fd5 SHA512 7f48e794e738b31c2005e7cef6d8c0cc0d543f1cd8c137ae8ba14602cac2873de6299a3f32ad52be869f513e7548341353ed049609daef1063975694d9a9b80b
+DIST edk2-b16284e2a0011489f6e16dfcc6af7623c3cbaf0b.tar.gz 15245558 BLAKE2B 33876c08040fa876b4e3741fe859d113654013c948fa8a8b391955226e6215bbbe26fc484e56ba5b399d2c4e4d198900f2de42eccfbac6901e01cd73a80e803b SHA512 7d71ec3d98c652b86194607dbcab767160c708991f49f69eda1f5d844ced0c4842e849d19bf99ea09b1db523b91ced1e5552a4ddcea32b94b9db6b8f6f5c5931
+DIST ipxe-git-1d1cf74a5e58811822bee4b3da3cff7282fcdfca.tar.gz 4074878 BLAKE2B d335d1e69bf736c53622e34e5ebeea77e294637f39bd5e2704f13b8e334b684130c259bd48b832050eebfabfc898f9786979a4c00903145fdb347a497b399f31 SHA512 e27644cbb030c43e2841058003bedea6deb979ba71591f967e01312527ed869bb863f9a03fc7b5a266752433d30164929ea1b935953a245600ad713c9fb25cb5
+DIST seabios-1.16.0.tar.gz 635419 BLAKE2B b645f20bae341d56ce4fc4a7044446050d8490c6c136377f6dccf02c88100b0644bc13d210b4a517a8be6002d5671b0fba77120a2aca3a9bafbad5e88d037e40 SHA512 9daefcfb1c9edda4462a4b080c9bac552154d577ae19703a914928e43005e7a52edd86869c6507e94a7f0c61ce8b3e6f5dea38cd5146628cb138a130947c522f
+DIST xen-4.17.3.tar.gz 46505735 BLAKE2B f7a783d951d3e31391aca2b779b9d11440dc28b0756739f7733cd7d2f160de54a018c00dce5d2a6c55a6494c2151a31a64bbeddefbed34eff179463f2e762d93 SHA512 56ead90af00b4c1aa452b5edba980a2873e4c76e8c518220a88089a2771cd76fe2478e15a41abf5d247e4bc5af8415d53614dff7eb028ced80701c1a1263f91f
+DIST xen-4.17.4.tar.gz 46527369 BLAKE2B 2fcd1248d75157b6455727b29ecc3a4e5941eb187d645b35b6cf48a23fdfae11e810c55a1a7c0396c6a23dc977f22b8fd06ee9b91a1edc3a7ba8561023e07cfc SHA512 50dc2efd26e48131afdbc8efb1ca90154a84fe5fba5a6bc81d9801a3c13aebea91c8211872b5c69ce2773644f2c935c31cc56584a05b10b81e8728282d89eb84
+DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450
+DIST xen-upstream-patches-4.17.4-pre-patchset-1.tar.bz2 77410 BLAKE2B 1c00d613f9d12d81a284455d9099c031ba3ea7066508c75ad6f7e13330a09e2eb4e74bf5bc54fed9c4f90e18856cc01ff0e4ab4721d36388519eb40f99be42d8 SHA512 7a56cb0ac9b59043ffbc891819cbe54c9efe411e2e67eebc212a3b519ca60a37a377dd21b0ba851d6828cf268781983b082c6fecee0f0156501b5c447050789a
diff --git a/app-emulation/xen-tools/files/README.gentoo b/app-emulation/xen-tools/files/README.gentoo
new file mode 100644
index 000000000000..e0c84a5f3359
--- /dev/null
+++ b/app-emulation/xen-tools/files/README.gentoo
@@ -0,0 +1,16 @@
+Official Xen Guide and the offical wiki page:
+- https://wiki.gentoo.org/wiki/Xen
+- https://wiki.xen.org/wiki/Main_Page
+
+
+If you use OpenRC:
+It is recommended to utilise the xencommons script to configure the system at
+boot time.
+
+
+If you use QEMU:
+The qemu-bridge-helper is renamed to the xen-bridge-helper in the in
+source build of qemu. This allows for app-emulation/qemu to be emerged
+concurrently with the qemu capable xen. It is up to the user to
+distinguish between and utilise the qemu-bridge-helper and the
+xen-bridge-helper. File bugs of any issues that arise.
diff --git a/app-emulation/xen-tools/files/gentoo-patches.conf b/app-emulation/xen-tools/files/gentoo-patches.conf
deleted file mode 100644
index 1cc00d3345f9..000000000000
--- a/app-emulation/xen-tools/files/gentoo-patches.conf
+++ /dev/null
@@ -1,72 +0,0 @@
-# Bug 496708
-_gx045=" xen-tools-4.10.1-unbundle-ipxe.patch"
-_gx054=" xen-tools-4.12.0-unbundle-ipxe.patch"
-
-# Bug 379537
-_gx017=" fix-gold-ld.patch"
-
-# Bug 477676
-_gx038=" xen-tools-4.8-ar-cc.patch"
-_gx039=" xen-tools-4.14-ar-cc.patch"
-
-# Prevent file collision with qemu package Bug 478064
-_gx043=" xen-4.10-qemu-bridge.patch"
-_gx051=" xen-4.12-qemu-bridge.patch"
-_gx052=" xen-tools-4.14-qemu-bridge.patch"
-#mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
-
-# Fix po file collision with app-emulation/qemu, while USE=qemu is enabled, Bug 508302
-_gx027=" xen-tools-4-qemu-fix-po-collision.patch"
-
-# Fix build failure with ncurses[tinfo], bug 526526
-_gx028=" xen-tools-4.4.1-tinfo.patch"
-
-# Don't download ovmf, use pre-released
-_gx029=" xen-tools-4-anti-ovmf-download.patch"
-
-# increase stack to fix xenqemu err
-# https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg03961.html
-_gx037=" xen-tools-4.6-increase-stack-size.patch"
-
-#Fix missing makedev(), major(), minor()
-_gx042=" xen-tools-4.8.2-makedev.patch"
-
-# Disable failing shim
-_gx046=" xen-tools-4.10.1-shim.patch"
-_gx050=" xen-tools-4.12.0-shim.patch"
-
-# Fix building with gcc 8, bug #657388
-_gx048=" xen-tools-4.11.1-gcc8.patch"
-_gx053=" xen-tools-4.12.0-gcc8.patch"
-
-# Fix building with gcc 9, bug #689082
-_gx055=" xen-tools-4.11.2-gcc9.patch"
-
-# Fix pdf document generation, bug #650396
-_gx049=" xen-tools-4.10.1-pdfdoc.patch"
-
-# Add xenstat python-binding, Gento Bug #711066
-_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.13.2 patches set (v1)
-_gpv_xen_tools_4132_1="
-${_gx038}
-${_gx027}
-${_gx028} ${_gx029}
-${_gx037}
-${_gx053} ${_gx050} ${_gx051}
-${_gx054} ${_gx056}
-"
-
-# xen-tools-4.14.1 patches set
-_gpv_xen_tools_4141_0="
-${_gx039}
-${_gx027}
-${_gx028} ${_gx029}
-${_gx037}
-${_gx053} ${_gx050} ${_gx052}
-${_gx054} ${_gx056}
-"
diff --git a/app-emulation/xen-tools/files/xenstored.initd-r1 b/app-emulation/xen-tools/files/xenstored.initd-r1
index 88d3ad7ba890..0c420851937e 100644
--- a/app-emulation/xen-tools/files/xenstored.initd-r1
+++ b/app-emulation/xen-tools/files/xenstored.initd-r1
@@ -3,7 +3,7 @@
# Distributed under the terms of the GNU General Public License v2
depend() {
- before xendomains xend sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
+ before xendomains xend sshd ntp-client ntpd nfs rsyncd portmap dhcp
need xencommons
}
diff --git a/app-emulation/xen-tools/metadata.xml b/app-emulation/xen-tools/metadata.xml
index 497a921a1ecd..fb98e4a01835 100644
--- a/app-emulation/xen-tools/metadata.xml
+++ b/app-emulation/xen-tools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>hydrapolic@gmail.com</email>
@@ -15,7 +15,6 @@
</maintainer>
<use>
<flag name="api">Build the C libxenapi bindings</flag>
- <flag name="flask">Enable the Flask XSM module from NSA</flag>
<flag name="hvm">Enable support for hardware based virtualization (VT-x,AMD-v)</flag>
<flag name="ipxe">Enable ipxe support</flag>
<flag name="ovmf">Enable support to boot UEFI guest vm, needed by hvm</flag>
diff --git a/app-emulation/xen-tools/xen-tools-4.13.2-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.13.2-r2.ebuild
deleted file mode 100644
index 3eb28b929850..000000000000
--- a/app-emulation/xen-tools/xen-tools-4.13.2-r2.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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=2
- SECURITY_VER=29
- # xen-tools's gentoo patches tarball
- GENTOO_VER=21
- # xen-tools's gentoo patches version which apply to this specific ebuild
- GENTOO_GPV=1
- # xen-tools ovmf's patches
- OVMF_VER=
-
- SEABIOS_VER="1.12.1"
- EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
- EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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
- https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_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
- rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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 -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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.2-r3.ebuild b/app-emulation/xen-tools/xen-tools-4.13.2-r3.ebuild
deleted file mode 100644
index 17e66b730650..000000000000
--- a/app-emulation/xen-tools/xen-tools-4.13.2-r3.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..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=6
- SECURITY_VER=29
- # xen-tools's gentoo patches tarball
- GENTOO_VER=21
- # xen-tools's gentoo patches version which apply to this specific ebuild
- GENTOO_GPV=1
- # xen-tools ovmf's patches
- OVMF_VER=
-
- SEABIOS_VER="1.12.1"
- EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
- EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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
- https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_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
- rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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 -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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.1-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.14.1-r1.ebuild
deleted file mode 100644
index 93372ecabe5b..000000000000
--- a/app-emulation/xen-tools/xen-tools-4.14.1-r1.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 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=3
- 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="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
- EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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
- https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_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}
- app-misc/pax-utils
- dev-lang/perl
- >=sys-kernel/linux-headers-4.11
- x11-libs/pixman
- $(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 ) )
- 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:=
- 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
- rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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 -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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.1.ebuild b/app-emulation/xen-tools/xen-tools-4.14.1.ebuild
deleted file mode 100644
index 22eeb91a3f84..000000000000
--- a/app-emulation/xen-tools/xen-tools-4.14.1.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2021 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="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
- EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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
- https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_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}
- app-misc/pax-utils
- dev-lang/perl
- >=sys-kernel/linux-headers-4.11
- x11-libs/pixman
- $(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 ) )
- 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:=
- 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
- rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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 -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
- cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || 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.2-r4.ebuild b/app-emulation/xen-tools/xen-tools-4.17.4.ebuild
index e7e7510eb1f6..c4bcc325110c 100644
--- a/app-emulation/xen-tools/xen-tools-4.13.2-r4.ebuild
+++ b/app-emulation/xen-tools/xen-tools-4.17.4.ebuild
@@ -1,75 +1,75 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='ncurses,xml,threads(+)'
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
-inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
-
-MY_PV=${PV/_/-}
+inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
- EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
+ EGIT_REPO_URI="https://xenbits.xen.org/git-http/${REPO}"
S="${WORKDIR}/${REPO}"
else
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- UPSTREAM_VER=6
- SECURITY_VER=29
- # xen-tools's gentoo patches tarball
- GENTOO_VER=21
- # xen-tools's gentoo patches version which apply to this specific ebuild
- GENTOO_GPV=1
- # xen-tools ovmf's patches
- OVMF_VER=
-
- SEABIOS_VER="1.12.1"
- EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
+
+ SEABIOS_VER="1.16.0"
+ EDK2_COMMIT="b16284e2a0011489f6e16dfcc6af7623c3cbaf0b"
+ EDK2_OPENSSL_VERSION="1_1_1t"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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 )
+ EDK2_BROTLI_COMMIT="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
+ IPXE_COMMIT="1d1cf74a5e58811822bee4b3da3cff7282fcdfca"
+
+ XEN_GENTOO_PATCHSET_NUM=2
+ XEN_GENTOO_PATCHSET_BASE=4.17.0
+ XEN_PRE_PATCHSET_NUM=
+ XEN_PRE_VERSION_BASE=
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="
+ https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
+ https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
+ ipxe? ( https://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
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
- ${OVMF_PATCHSET_URI} )
- ${UPSTREAM_PATCHSET_URI}
- ${SECURITY_PATCHSET_URI}
- ${GENTOO_PATCHSET_URI}"
+ )
+ "
- S="${WORKDIR}/xen-${MY_PV}"
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
-HOMEPAGE="https://www.xenproject.org"
+HOMEPAGE="https://xenproject.org"
DOCS=( README )
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
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"
+IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -82,21 +82,39 @@ REQUIRED_USE="
?? ( qemu system-qemu )"
COMMON_DEPEND="
- sys-apps/pciutils
+ lzma? ( app-arch/xz-utils )
+ qemu? (
+ dev-libs/glib:2
+ sys-libs/pam
+ )
+ zstd? ( app-arch/zstd )
+ app-arch/bzip2
+ app-arch/zstd
+ dev-libs/libnl:3
dev-libs/lzo:2
- dev-libs/glib:2
dev-libs/yajl
- dev-libs/libaio
- dev-libs/libgcrypt:0
+ sys-apps/util-linux
+ sys-fs/e2fsprogs
+ sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2[-minimal]
+ net-misc/bridge-utils
+ screen? (
+ app-misc/screen
+ app-admin/logrotate
+ )
+ selinux? ( sec-policy/selinux-xen )"
+
DEPEND="${COMMON_DEPEND}
+ app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
+ x11-libs/pixman
$(python_gen_cond_dep '
- dev-python/lxml[${PYTHON_MULTI_USEDEP}]
- pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
+ dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
@@ -110,24 +128,29 @@ DEPEND="${COMMON_DEPEND}
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
- system-seabios? ( sys-firmware/seabios )
+ system-seabios? (
+ || (
+ sys-firmware/seabios
+ sys-firmware/seabios-bin
+ )
+ )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
- dev-lang/perl
- app-misc/pax-utils
+ arm64? ( sys-power/iasl
+ rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
- app-text/pandoc
$(python_gen_cond_dep '
- dev-python/markdown[${PYTHON_MULTI_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
- media-gfx/transfig
+ >=media-gfx/fig2dev-3.2.9-r1
+ virtual/pandoc
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
- x11-libs/pixman
+ dev-build/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
@@ -135,26 +158,30 @@ DEPEND="${COMMON_DEPEND}
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
- >=dev-lang/ocaml-4 )
+ dev-lang/ocaml[ocamlopt] )
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
- )"
+BDEPEND="dev-lang/perl
+ app-alternatives/yacc
+ sys-devel/gettext"
# 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/libexec/xen/boot/ovmf.bin
+ usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
+ usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
+QA_EXECSTACK="
+ usr/share/qemu-xen/qemu/hppa-firmware.img
+"
+
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
@@ -165,8 +192,14 @@ QA_PREBUILT="
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
+ usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
+ usr/libexec/xen/boot/ovmf.bin
+ usr/libexec/xen/boot/xen-shim
+ usr/libexec/xen/libexec/qemu-pr-helper
+ usr/libexec/xen/libexec/virtfs-proxy-helper
+ usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
@@ -200,68 +233,31 @@ pkg_setup() {
}
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
+ 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
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
- # Ovmf's patchset
+ # Rename qemu-bridge-helper to xen-bridge-helper to avoid file
+ # collisions with app-emulation/qemu.
+ sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
+ tools/qemu-xen/include/net/net.h \
+ tools/qemu-xen/meson.build \
+ tools/qemu-xen/qemu-bridge-helper.c \
+ tools/qemu-xen/qemu-options.hx \
+ || die
+ mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
+
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
@@ -276,22 +272,16 @@ src_prepare() {
# ipxe
if use ipxe; then
- cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
+ 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
+ # gcc 11
+ cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
+ echo ipxe-gcc11.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"
@@ -334,9 +324,8 @@ src_prepare() {
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
+ sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
+ -i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
@@ -377,33 +366,51 @@ src_prepare() {
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
+ # disable docker (Bug #732970)
+ sed -e "s:\$\$source/configure:\0 --disable-containers:" \
+ -i tools/Makefile || die
+
+ # disable abi-dumper (Bug #791172)
+ sed -e 's/$(ABI_DUMPER) /echo /g' \
+ -i tools/libs/libs.mk || die
+
+ # Remove -Werror
+ find . -type f \( -name Makefile -o -name "*.mk" \) \
+ -exec sed -i \
+ -e 's/-Werror //g' \
+ -e '/^CFLAGS *+= -Werror$/d' \
+ -e 's/, "-Werror"//' \
+ {} + || 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)"
+ local myconf=(
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --libexecdir="${EPREFIX}/usr/libexec"
+ --localstatedir="${EPREFIX}/var"
+ --disable-golang
+ --disable-pvshim
+ --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 rombios)
+ $(use_enable systemd)
+ --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}
+ econf ${myconf[@]}
}
src_compile() {
@@ -415,7 +422,21 @@ src_compile() {
append-flags -fno-strict-overflow
fi
- emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
+ # bug #845099
+ if use ipxe; then
+ local -x NO_WERROR=1
+ fi
+
+ emake \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ LD="$(tc-getLD)" \
+ AR="$(tc-getAR)" \
+ OBJDUMP="$(tc-getOBJDUMP)" \
+ RANLIB="$(tc-getRANLIB)" \
+ build-tools ${myopt}
if use doc; then
emake -C docs build
@@ -489,32 +510,15 @@ src_install() {
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"
+ python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
+ python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
+
+ readme.gentoo_create_doc
}
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
+ readme.gentoo_print_elog
}
diff --git a/app-emulation/xen-tools/xen-tools-4.14.1-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.17.4_pre2.ebuild
index dfd8b2e0b73a..e283301b0bd5 100644
--- a/app-emulation/xen-tools/xen-tools-4.14.1-r2.ebuild
+++ b/app-emulation/xen-tools/xen-tools-4.17.4_pre2.ebuild
@@ -1,75 +1,75 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 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(+)'
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
-inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
-
-MY_PV=${PV/_/-}
+inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
- EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
+ EGIT_REPO_URI="https://xenbits.xen.org/git-http/${REPO}"
S="${WORKDIR}/${REPO}"
else
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- UPSTREAM_VER=3
- 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="06dc822d045c2bb42e497487935485302486e151"
- EDK2_OPENSSL_VERSION="1_1_1g"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
+
+ SEABIOS_VER="1.16.0"
+ EDK2_COMMIT="b16284e2a0011489f6e16dfcc6af7623c3cbaf0b"
+ EDK2_OPENSSL_VERSION="1_1_1t"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
- EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
- 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
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${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 )
+ EDK2_BROTLI_COMMIT="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
+ IPXE_COMMIT="1d1cf74a5e58811822bee4b3da3cff7282fcdfca"
+
+ XEN_GENTOO_PATCHSET_NUM=2
+ XEN_GENTOO_PATCHSET_BASE=4.17.0
+ XEN_PRE_PATCHSET_NUM=1
+ XEN_PRE_VERSION_BASE=4.17.3
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="
+ https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
+ https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
+ ipxe? ( https://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
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
- ${OVMF_PATCHSET_URI} )
- ${UPSTREAM_PATCHSET_URI}
- ${SECURITY_PATCHSET_URI}
- ${GENTOO_PATCHSET_URI}"
+ )
+ "
- S="${WORKDIR}/xen-${MY_PV}"
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
-HOMEPAGE="https://www.xenproject.org"
+HOMEPAGE="https://xenproject.org"
DOCS=( README )
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
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"
+IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -82,24 +82,39 @@ REQUIRED_USE="
?? ( qemu system-qemu )"
COMMON_DEPEND="
- sys-apps/pciutils
+ lzma? ( app-arch/xz-utils )
+ qemu? (
+ dev-libs/glib:2
+ sys-libs/pam
+ )
+ zstd? ( app-arch/zstd )
+ app-arch/bzip2
+ app-arch/zstd
+ dev-libs/libnl:3
dev-libs/lzo:2
- dev-libs/glib:2
dev-libs/yajl
- dev-libs/libaio
- dev-libs/libgcrypt:0
+ sys-apps/util-linux
+ sys-fs/e2fsprogs
+ sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2[-minimal]
+ net-misc/bridge-utils
+ screen? (
+ app-misc/screen
+ app-admin/logrotate
+ )
+ selinux? ( sec-policy/selinux-xen )"
+
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
- dev-lang/perl
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
- dev-python/lxml[${PYTHON_MULTI_USEDEP}]
- pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
+ dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
@@ -113,21 +128,29 @@ DEPEND="${COMMON_DEPEND}
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
- system-seabios? ( sys-firmware/seabios )
+ system-seabios? (
+ || (
+ sys-firmware/seabios
+ sys-firmware/seabios-bin
+ )
+ )
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
+ arm64? ( sys-power/iasl
+ rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
- app-text/pandoc
$(python_gen_cond_dep '
- dev-python/markdown[${PYTHON_MULTI_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
- media-gfx/transfig
+ >=media-gfx/fig2dev-3.2.9-r1
+ virtual/pandoc
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
+ dev-build/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
@@ -135,26 +158,30 @@ DEPEND="${COMMON_DEPEND}
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
- >=dev-lang/ocaml-4 )
+ dev-lang/ocaml[ocamlopt] )
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
- )"
+BDEPEND="dev-lang/perl
+ app-alternatives/yacc
+ sys-devel/gettext"
# 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/libexec/xen/boot/ovmf.bin
+ usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
+ usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
+ usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
+QA_EXECSTACK="
+ usr/share/qemu-xen/qemu/hppa-firmware.img
+"
+
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
@@ -165,8 +192,14 @@ QA_PREBUILT="
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
+ usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
+ usr/libexec/xen/boot/ovmf.bin
+ usr/libexec/xen/boot/xen-shim
+ usr/libexec/xen/libexec/qemu-pr-helper
+ usr/libexec/xen/libexec/virtfs-proxy-helper
+ usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
@@ -200,68 +233,31 @@ pkg_setup() {
}
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
+ 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
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
- # Ovmf's patchset
+ # Rename qemu-bridge-helper to xen-bridge-helper to avoid file
+ # collisions with app-emulation/qemu.
+ sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
+ tools/qemu-xen/include/net/net.h \
+ tools/qemu-xen/meson.build \
+ tools/qemu-xen/qemu-bridge-helper.c \
+ tools/qemu-xen/qemu-options.hx \
+ || die
+ mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
+
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
@@ -276,22 +272,16 @@ src_prepare() {
# ipxe
if use ipxe; then
- cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
+ 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
+ # gcc 11
+ cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
+ echo ipxe-gcc11.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"
@@ -334,9 +324,8 @@ src_prepare() {
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
+ sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
+ -i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
@@ -377,33 +366,51 @@ src_prepare() {
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
+ # disable docker (Bug #732970)
+ sed -e "s:\$\$source/configure:\0 --disable-containers:" \
+ -i tools/Makefile || die
+
+ # disable abi-dumper (Bug #791172)
+ sed -e 's/$(ABI_DUMPER) /echo /g' \
+ -i tools/libs/libs.mk || die
+
+ # Remove -Werror
+ find . -type f \( -name Makefile -o -name "*.mk" \) \
+ -exec sed -i \
+ -e 's/-Werror //g' \
+ -e '/^CFLAGS *+= -Werror$/d' \
+ -e 's/, "-Werror"//' \
+ {} + || 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)"
+ local myconf=(
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --libexecdir="${EPREFIX}/usr/libexec"
+ --localstatedir="${EPREFIX}/var"
+ --disable-golang
+ --disable-pvshim
+ --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 rombios)
+ $(use_enable systemd)
+ --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}
+ econf ${myconf[@]}
}
src_compile() {
@@ -415,7 +422,21 @@ src_compile() {
append-flags -fno-strict-overflow
fi
- emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
+ # bug #845099
+ if use ipxe; then
+ local -x NO_WERROR=1
+ fi
+
+ emake \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ LD="$(tc-getLD)" \
+ AR="$(tc-getAR)" \
+ OBJDUMP="$(tc-getOBJDUMP)" \
+ RANLIB="$(tc-getRANLIB)" \
+ build-tools ${myopt}
if use doc; then
emake -C docs build
@@ -489,32 +510,15 @@ src_install() {
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"
+ python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
+ python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
+
+ readme.gentoo_create_doc
}
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
+ readme.gentoo_print_elog
}
diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
index bdc4251e8c9b..50042de97f70 100644
--- a/app-emulation/xen/Manifest
+++ b/app-emulation/xen/Manifest
@@ -1,7 +1,4 @@
-DIST xen-4.13.2-upstream-patches-4.tar.xz 65324 BLAKE2B 0e71e4600fffcf1341a52103a6318485c1da54101ec59dbdb9824be5a5ed1f977135a9c3e4ce48cf14922aa0a2e3ff5097dc870286e3b142d060c22d78079cb3 SHA512 3f0e41b685655c7753204862ea6b8e502ff4b4f76e4788ca07ab93a4bb3c636d24ad933c578f7c6e4c866cfb0d6b7b7234124da7c2fed0a4b34f2fbe401c56e1
-DIST xen-4.13.2-upstream-patches-5.tar.xz 76580 BLAKE2B 8eeab100c14d769174e7d935d4e081ffc2d72b771f8022ce5c31b89d860ddba5381baf55b87443dc3bc555b404595492d30bc7f2a103c77762004acfce70446e SHA512 5dd5c63267e9542626315efec94642901cff55f4a1f8148c58f86677254381242fce3d6c5c0ae72665b452441c54647d0b9a132a2a18ffb4ff7eaad86ef227de
-DIST xen-4.13.2-upstream-patches-6.tar.xz 80980 BLAKE2B a20643c4f89f197e4001c0181249bc1a22b60874bc077ba2abee716b8e64bbbea0885a64632f3120960425a741328ceba1b44dc10a7a24039b328e1ded28f752 SHA512 0b097dfb04404ec6c609d35d924b3d2306c5f2de0501aa0b8e007e0af9a4ef394fae2d736435401bf8bd1fd661171c71ba712585bdb195649e3350ef9f953115
-DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
-DIST xen-4.14.1-upstream-patches-2.tar.xz 22920 BLAKE2B 890cd9bcc3c72b4ed192476a913de0377d50ddeb180e0d6dc4720e86662387a699ad74b263adf2b867b2421fcf3efdcacaa17bf581643afc50c9dc7e8a3dfc60 SHA512 ca0e53f40fe23d9a6c6374b460fcc0c8063e511f03ca86c02291fcb73bf9f91594de6fd615609997e0aac2e9c59ccc8512e4151a1d2646a70f3b5bacd95ad325
-DIST xen-4.14.1-upstream-patches-3.tar.xz 27864 BLAKE2B 69a67e863a30c0079f7955dd5306f69890a4f6db91d4cf2d1806a2bbd8afad88db7789c7eda8da0ff2a945da04916ff4ab5eaa9e529a417112ae01e31151d0dc SHA512 19e5ef39616fffbff20b2f658d61e50e21741fe3c5c4ca89f67e72a1606b3a593f93e9090fb0b5c76c1c801f931c237d2be6329bd174fa911d66b81ad4a332dd
-DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9
+DIST xen-4.17.3.tar.gz 46505735 BLAKE2B f7a783d951d3e31391aca2b779b9d11440dc28b0756739f7733cd7d2f160de54a018c00dce5d2a6c55a6494c2151a31a64bbeddefbed34eff179463f2e762d93 SHA512 56ead90af00b4c1aa452b5edba980a2873e4c76e8c518220a88089a2771cd76fe2478e15a41abf5d247e4bc5af8415d53614dff7eb028ced80701c1a1263f91f
+DIST xen-4.17.4.tar.gz 46527369 BLAKE2B 2fcd1248d75157b6455727b29ecc3a4e5941eb187d645b35b6cf48a23fdfae11e810c55a1a7c0396c6a23dc977f22b8fd06ee9b91a1edc3a7ba8561023e07cfc SHA512 50dc2efd26e48131afdbc8efb1ca90154a84fe5fba5a6bc81d9801a3c13aebea91c8211872b5c69ce2773644f2c935c31cc56584a05b10b81e8728282d89eb84
+DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450
+DIST xen-upstream-patches-4.17.4-pre-patchset-1.tar.bz2 77410 BLAKE2B 1c00d613f9d12d81a284455d9099c031ba3ea7066508c75ad6f7e13330a09e2eb4e74bf5bc54fed9c4f90e18856cc01ff0e4ab4721d36388519eb40f99be42d8 SHA512 7a56cb0ac9b59043ffbc891819cbe54c9efe411e2e67eebc212a3b519ca60a37a377dd21b0ba851d6828cf268781983b082c6fecee0f0156501b5c447050789a
diff --git a/app-emulation/xen/files/xen-4.11-efi.patch b/app-emulation/xen/files/xen-4.11-efi.patch
deleted file mode 100644
index c7173d91b244..000000000000
--- a/app-emulation/xen/files/xen-4.11-efi.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/xen/Makefile b/xen/Makefile
-index af27147777..a5299b3868 100644
---- a/xen/Makefile
-+++ b/xen/Makefile
-@@ -57,9 +57,15 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
- _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
- [ -d $(D)$(BOOT_DIR) ] || $(INSTALL_DIR) $(D)$(BOOT_DIR)
- $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z)
-+ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
-+ else \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
-+ fi;
- [ -d "$(D)$(DEBUG_DIR)" ] || $(INSTALL_DIR) $(D)$(DEBUG_DIR)
- $(INSTALL_DATA) $(TARGET)-syms $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION)
- $(INSTALL_DATA) $(TARGET)-syms.map $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION).map
-diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
-index ec02972f2b..628c245564 100644
---- a/xen/arch/x86/Makefile
-+++ b/xen/arch/x86/Makefile
-@@ -156,7 +156,7 @@ note.o: $(TARGET)-syms
- --rename-section=.data=.note.gnu.build-id -S $@.bin $@
- rm -f $@.bin
-
--EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
-+EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
- EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug
- EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20
- EFI_LDFLAGS += --major-image-version=$(XEN_VERSION)
diff --git a/app-emulation/xen/files/xen-4.14-efi.patch b/app-emulation/xen/files/xen-4.14-efi.patch
deleted file mode 100644
index 351e17843523..000000000000
--- a/app-emulation/xen/files/xen-4.14-efi.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/xen/Makefile b/xen/Makefile
-index 0ade7f9..46c25d9 100644
---- a/xen/Makefile
-+++ b/xen/Makefile
-@@ -272,9 +272,17 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
- _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
- [ -d $(D)$(BOOT_DIR) ] || $(INSTALL_DIR) $(D)$(BOOT_DIR)
- $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
-- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z)
-+
-+ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
-+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
-+ else \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
-+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
-+ fi;
-+
- [ -d "$(D)$(DEBUG_DIR)" ] || $(INSTALL_DIR) $(D)$(DEBUG_DIR)
- $(INSTALL_DATA) $(TARGET)-syms $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION)
- $(INSTALL_DATA) $(TARGET)-syms.map $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION).map
-diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
-index 07eeefb..6b1c16b 100644
---- a/xen/arch/x86/Makefile
-+++ b/xen/arch/x86/Makefile
-@@ -163,7 +163,7 @@ note.o: $(TARGET)-syms
- --rename-section=.data=.note.gnu.build-id -S $@.bin $@
- rm -f $@.bin
-
--EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(XEN_LDFLAGS)) --subsystem=10
-+EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
- EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug
- EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20
- EFI_LDFLAGS += --major-image-version=$(XEN_VERSION)
diff --git a/app-emulation/xen/metadata.xml b/app-emulation/xen/metadata.xml
index b5a2ab082b14..bad2422fe3f9 100644
--- a/app-emulation/xen/metadata.xml
+++ b/app-emulation/xen/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>hydrapolic@gmail.com</email>
@@ -14,7 +14,8 @@
<name>Gentoo Xen Project</name>
</maintainer>
<use>
+ <flag name="boot-symlinks">Symlink xen.gz variants in /boot, disable on fat filesystems</flag>
<flag name="flask">Enable the Flask XSM module from NSA</flag>
- <flag name="efi">Adds efi boot support, requires LDFLAG -melf_x86_64 for amd64</flag>
+ <flag name="uefi">Adds UEFI boot support, requires LDFLAG -melf_x86_64 for amd64</flag>
</use>
</pkgmetadata>
diff --git a/app-emulation/xen/xen-4.13.2-r5.ebuild b/app-emulation/xen/xen-4.13.2-r5.ebuild
deleted file mode 100644
index 1c318430ddcc..000000000000
--- a/app-emulation/xen/xen-4.13.2-r5.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 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=4
- 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)" LD="$(tc-getLD)" 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.2-r6.ebuild b/app-emulation/xen/xen-4.13.2-r6.ebuild
deleted file mode 100644
index bae6d65988c1..000000000000
--- a/app-emulation/xen/xen-4.13.2-r6.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 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=5
- 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)" LD="$(tc-getLD)" 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.2-r7.ebuild b/app-emulation/xen/xen-4.13.2-r7.ebuild
deleted file mode 100644
index 4f243abd0510..000000000000
--- a/app-emulation/xen/xen-4.13.2-r7.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 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=6
- 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)" LD="$(tc-getLD)" 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.1-r2.ebuild b/app-emulation/xen/xen-4.14.1-r2.ebuild
deleted file mode 100644
index 1c207fc9ecaf..000000000000
--- a/app-emulation/xen/xen-4.14.1-r2.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 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=2
- 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)" LD="$(tc-getLD)" 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.1-r3.ebuild b/app-emulation/xen/xen-4.14.1-r3.ebuild
deleted file mode 100644
index e3002595a4ce..000000000000
--- a/app-emulation/xen/xen-4.14.1-r3.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 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=3
- 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)" LD="$(tc-getLD)" 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.17.4.ebuild b/app-emulation/xen/xen-4.17.4.ebuild
new file mode 100644
index 000000000000..7b2ca8a62fef
--- /dev/null
+++ b/app-emulation/xen/xen-4.17.4.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit flag-o-matic mount-boot python-any-r1 secureboot toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://xenbits.xen.org/git-http/xen.git"
+ SRC_URI=""
+else
+ KEYWORDS="amd64 ~arm -x86"
+
+ XEN_GENTOO_PATCHSET_NUM=2
+ XEN_GENTOO_PATCHSET_BASE=4.17.0
+ XEN_PRE_PATCHSET_NUM=
+ XEN_PRE_VERSION_BASE=
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
+
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
+fi
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="https://xenproject.org"
+
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+boot-symlinks debug uefi flask"
+REQUIRED_USE="arm? ( debug )"
+
+DEPEND="${PYTHON_DEPS}
+ uefi? ( >=sys-devel/binutils-2.22[multitarget] )
+ !uefi? ( >=sys-devel/binutils-2.22 )
+ flask? ( sys-apps/checkpolicy )"
+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}"
+
+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
+ use uefi && secureboot_pkg_setup
+}
+
+src_prepare() {
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
+ fi
+
+ # Symlinks do not work on fat32 volumes # 829765
+ if ! use boot-symlinks || use uefi; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
+ fi
+
+ # Workaround new gcc-11 options
+ sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
+
+ # Drop .config
+ sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+
+ if use uefi; then
+ export EFI_VENDOR="gentoo"
+ export EFI_MOUNTPOINT="/boot"
+ fi
+
+ default
+}
+
+xen_make() {
+ # Setting clang to either 'y' or 'n' tells Xen's build system
+ # whether or not clang is used.
+ local clang=n
+ if tc-is-clang; then
+ clang=y
+ fi
+
+ # Send raw LDFLAGS so that --as-needed works
+ emake \
+ V=1 \
+ LDFLAGS="$(raw-ldflags)" \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ LD="$(tc-getLD)" \
+ AR="$(tc-getAR)" \
+ OBJDUMP="$(tc-getOBJDUMP)" \
+ RANLIB="$(tc-getRANLIB)" \
+ clang="${clang}" \
+ "$@"
+}
+
+src_configure() {
+ cd xen || die
+
+ touch gentoo-config || die
+ if use arm; then
+ echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
+ fi
+ if use debug; then
+ cat <<-EOF >> gentoo-config || die
+ CONFIG_DEBUG=y
+ CONFIG_CRASH_DEBUG=y
+EOF
+ fi
+ if use flask; then
+ echo "CONFIG_XSM=y" >> gentoo-config || die
+ fi
+
+ # remove flags
+ unset CFLAGS
+
+ tc-ld-disable-gold # Bug 700374
+
+ xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
+}
+
+src_compile() {
+ xen_make -C xen
+}
+
+src_install() {
+ # The 'make install' doesn't 'mkdir -p' the subdirs
+ if use uefi; then
+ mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
+ fi
+
+ xen_make DESTDIR="${D}" -C xen install
+
+ if use uefi; then
+ secureboot_auto_sign --in-place
+ else
+ # make install likes to throw in some extra EFI bits if it built
+ rm -rf "${D}/usr/$(get_libdir)/efi"
+ fi
+}
diff --git a/app-emulation/xen/xen-4.17.4_pre2.ebuild b/app-emulation/xen/xen-4.17.4_pre2.ebuild
new file mode 100644
index 000000000000..ea958743d3db
--- /dev/null
+++ b/app-emulation/xen/xen-4.17.4_pre2.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit flag-o-matic mount-boot python-any-r1 secureboot toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://xenbits.xen.org/git-http/xen.git"
+ SRC_URI=""
+else
+ KEYWORDS="amd64 ~arm -x86"
+
+ XEN_GENTOO_PATCHSET_NUM=2
+ XEN_GENTOO_PATCHSET_BASE=4.17.0
+ XEN_PRE_PATCHSET_NUM=1
+ XEN_PRE_VERSION_BASE=4.17.3
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
+
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
+fi
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="https://xenproject.org"
+
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+boot-symlinks debug uefi flask"
+REQUIRED_USE="arm? ( debug )"
+
+DEPEND="${PYTHON_DEPS}
+ uefi? ( >=sys-devel/binutils-2.22[multitarget] )
+ !uefi? ( >=sys-devel/binutils-2.22 )
+ flask? ( sys-apps/checkpolicy )"
+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}"
+
+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
+ use uefi && secureboot_pkg_setup
+}
+
+src_prepare() {
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
+ fi
+
+ # Symlinks do not work on fat32 volumes # 829765
+ if ! use boot-symlinks || use uefi; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
+ fi
+
+ # Workaround new gcc-11 options
+ sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
+
+ # Drop .config
+ sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+
+ if use uefi; then
+ export EFI_VENDOR="gentoo"
+ export EFI_MOUNTPOINT="/boot"
+ fi
+
+ default
+}
+
+xen_make() {
+ # Setting clang to either 'y' or 'n' tells Xen's build system
+ # whether or not clang is used.
+ local clang=n
+ if tc-is-clang; then
+ clang=y
+ fi
+
+ # Send raw LDFLAGS so that --as-needed works
+ emake \
+ V=1 \
+ LDFLAGS="$(raw-ldflags)" \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ LD="$(tc-getLD)" \
+ AR="$(tc-getAR)" \
+ OBJDUMP="$(tc-getOBJDUMP)" \
+ RANLIB="$(tc-getRANLIB)" \
+ clang="${clang}" \
+ "$@"
+}
+
+src_configure() {
+ cd xen || die
+
+ touch gentoo-config || die
+ if use arm; then
+ echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
+ fi
+ if use debug; then
+ cat <<-EOF >> gentoo-config || die
+ CONFIG_DEBUG=y
+ CONFIG_CRASH_DEBUG=y
+EOF
+ fi
+ if use flask; then
+ echo "CONFIG_XSM=y" >> gentoo-config || die
+ fi
+
+ # remove flags
+ unset CFLAGS
+
+ tc-ld-disable-gold # Bug 700374
+
+ xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
+}
+
+src_compile() {
+ xen_make -C xen
+}
+
+src_install() {
+ # The 'make install' doesn't 'mkdir -p' the subdirs
+ if use uefi; then
+ mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
+ fi
+
+ xen_make DESTDIR="${D}" -C xen install
+
+ if use uefi; then
+ secureboot_auto_sign --in-place
+ else
+ # make install likes to throw in some extra EFI bits if it built
+ rm -rf "${D}/usr/$(get_libdir)/efi"
+ fi
+}
diff --git a/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch b/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch
new file mode 100644
index 000000000000..959c3fb375a7
--- /dev/null
+++ b/app-emulation/xtrs/files/xtrs-4.9d-implicit.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/875674
+
+--- xtrs-4.9d/trs_disk.c
++++ xtrs-4.9d/trs_disk.c
+@@ -3137,7 +3137,7 @@
+ }
+
+ void
+-real_restore(curdrive)
++real_restore(int curdrive)
+ {
+ #if __linux
+ DiskState *d = &disk[curdrive];
+--- xtrs-4.9d/trs_memory.c
++++ xtrs-4.9d/trs_memory.c
+@@ -153,7 +153,7 @@
+ memory_map = which + (trs_model << 4) + (romin << 2);
+ }
+
+-void mem_romin(state)
++void mem_romin(int state)
+ {
+ romin = (state & 1);
+ memory_map = (memory_map & ~4) + (romin << 2);
+--- xtrs-4.9d/trs_printer.c
++++ xtrs-4.9d/trs_printer.c
+@@ -18,7 +18,7 @@
+ #include "z80.h"
+ #include "trs.h"
+
+-void trs_printer_write(value)
++void trs_printer_write(int value)
+ {
+ if(value == 0x0D)
+ {
diff --git a/app-emulation/xtrs/metadata.xml b/app-emulation/xtrs/metadata.xml
index c7db543a8141..21164efb7794 100644
--- a/app-emulation/xtrs/metadata.xml
+++ b/app-emulation/xtrs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ulm@gentoo.org</email>
diff --git a/app-emulation/xtrs/xtrs-4.9d-r5.ebuild b/app-emulation/xtrs/xtrs-4.9d-r6.ebuild
index 4785a873f452..0ed2d6293064 100644
--- a/app-emulation/xtrs/xtrs-4.9d-r5.ebuild
+++ b/app-emulation/xtrs/xtrs-4.9d-r6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit flag-o-matic toolchain-funcs readme.gentoo-r1
@@ -25,7 +25,10 @@ RDEPEND="sys-libs/ncurses:0=
DEPEND="${RDEPEND}
ls-dos? ( app-arch/unzip dev-util/xdelta:3 )"
-PATCHES=("${FILESDIR}"/${P}-lcmod.patch)
+PATCHES=(
+ "${FILESDIR}"/${P}-lcmod.patch
+ "${FILESDIR}"/${P}-implicit.patch
+)
src_prepare() {
default
@@ -62,10 +65,10 @@ src_install() {
dodoc ChangeLog README xtrsrom4p.README cpmutil.html dskspec.html
- DOC_CONTENTS="For copyright reasons, xtrs does not include actual ROM
- images. Because of this, unless you supply your own ROM, xtrs will
- not function in any mode except 'Model 4p' mode (a minimal free ROM
- is included for this), which can be run like this:
+ local DOC_CONTENTS="For copyright reasons, xtrs does not include actual
+ ROM images. Because of this, unless you supply your own ROM, xtrs
+ will not function in any mode except 'Model 4p' mode (a minimal
+ free ROM is included for this), which can be run like this:
\n\nxtrs -model 4p -diskdir /usr/share/xtrs
\n\nIf you already own a copy of the ROM software (e.g., if you have
a TRS-80 with this ROM), then you can make yourself a copy of this