From da7ae1dd1fccb6b3c0e4763ab983ad96d57bf463 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 20 Apr 2024 12:05:24 +0100 Subject: gentoo auto-resync : 20:04:2024 - 12:05:23 --- app-emulation/Manifest.gz | Bin 15649 -> 15651 bytes app-emulation/firecracker-bin/Manifest | 3 + .../firecracker-bin/firecracker-bin-1.7.0.ebuild | 87 +++++ app-emulation/vagrant/Manifest | 4 +- app-emulation/vagrant/vagrant-2.3.7.ebuild | 121 ------ app-emulation/vagrant/vagrant-2.4.1.ebuild | 122 ++++++ app-emulation/virtio-win/Manifest | 4 +- .../virtio-win/virtio-win-0.1.225.2.ebuild | 30 -- .../virtio-win/virtio-win-0.1.248.1.ebuild | 30 ++ app-emulation/wine-vanilla/Manifest | 2 + app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild | 430 +++++++++++++++++++++ 11 files changed, 678 insertions(+), 155 deletions(-) create mode 100644 app-emulation/firecracker-bin/firecracker-bin-1.7.0.ebuild delete mode 100644 app-emulation/vagrant/vagrant-2.3.7.ebuild create mode 100644 app-emulation/vagrant/vagrant-2.4.1.ebuild delete mode 100644 app-emulation/virtio-win/virtio-win-0.1.225.2.ebuild create mode 100644 app-emulation/virtio-win/virtio-win-0.1.248.1.ebuild create mode 100644 app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 62f149b32318..2e59a413057f 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest index e2e0c181a7c6..4e077d9d600a 100644 --- a/app-emulation/firecracker-bin/Manifest +++ b/app-emulation/firecracker-bin/Manifest @@ -2,6 +2,9 @@ DIST firecracker-v1.5.1-aarch64.tgz 9086440 BLAKE2B 30777522bdb23e80bc3a025691d5 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 EBUILD firecracker-bin-1.5.1.ebuild 2844 BLAKE2B 12205b3bff19d4525d0feaf39d09c895ce0a11e5788ce3e91a1dbcc7ccaa91ffe767452da8e054829579fc9f828f2fe0450b9b0229dcf9959498a4c589b3ba87 SHA512 650cb54fc99ab9e59fc81ec9effab79021e558af12a0bb10dc2b2e8083bdf6ddd3cb7449f54cba3342a79f916bdee7191e7e4f1042ac1da380af910e4e54542b EBUILD firecracker-bin-1.6.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4 +EBUILD firecracker-bin-1.7.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4 MISC metadata.xml 512 BLAKE2B 5088571672374708995301bad5f1427c9f33d89104ca971134bc5fc1afb70a6513a27ec88b938716c538db7ef8ff15b74fc7fce3aa70de49574fdbcd00a81a72 SHA512 dcb061c53e06929eb8ff6850a610ad8df17364089575b7d0f7f7e0a7ff2becb6cd446a666b2015745460f5a33f67e0a6f8df534bb03081866c0fb35bddb3460d 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/vagrant/Manifest b/app-emulation/vagrant/Manifest index 232fec132ece..81a2a940ee63 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -1,6 +1,6 @@ AUX vagrant.in 1893 BLAKE2B d1e66c07e2b923ae46cfd1b4ff50478ea6628710533df1b3b82f4f9eef4692d0a090eae0703664001a1d29418972b32f917cbc10314df95dbb981036b20be18e SHA512 d7d5e38cb10ea183ba4dacdbcdedd950eb05502fb1992f6d300bd70724b09881c934f46ba37b28fad56624ca2f6c604d024ef9d6dbd3e137c1f45b3e280026db -DIST vagrant-2.3.7.tar.gz 3296042 BLAKE2B 720e16bed6f9088558f7a8a2af7925946c71d771fc732fd43fc277f160faa1d2c86bdb3eaab6ec0cf569e945a30593655f3551608f708ee74203392ba61ce11f SHA512 a65b1c48fad6eb04fc0097dc7c8dc4e37467c5e6406d1d384a017b127704ebd6872cd0cc69ef38b393c98d6fd58c39c806e7ef439c2b55a15bf66c3647595cc2 DIST vagrant-2.4.0.tar.gz 3334706 BLAKE2B 62b720a83646e94c7608a2f8aa7acf985aea0a3532e0474aa45c229b054ea40a6e0b23ccdbfdbf7e27e3da9a4db5f57407656fe103ead0f5a98dc27dae5ebb57 SHA512 94e866b012303b65d33b72034f08305fc04c12be40aeb95247b786b53d14259b7b5062b372e3c87523390f0539848a0eafd45b28ad16a27badecd8888541243b -EBUILD vagrant-2.3.7.ebuild 3378 BLAKE2B 1fec2008b52a3634cde5e922ed7b330dd7fdf44324843f7514a12ff813b9bae49646baae8a001d82cc0e4030b0fff9987565ca228e05369a2122aeaaf0b28bb0 SHA512 971543d0972d4ddd5442a874f0c9952569fe381ce8c07c284ab013a65b715b48271c1f9f92077219a5613bf800c80b7bcbab2f7b3643002103ef7ca43284820f +DIST vagrant-2.4.1.tar.gz 3342333 BLAKE2B c24c7c30364cb9f03f6e43422ff05954dd877e22a5e244f62cd9ce4925bf10d064fc678dee40a7affd1b6cf49c82d2d2208ee47b92baa0cda4194419ed501be4 SHA512 12ce4a2161e99970f212f265bbc79d6af38bccc44feab95db8db3b8194e8080acb846d680d1006a4e3fb1beabac33f154a7507f43223f675ba1db09a24591893 EBUILD vagrant-2.4.0-r1.ebuild 3427 BLAKE2B 2493fdfdccf53b0f64317eb8d6e94174f21e6d775f73a4e2a51db33475f6b55af5dbc60bfaaf7a48d7acdec9f6c46f7cebbd1b4319049c3d4a49b6c8911a7096 SHA512 44214078e9b9d3f70d774399ac88792886878bc0364b7efe67001f57942bf572f14c0380bab36bb434018e35ebb4e5d647c28b626ed1af495c1b14825294a67e +EBUILD vagrant-2.4.1.ebuild 3434 BLAKE2B 007d7f2b909f8b4faa204b7a95ca51d2d6fcc9a6f86686e1ab7ac06d2be68f1c9dff65a3b6f6df50ea8045ca64fc45ef66f7edd1d08b74911ca8c872de214347 SHA512 e4d13b5e0f1dda99351c702c1d56d775952f0b10cb6d8167da30497475a841e219eb15035bec617052b5318df79fc7da9f8531b6270ff45cd62d15689673fa44 MISC metadata.xml 455 BLAKE2B 01bf09c745e55dcdf7241dfdae1349fbb403f61249c0b05944347cb2f5cdf7d6a5fc7807a3f351145a41e4a5a94a5ba22195acee7c352539144277fff4696faf SHA512 1117ae7aca289842ab10ec2cf4443bf36ef7bdcd9efd0b6d1df1879f253cc137fea027a939c52f8d6990cae7a83bffafeb69f7b10660f27d278f19578ecccabd diff --git a/app-emulation/vagrant/vagrant-2.3.7.ebuild b/app-emulation/vagrant/vagrant-2.3.7.ebuild deleted file mode 100644 index 7778433218ed..000000000000 --- a/app-emulation/vagrant/vagrant-2.3.7.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -USE_RUBY="ruby31" - -RUBY_FAKEGEM_EXTENSIONS=(ext/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="MIT" -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 - >=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/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.0.5 - >=dev-ruby/ipaddr-1.2.4 -" - -ruby_add_bdepend " - >=dev-ruby/rake-13.0.0 - test? ( - ~app-emulation/vagrant-${PV} - 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/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/virtio-win/Manifest b/app-emulation/virtio-win/Manifest index 3d595eb32b6a..eacf8243a078 100644 --- a/app-emulation/virtio-win/Manifest +++ b/app-emulation/virtio-win/Manifest @@ -1,8 +1,8 @@ AUX README.gentoo 707 BLAKE2B 1a33b734540d0321aa91e4ad6b05f9f10b13fa2fdfe3ac28c2c54432bb5d0c773ae07e39c3c6e6e3da21b39f7b63d2df82ed1dd1d306133c2c0b9d407cfdffdc SHA512 42aa73f1a189521f67addfff3da3eb5ad6df81d5525284338812862dcd6f57b9be6af7625cec1a828318ac453de8d361480daf864a6cf32b713e316847bec722 -DIST virtio-win-0.1.225.iso 532060160 BLAKE2B ed0fbf486f0c576bed25f02ea09cfd957a00a42d85063feb1dd2977e2cd816601fe2b013e00abbccf07eb765da3b64b88b5675c95175fdc971a20d784c28d503 SHA512 c0a940ca747983d88876f805f7266a8aae61b83857983738d06e9d555569d2b42a9cddb77d535b4f9dbc4b1099583f8b6844f13e4bd98ea1f0f6aec22c6c9be7 DIST virtio-win-0.1.229.iso 534818816 BLAKE2B 29442b70e5809fc935940497b4bc021f6fe890beba97605b048e0c5236764d08bc164974be25bf8331136ebbdf664ea440efe1f219129a30a171134bfe369942 SHA512 e9ccb513b07cb28ab490f5d4e299d0d52ade956f82e1a708e91c1ee3af9b142fa144af0fe5287d3bbb369f586857791952de45d1241058073f5a59c1f2f913ca DIST virtio-win-0.1.240.iso 627519488 BLAKE2B e5bbf3be166508c437cfc9b7922e93f4229a63cf9cf5dffd0c8ee2836c084b92cb30c76e1cc60432508504df2874ca461481db6664823b11a76cec5186743c97 SHA512 24e0f3d9c25835f2633d2823dade95aae4884aed95a5142d87efeb4aaed48dbc04a82a34ac5310676853008e0de271dfa0747b4c619ed20fa72ffe2e93fadcf3 -EBUILD virtio-win-0.1.225.2.ebuild 857 BLAKE2B 4629d2dd3c87acccbcbc6d4344c19b74e774ef0adedc0359125e9e47db59584a85ac9fd1ecb5d81e450419a86d17d44de4938305b95e5146a82c1898f09ec9e6 SHA512 7d53ff1deda119da09d5a10d36e7060932a1174685c5c82525dbf948f02c7c0c11aa804ca97131f4073e388b203d781458447089cc7fd0ae7d0829f6dddef8ce +DIST virtio-win-0.1.248.iso 732352512 BLAKE2B b3161f020f59eadabc685155ac3a7c402762adf84fa85bc2e4f468df31adf0204b248963a11b84b18520aa815e6907cfb1618a527875a4fd72b2c2e09fc1ce5a SHA512 16cc0c58b5df6c7040893089f3eb29c074aed61d76dae6cd628d8a89a05f6223ac5d7f3f709a12417c147594a87a94cc808d1e04a6f1e407cc41f7c9f47790d1 EBUILD virtio-win-0.1.229.1.ebuild 857 BLAKE2B 4629d2dd3c87acccbcbc6d4344c19b74e774ef0adedc0359125e9e47db59584a85ac9fd1ecb5d81e450419a86d17d44de4938305b95e5146a82c1898f09ec9e6 SHA512 7d53ff1deda119da09d5a10d36e7060932a1174685c5c82525dbf948f02c7c0c11aa804ca97131f4073e388b203d781458447089cc7fd0ae7d0829f6dddef8ce EBUILD virtio-win-0.1.240.1.ebuild 858 BLAKE2B 5eb9258a937492dde09ad905011f76ec5a83a91d1422e4acb23cdf4ef9f178464b8ce86993009d1ca4be7640209d4bdd6d3c2f12799865eabc783fd9829844f6 SHA512 95a1e230a35a36097485e6fd24231940c7090b5f9d1a381e40803f00b9275db647f5b1969676f303f1afb5d81ca0af52da79fc1ba3bd24352c52d25ad2065b01 +EBUILD virtio-win-0.1.248.1.ebuild 858 BLAKE2B 660a1b09aefbbef731bec51b8c9de8ad56bea68037ee1f134b7b6d764fac891f68c9f934f1aafe28e98d47c07b48280d860158347ef703b946991d4106d5f7e8 SHA512 91242ed5ff8117e2a1290bc07eb0ceac39d25465c36a83a39afb04ceac6de8292cb1ba7cdb6185298291c2e30d8998e4c9bff921fd42ec732e4b7fa826415260 MISC metadata.xml 411 BLAKE2B a720d6789e46cf48d3d2a668b1edbc8bb6d6b837eebd19b1adfcc557dbb1313fccdd8fa174af0cc4e742c0d7f29d5f9ebef3de3e779819ab82a1ce8fc5635e27 SHA512 3729f816fad822a562ff5a8a1345c2ca20f990d35af5565008ef98370872ee0f313d0e89f0de27d08793a212737d6dd6662ce4c22b3c2a2bc43f7c8a69db46a4 diff --git a/app-emulation/virtio-win/virtio-win-0.1.225.2.ebuild b/app-emulation/virtio-win/virtio-win-0.1.225.2.ebuild deleted file mode 100644 index 1bb20ab6f1e2..000000000000 --- a/app-emulation/virtio-win/virtio-win-0.1.225.2.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# 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.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/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index 77ae8898d739..7a8ff4d13dbd 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -10,6 +10,7 @@ DIST wine-9.3.tar.xz 30098792 BLAKE2B fa6f0c73f0886918b035557a37c0553feeea5692ae DIST wine-9.4.tar.xz 30166096 BLAKE2B bd65086e6f6e11bc6c7cd65dba6e6997911851f1a2f25cad0b4f8100d695df3c76b0799768ab9047dfd5d8afc7c749a5e5c88003d2f4ca69f417387cc06d527d SHA512 fbc927b04f75fe48e52efb6599ffc84f27f1a08d180386e782c94b37b54ab2a3540ed6cd387d7a59f5aca4df2c9ac3e3c127c3067c16e2357e57b4b0a0ced99d 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 EBUILD wine-vanilla-7.0.2.ebuild 12063 BLAKE2B a7f8350b34e7dba8ebc5330d8c42f961d74a0dde81dbe68873eff3edf0c7c3c0c4eb224c2e530bea1a9e3e8eecdab558854b24d6cafaf18b3af321e0d43a96f2 SHA512 124f77719e2563d4aa370dacf4d7095808b72034792ece7b8ecd731e835f59d51bc107d496bc551a8a068026e79dec7654d2135f881b60f9bf976217d480cfb2 EBUILD wine-vanilla-8.0.2.ebuild 12151 BLAKE2B ba780c4ff9c416715b289f2e90e924752ea0b1ca2af891b944784e0ed2c820f638c41d1cb76977b82d84daff452f411c930a2f4603530486b2b9891512828b66 SHA512 7568bf4769698edca24924cdba6991aee0a48ef215e1ee65dde993c5a38a95646c5baaead981b9826fce0696436560a9e3b2c3224be2ad185a8497c017d22aec EBUILD wine-vanilla-9.0.ebuild 13624 BLAKE2B 30440f86b3ac4249110cbaaeb87857c1ab887b238934433194f3adf6de1ad7d5bfe4c50d7d7acb5d22362c2b0b23c0e8a3ce0bf62252e15c847eb3826398b23d SHA512 7f75b451702d86706e0fdecb4ef2395c5873d254892a94c616a6a9812dd9d5c751cebc255e2d5bdde852468af3dfa55f873e563316f609b5d8afea2fcec1b6e8 @@ -17,5 +18,6 @@ EBUILD wine-vanilla-9.3.ebuild 13756 BLAKE2B 90a043c49e5687f218489eafda64b7da036 EBUILD wine-vanilla-9.4.ebuild 13794 BLAKE2B 050e426b00f84fe6fa68147b53fd090064fcfc1a003e59709337771c0f1d8d13381b6dd5510e3151e04f9f54c1d5577c6459077adff6d490dd2c5fa37e5670b8 SHA512 f2c4de8401263f9df3cb43642bb05bf0b605ac6f95be00d46d1991518109b20f4eed0835ef6be6cb9625d3261c738f5fda415687131546178eccc89267a2eb6a EBUILD wine-vanilla-9.5.ebuild 13756 BLAKE2B 90a043c49e5687f218489eafda64b7da0366716df7cc13ef5505835814eb3aa2092137e285402f04b28a8adacc21a4c8e233cbfccbcd88da326b9fbeac140246 SHA512 1e847fd8d35aa7a91e6567c9990d4a5acd1bff549e492079526299c7924309966b8558747d516c2ee708a4cc5615b7accce69a94a5d4fa047b95a4149670fa3e EBUILD wine-vanilla-9.6.ebuild 13756 BLAKE2B 90a043c49e5687f218489eafda64b7da0366716df7cc13ef5505835814eb3aa2092137e285402f04b28a8adacc21a4c8e233cbfccbcd88da326b9fbeac140246 SHA512 1e847fd8d35aa7a91e6567c9990d4a5acd1bff549e492079526299c7924309966b8558747d516c2ee708a4cc5615b7accce69a94a5d4fa047b95a4149670fa3e +EBUILD wine-vanilla-9.7.ebuild 13756 BLAKE2B 90a043c49e5687f218489eafda64b7da0366716df7cc13ef5505835814eb3aa2092137e285402f04b28a8adacc21a4c8e233cbfccbcd88da326b9fbeac140246 SHA512 1e847fd8d35aa7a91e6567c9990d4a5acd1bff549e492079526299c7924309966b8558747d516c2ee708a4cc5615b7accce69a94a5d4fa047b95a4149670fa3e EBUILD wine-vanilla-9999.ebuild 13756 BLAKE2B 90a043c49e5687f218489eafda64b7da0366716df7cc13ef5505835814eb3aa2092137e285402f04b28a8adacc21a4c8e233cbfccbcd88da326b9fbeac140246 SHA512 1e847fd8d35aa7a91e6567c9990d4a5acd1bff549e492079526299c7924309966b8558747d516c2ee708a4cc5615b7accce69a94a5d4fa047b95a4149670fa3e MISC metadata.xml 2726 BLAKE2B 7dc7490fabcda06a27061726225890ee203fe7d22209697c3997f0ccdb4699bfaa09f983c22c4919ce75d2eab6ebdb1add9d9af04f24aee63bae81116fc04094 SHA512 5cdbb062462ae791ff9727d184935af3af147c0bd1e49846731941513301b720313b3356f56a8295780ab822e3117146c9a669d2d96efba6f072d84adba770e6 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..162e8b9a993c --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-9.7.ebuild @@ -0,0 +1,430 @@ +# 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 /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 + 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 +} -- cgit v1.2.3