parent
5e6b6b6d9c
commit
e857b98f41
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29738 BLAKE2B b6d5a21eda5eef720af2e1906862a10e54c84e8fb9f8e62faa4f3b74fa5a1198d04730cc1bfefcf3cf83fc082f8672c2f466b18528581417ba82fc0155277b0d SHA512 dbd30946b1435a8f525427d380ce7b78fb13f7bb2e547086096cd3ad37620d57536d71481f71d2ebb1e7d00b63573f8afe18b4ec123e250e713fdcabfcd15232
|
||||
TIMESTAMP 2024-01-25T06:10:09Z
|
||||
MANIFEST Manifest.files.gz 29770 BLAKE2B 4e256c5710edde545ce6e50f30da1025eda2e8da89a6163f1e849cac32ee67627075c776074ad555de352d61995c9f571c1b643ee2b31393dfda514294948009 SHA512 bdba88166e06a30ade839d801e48a8d5b5cfba8762b12c03b1d55820879cedad03b97a504912bd4d3afc1c98c966e518a542018cca1c3d4ccaf7b7e35bda413b
|
||||
TIMESTAMP 2024-01-27T20:40:17Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmWx+0FfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmW1ajFfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klAHfxAAo6lbmNRzhPeNia8euUu65wyM+3rCfQTxzFiKCMxlr4mLtBiqh7AcvDw2
|
||||
o0e8WGOayJA44NSUlemVL21FB8wTVjrJcfUgLrBspdROid1AvtbvhWniIJ6oPbD8
|
||||
j1Vddxk4UrqFWCBuLHPB9Us1+ucAzuNrc3sKHtcvAsIDpey7J9+s4kaneNzEaHbm
|
||||
GG1o8OY8+I5IiIhM2aQjw2gz3FQCIbaKvR/A+xiD3vaa9oxI966BIUA7svfPIrOM
|
||||
t114b6/L9toQ89KRDpASdRbCc0Wb5y5v+VZHvVicEVIgqJTbi+xIra9QDx+kYUdH
|
||||
wPIqgJWRdyWpW60ZoAK4xuojEOuYtzyjQeYd84WLgVGo4ooII9i+3Brz8k+YRADy
|
||||
R1vDlvzfVNnm1Rwh2eqmF1ClUmk1Vm9tDPgCho/NBcX7vusQ/lFBZ1oe0O507dDk
|
||||
7Qog+7BPHak+SXyg+tMpbzz1vqGasQMOyLfJqhodPe1DTODYcgdsIEtfTdRKE2lM
|
||||
hYPcjMn6YwtkNyruA9yiOnbpTWPY+xaDqqpzld1ms+m797yZjaky9C7i3xXJNcd9
|
||||
MIpOgl2D7yUxMOn32sq3QzMFVH/zk+wRJn+EOiuXUjppVSiLG+7H5srmeFEoz1I3
|
||||
IiuyayHLo3zCP9RT9v6GK5bhecS8ITyeTFgAuIT+rck94HA3EIw=
|
||||
=hHot
|
||||
klCY6hAAsp74h6OCDqPr51kvig2sfLItfMKagkc7BC3Q2+ZLOPQyZ6dCy80J1V8S
|
||||
rgXYj+3WNuHyAAtgHfPgHa8OfvJUH5co/abKGqbI9Q5vR1pnf64Ya8o6GKTPZ9pJ
|
||||
S9pXXo6hpfWeX5suan95YGmiWiYjnDDjmPiIzg8DRVYyFHdD/nSW3o9j2280SfEM
|
||||
+noqrADpLidN1Au9LKSm+vucJ2SSP+FECAulYUk+ec2uts5H1eRbGvzqQDnx+ovy
|
||||
lrpRnaXS4u9HgdfF3QX1D1bPXTUbJMxnSudY0Ivh9JyKY1rcU1N4jod5IlUgKR3w
|
||||
1PJhy8y4JrCcrwSOGu3ukEpLChDl5kG+fgIJ5Q36VcIqdnfFyxUyvcL6wk8anc3G
|
||||
Texgvy5s3Nxom0E3a9NCOpd7DYoj+a18ECLAf7RYc5eSSc2j8664cC40QRAe2o/g
|
||||
qr5MRB1daZnUV4XpUvVS0yHKWE86gZlEMAdTjw4J+dxj3gx0m+BaNmUPzTxOOvyS
|
||||
/XfZCDggF1TsyFtkXysOsx+yWaeRdRdXsxSnL1e9wv9lQZi4GBxAwWzwjb+hV30a
|
||||
ZV1z3ALhyLiEaQ4zXJg6ZymwjkLqyRQ9RKy4pgv3oBPk0GJ7PSqYWCCY+vD00xjU
|
||||
FhI1q2yxGaM4ulcDviBQRtYVujoBBc3ePiaMnWKvbf+npdBTqwo=
|
||||
=E1Km
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_XDIST=1
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local serial_tests=(
|
||||
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
|
||||
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/unit/customizations/test_sessionmanager.py
|
||||
tests/unit/test_compat.py::TestIgnoreUserSignals
|
||||
tests/unit/test_help.py
|
||||
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
|
||||
)
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
EPYTEST_XDIST= epytest "${serial_tests[@]}"
|
||||
|
||||
local EPYTEST_DESELECT=( "${serial_tests[@]}" )
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
EPYTEST_XDIST=1
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local serial_tests=(
|
||||
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
|
||||
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
|
||||
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
|
||||
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
|
||||
tests/unit/customizations/test_sessionmanager.py
|
||||
tests/unit/test_compat.py::TestIgnoreUserSignals
|
||||
tests/unit/test_help.py
|
||||
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
|
||||
)
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
EPYTEST_XDIST= epytest "${serial_tests[@]}"
|
||||
|
||||
local EPYTEST_DESELECT=( "${serial_tests[@]}" )
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit}
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
Binary file not shown.
@ -1,4 +1,7 @@
|
||||
DIST clzip-1.13.tar.gz 123369 BLAKE2B 3d6b205aa7c60e04baddcf826d3da709f58b5796c95ac348a77e9d997ab68dda750c65b78ba50656a6c986146bc87da8b3503c86a3e0d568c9e6b1550aad5997 SHA512 7b9943f3e971cb9cabadb3b0832c23984c9329cb48bbfa6fd0780146b6b3d612386b6ca8c6e688c05470e3e3474b688dfb3228ba6aff2093ea1d781eba5f2791
|
||||
DIST clzip-1.13.tar.gz.sig 72 BLAKE2B 5ad95fa29fa23679a304fb53d0a415640985d9fbc67bd47ab83991694be406a956da813329a37844c4581911fe253a027ecaf3621f5c31c28b0ac6423b89f969 SHA512 80d24b980ee78f6dc0d61412b4838f59c37f97aba65856b2622d2cbaf82650abc37c6dfc914326cfe3c534399a7023ff11a0f3865b3cdc8f7d9cfe278b5c2395
|
||||
DIST clzip-1.14.tar.gz 125412 BLAKE2B e28dc890ef233871f8b38e1d4c306032131b714a560e7ebfe756ce3bddb84c9fd0ac3a04e789884951b74760e248503ec2f3555eccf568244c3b3efeae80cb4a SHA512 54047979cc4477e8edba648074ff64b512627aba4da693052052e96faf2c41386db986d73a477aab8ebaef974d753e6b42fa53a0fd293b047efcf60b1fc7483d
|
||||
DIST clzip-1.14.tar.gz.sig 72 BLAKE2B f397d586ae3c052bdda80229993746c085196bd01e7e4eddd843ed053b8449109c774199c74c7cd97f1a19623d57965188cf3d3a046e581d9cfbae58f16723c8 SHA512 31e23c3deb63c2c09b71bc9b11d12337a629bed097905d37560f3b8cbcb4730355dc8effa050ec95c1e7e0e00eb4651fa891d9fabdf58df66563e38b3f8b6380
|
||||
EBUILD clzip-1.13.ebuild 842 BLAKE2B a2929c08e5c0d38d70f99ecfe2266fcb09d54378c552d7873f94273417fa4125b8a0c4f5ca2343f2f50c56d2840da7409e2da3bc26301b2899f35ecf0c4af2f3 SHA512 a351643d6accba1a5fe48b4aa1345ce2bdfa75fe1c3a48631d6d785b6762c3ec537e14b9571efd8e2822cc5bd554d87020ff26ac2928c65b89e550597184e92a
|
||||
EBUILD clzip-1.14.ebuild 843 BLAKE2B a23e8e3ee4a570c2be818b4113f25bed1e5e3496354dca3ef137df3d70a66ddd2f0dc69c05227c27eed4941fd49ec3979ba5ff57a300fc717f687034e2a9e3c5 SHA512 2467479cb0341c9cb7d65944980411882241dae45fc50cedc8bb44c9201791e3b75867f27667f4fe1054b4f5cc06095aa32a62158398e04d913f17d173342cce
|
||||
MISC metadata.xml 248 BLAKE2B f308d2aa052d11e427850af58bbebf95e7773f5562ed221f39043474b4c3827d724d49667edf1874272a5586a13201159f40e8f5eafb7e400e79c6566e1a6ac2 SHA512 b875c838394523483ae7d93585207eb3c642a345bbb08e1dcef3ceb737c813fa779e2f5479d48cdcc30732b8a0a9e6ecc648df940def6731e4dff43b23786e6d
|
||||
|
@ -1,4 +1,7 @@
|
||||
DIST lunzip-1.13.tar.gz 66541 BLAKE2B 45b6a4ffaac6d9b8ddeeebe5e33609bf4e671ad7370570035bacf41ee8ad35f49e14f495dfba650de284fedca1a63ebafe7f67c18083b4add94caaf7709d8e2b SHA512 67f950883b7062d37601bc16d7d64c07f6c580afbf3c0f61394dd6fb5d41c27214484b1dea7aabd41db06d18162b95b5734674646c4fcc833268cabe8cba91bb
|
||||
DIST lunzip-1.13.tar.gz.sig 72 BLAKE2B a0d852dbb5394c5fb3e287cf4111290e0c603414de5a00a2d6173821df2410e4d826554ba4e04b5e9b7df0fa247cd95335a1a227b7cf38d4c5a7f3cc436be6ef SHA512 b71a73e7ad3a25140343db92c0ccf6311d0a30c71675e01a36da4735d0e0523d12d32b6472409359345ad6c9e550dccd399442d98fde44593af42f516119b3fb
|
||||
DIST lunzip-1.14.tar.gz 69284 BLAKE2B 8ef63a5cfd0cf839889785845ec84b23451cb69b1e09c84526e000b82b73aaaa01b99407e87bde416ca2ab638d9f9688fcb37f77fd53e2a8e0875646a54d304c SHA512 2aa530c4ef7ebcfa345c8ac8701712e7f973ee4a92d34c33a03dd02a31d76507c919da373b64bc6b49b7868af8e4444d4b12bd71b8760e9b333c2a013ad95da1
|
||||
DIST lunzip-1.14.tar.gz.sig 72 BLAKE2B ab2ba6c265f197c322884898ae8ff5c8679ab8a1d2f71a2dfedcce9011e16fb723fd592b0edc3f48d540ad8d2578b799f28f9d609a7e26379e39e0cb7f908cc3 SHA512 38806848f904fb3700c908166a1ad2d601409fa13f1b0dc69372766b41a6f37ae0c5792964b8aae494320d47e603dc79f36b3fa7361ccf84b89835c14a6b7b11
|
||||
EBUILD lunzip-1.13.ebuild 836 BLAKE2B 954bd36c4243cdd53657befc2556ab617215dbbbd0a8e545c24fc56294224faae7046f38acb3e0ebccb46bfc8bfb3417897aaff2f6d86b7a8e8ff52f558d889e SHA512 8d1e25b03e6d6fd9d33d049752640b0e742bd103e410d8a35d2f871234e977bea74a8e081df5e1466b88264f272ea9ccf0ab2d23a62a19ba93bc9edc3200dfa0
|
||||
EBUILD lunzip-1.14.ebuild 837 BLAKE2B 094ba6125bc99e93e0ed569a3243f294387501a017fb645c5fbab57444c8ebaa0807e37dec5ea34c7e9ccb7fd6ddd027ee0b6e64ed71a5902ceac42ef7dd5eee SHA512 8a150479f3d4a34f40c36e743f937fe1b7c8b698c4cc0f15535cd474b1cfddd9b4bde9978b5aaec2bb833c8e420b808330a0751efc53956aaa0ce8c940c4ecc9
|
||||
MISC metadata.xml 248 BLAKE2B f308d2aa052d11e427850af58bbebf95e7773f5562ed221f39043474b4c3827d724d49667edf1874272a5586a13201159f40e8f5eafb7e400e79c6566e1a6ac2 SHA512 b875c838394523483ae7d93585207eb3c642a345bbb08e1dcef3ceb737c813fa779e2f5479d48cdcc30732b8a0a9e6ecc648df940def6731e4dff43b23786e6d
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
|
||||
inherit toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="Decompressor for the lzip format, written in C"
|
||||
HOMEPAGE="https://www.nongnu.org/lzip/lunzip.html"
|
||||
SRC_URI="https://download.savannah.gnu.org/releases/lzip/lunzip/${P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
|
||||
|
||||
src_configure() {
|
||||
# not autotools-based
|
||||
local myconf=(
|
||||
--prefix="${EPREFIX}"/usr
|
||||
CC="$(tc-getCC)"
|
||||
CPPFLAGS="${CPPFLAGS}"
|
||||
CFLAGS="${CFLAGS}"
|
||||
LDFLAGS="${LDFLAGS}"
|
||||
)
|
||||
|
||||
./configure "${myconf[@]}" || die
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
DIST xarchiver-0.5.4.21.tar.gz 1132417 BLAKE2B 38a426d4a7ac53a471aba7dec8d1da64e6bb4bab3d7efb5e8e1326dcbdfd1e98e66dab43d50cc847fb37ee754d8996233c23503f2a57776ed8e4b96da425462e SHA512 7befe5427636aaa27b669c503832927731cc9da27c698f3e2ea06d8b4579d95096613a41b54919eb3f9314791d32e73b6aecdb5e6af7b10dd154861377f2f5c4
|
||||
DIST xarchiver-0.5.4.22.tar.gz 1125943 BLAKE2B 545061ef8dda7b7d0bdf6025536310705548e48d7f60ba4484900882fb97b0c56f3faac97bb64516f6a919d04b8de082175c020951676ee4b4f59ebd1ca93a74 SHA512 e5c773fbe3d29d998e6aa10eca6cfda5a78defe8d4759d95c894b06f00c22900c8c5cca2ab39066904d19ec1c73fd7326ac16c09ca50c4520621e326f3717887
|
||||
EBUILD xarchiver-0.5.4.21.ebuild 1193 BLAKE2B 5c439ddcc7e183310b1d3736964b1b87f45d3b63f244db018d2ce48fa6f84140eb2d0551c706d09ff7e0cd6dbbd29ec86003dbc2f7256d4adc3d3bb2fa07b6a2 SHA512 4b551848aaa2dd3bca705f22f55725ac6f9cb8ed7f27f2bc7832013db0ddd1ca953a91237db9a6a0518ce53bc0a04281932df1a2d7bf6f483a8ee25c34ea71cc
|
||||
EBUILD xarchiver-0.5.4.22.ebuild 1205 BLAKE2B 2a3bf310ed2a81990238c74fe3631fe56f25813b82f39cce59aa83d6646b5e300aee69262ded5645511fafc0e00efcbdb0644d07d55dd893287de76b12006e46 SHA512 bb097cee86c983d78b839c9a0f4412a017b0ccdb2e54724831abd316f6cac2d34bbf62219e8f82eafa103946046903909e8c8c33d283c225d35832e38fa3ff6a
|
||||
MISC metadata.xml 448 BLAKE2B 5eb8d55f09ade402a421e0a40bdcea04b72fb284c6a705c03be6454e7862253344d5c8e91adc37510759745eccfe68ccd4945192e7a24beae0ad881b04f68337 SHA512 240dc27cb546ec70d0b85db8d9b8c77a38ca4773389caaaba3bc52e9dc823803c330d5a83213c6ec6a6cf3a56ffb8eb09692c446df7af42f3ecf844cbd6b13a4
|
||||
|
@ -1,61 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg-utils
|
||||
|
||||
DESCRIPTION="A GTK+ archive manager that can be used with Thunar"
|
||||
HOMEPAGE="https://github.com/ib/xarchiver/"
|
||||
SRC_URI="
|
||||
https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc"
|
||||
|
||||
DEPEND="
|
||||
>=dev-libs/glib-2:=
|
||||
x11-libs/gtk+:3=
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-text/docbook-xml-dtd
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
)
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable doc)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
elog "You need external programs for some formats, including:"
|
||||
elog "7zip - app-arch/p7zip"
|
||||
elog "arj - app-arch/arj"
|
||||
elog "lha - app-arch/lha"
|
||||
elog "lzop - app-arch/lzop"
|
||||
elog "rar - app-arch/unrar app-arch/rar"
|
||||
elog "zip - app-arch/unzip app-arch/zip"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,5 +1,11 @@
|
||||
DIST xz-5.4.5.tar.gz 2884510 BLAKE2B 647c8227080a7f37e3321e778d7f52ccb9da3810f2be81b2d2b46001605b22cef6e724f9b3facfada26a12b24401c9a11449d6066443849b37b28e0eaa199315 SHA512 91f8f548c915de0ed79cee13ce0336b51c1cebf2eb142fa1efecfd07771c662c99cad3730540fcb712057ab274130e13b87960f6b4c62f0bd9477f27a303fb2b
|
||||
DIST xz-5.4.5.tar.gz.sig 566 BLAKE2B c6ec64f92ecb30395e6d580be5d0aad1ee007585245ed42e7b05f1ea3a8cd8bf4317e8dc964c65417daa0a04e8f523c6ba8ae61a7f5b2ff3dc17dd53c7593ce2 SHA512 4f2c779d3c14bacd0451cfd68846201a48931128994c4119fcbf4f0dd7331710c32098039d38561de29327d543d67174fddbb6a83cb2fcfda9b3153cab092d4d
|
||||
DIST xz-5.4.6.tar.gz 2889306 BLAKE2B f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f23462f5f76459935f4e621538ddaa8452d2feaed278d62a596e38ed2aca18ed9e76512c4ec77fa2f4cc5f SHA512 b08a61d8d478d3b4675cb1ddacdbbd98dc6941a55bcdd81a28679e54e9367d3a595fa123ac97874a17da571c1b712e2a3e901c2737099a9d268616a1ba3de497
|
||||
DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1 SHA512 d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741
|
||||
DIST xz-5.5.1alpha.tar.gz 3020057 BLAKE2B 1a2106b9e43cb06ddde0f8a9fc86754fe2d335367035ec3349d34da5511496af0d1270cd42ce2c1c3324af74092c0eea3663746ec98195d0db449d5754253c0f SHA512 dbd164353012c9ff5ee3e776709704fcbc6e9f644fff52c75846653ca4a26b6dce1a2a5fe1663c3fc8674f99aa67a1a806eeac44cb978246223688c8c105fcf1
|
||||
DIST xz-5.5.1alpha.tar.gz.sig 566 BLAKE2B 760946fd09eccd0a221d117cc1f5b656aba5bbbfa911d987fd93c54d9905a1e51dd8c24b6927cc97dda344f2efa774b556e6919bdf0b298fa6370ac8d3a56f76 SHA512 714f07b510a4a8ff0d533e6278cd25f8ed407b3c84b6172ce9d4e9fc2dfe8b0be9849eb008ee3b7ac900f34f85946336277a2700dc5133c6dcae144b8aba6dd7
|
||||
EBUILD xz-utils-5.4.5.ebuild 3955 BLAKE2B a0b903cd6906fb604362fcc9e8aa44249946baac062438b3fd8a1901bb5fdf18d789eb1ac073894b047726849d75a6e8e48d0f955f5b22527339b780e1cfed5f SHA512 2ff0ca2035261185db82c72117bfb0ad3c5bc9dc957bf8625076def51d5010f491a76ae161084fdd2b50536882be49565c3f1185d001299dde456cedcc77d3ee
|
||||
EBUILD xz-utils-9999.ebuild 3963 BLAKE2B 014af381d74bfd1e95cb1903118bd4f813526a7d0e6f5b81f25c05b56beb1e3d9bdd6453549aa6828c54d314b73c1ddedec55130b6c105ef6e07a90b0c0603ee SHA512 666b57e3515ea1c01f64b739966c6d261ac832fd01dbc877bb7916db262bf8a89648a308fed246433fd4e1d0b870c402de774501ed4529c3bfbee14bab390b1f
|
||||
EBUILD xz-utils-5.4.6.ebuild 3967 BLAKE2B abb9dc12fd8c3540bfe66e377e0ea23be4cf22cfc8f5a0aeae9eb65f4f1decf77866fd062767a47487eeb1b2fa6f354c110cb7ff2ab6a073daeb21098f9ede83 SHA512 ed3192004e5e4ca0e211e49c269500bbfe432e78e5e59931dd30e249c4fd4c1e325fae0bc0c5b67593330dff223e8ecbe152a7dc4ed9efc4adcda1004a671f1a
|
||||
EBUILD xz-utils-5.5.1_alpha.ebuild 3989 BLAKE2B ab98171ba3f60a65b5ee43577787447b1815b79796611e51bc46191bd0ff3bb8f53693101a2b51b20242e96f1016acc06373f7b2f8925d1aecc4e28ee33ee004 SHA512 fd3efb8645332aca6d6d2f5fe7e21f094740e9ea36c9f1787f021145cdb3d113cf7f9f6400b465284648ea89c7b7ae8b4d0ae2fedab6c6ffbb621364aca13940
|
||||
EBUILD xz-utils-9999.ebuild 3989 BLAKE2B ab98171ba3f60a65b5ee43577787447b1815b79796611e51bc46191bd0ff3bb8f53693101a2b51b20242e96f1016acc06373f7b2f8925d1aecc4e28ee33ee004 SHA512 fd3efb8645332aca6d6d2f5fe7e21f094740e9ea36c9f1787f021145cdb3d113cf7f9f6400b465284648ea89c7b7ae8b4d0ae2fedab6c6ffbb621364aca13940
|
||||
MISC metadata.xml 748 BLAKE2B fe48d0e6b5aac2c843670597f0daa0202af709c27fe81889da8e4ef6877e35b30009b72831bc737b1078954b6494b508fa1b59305fdaf795db8801d20d9a0638 SHA512 6e64f0053489389818430808acb32cc1d3b33013978adf4952fbf57ab555e0710a106623ac1eb67405f1dd91c33397c5c70bddc9c5015878f280266b29b4e189
|
||||
|
@ -0,0 +1,146 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
# Per tukaani.org, git.tukaani.org is a mirror of github and
|
||||
# may be behind.
|
||||
EGIT_REPO_URI="
|
||||
https://github.com/tukaani-project/xz
|
||||
https://git.tukaani.org/xz.git
|
||||
"
|
||||
inherit git-r3 autotools
|
||||
|
||||
# bug #272880 and bug #286068
|
||||
BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
|
||||
mirror://sourceforge/lzmautils/${MY_P}.tar.gz
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz.sig
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||
HOMEPAGE="https://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="doc +extra-filters pgo nls static-libs"
|
||||
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
# Allow building shared libs on Solaris/x64
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-threads
|
||||
$(multilib_native_use_enable doc)
|
||||
$(use_enable nls)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use extra-filters ; then
|
||||
myconf+=(
|
||||
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||
--enable-encoders=lzma1,lzma2
|
||||
--enable-decoders=lzma1,lzma2
|
||||
|
||||
# those are used by default, depending on preset
|
||||
--enable-match-finders=hc3,hc4,bt4
|
||||
|
||||
# CRC64 is used by default, though some (old?) files use CRC32
|
||||
--enable-checks=crc32,crc64
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||
|
||||
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||
myconf+=( --disable-path-for-script )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
|
||||
# See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
|
||||
|
||||
if use pgo ; then
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
if use doc ; then
|
||||
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
@ -0,0 +1,146 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
# Per tukaani.org, git.tukaani.org is a mirror of github and
|
||||
# may be behind.
|
||||
EGIT_REPO_URI="
|
||||
https://github.com/tukaani-project/xz
|
||||
https://git.tukaani.org/xz.git
|
||||
"
|
||||
inherit git-r3 autotools
|
||||
|
||||
# bug #272880 and bug #286068
|
||||
BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
|
||||
mirror://sourceforge/lzmautils/${MY_P}.tar.gz
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
|
||||
https://tukaani.org/xz/${MY_P}.tar.gz.sig
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||
HOMEPAGE="https://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
|
||||
SLOT="0"
|
||||
IUSE="doc +extra-filters pgo nls static-libs"
|
||||
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
|
||||
fi
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
# Allow building shared libs on Solaris/x64
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-threads
|
||||
$(multilib_native_use_enable doc)
|
||||
$(use_enable nls)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use extra-filters ; then
|
||||
myconf+=(
|
||||
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||
--enable-encoders=lzma1,lzma2
|
||||
--enable-decoders=lzma1,lzma2
|
||||
|
||||
# those are used by default, depending on preset
|
||||
--enable-match-finders=hc3,hc4,bt4
|
||||
|
||||
# CRC64 is used by default, though some (old?) files use CRC32
|
||||
--enable-checks=crc32,crc64
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||
|
||||
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||
myconf+=( --disable-path-for-script )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
|
||||
# See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
|
||||
|
||||
if use pgo ; then
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
if use doc ; then
|
||||
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
Binary file not shown.
@ -1,5 +1,4 @@
|
||||
DIST cdrtools-3.02a09.tar.bz2 2156745 BLAKE2B 3e7a7ed65faffc67d53df8dff78562dd28f2e71bb01c36f9c57c033a4a812e6a5579a212322a15c8abb5c8005d38e6e9ba5a5bfab46d9a729a673aa8ce3425e7 SHA512 59c31186f163c7aaa96083efeb0bc31e697c5d53d3343ec487eddd90dc8df6cfee50a69859a64a7004585c73a081cc453cc647c563b32ef74070d075039342d4
|
||||
EBUILD cdrtools-3.02_alpha09-r3.ebuild 8147 BLAKE2B 71ed8d1208439b18d98690015095b7da8fc2f5b146a42353e292561c8603453eca738aa77b81c4a367554c2c1d4c81b7480c7fe258ac90ff52bf5ee829b438c4 SHA512 2c22f53c3dd997836350788eec396f90abe04bb6ce77397488fc2256d2ec83f33391575a88c4e9b81daa47f9df493bcd5718c15a6fd03b13af0ffa2b493faa51
|
||||
EBUILD cdrtools-3.02_alpha09-r4.ebuild 8978 BLAKE2B 8cd3771a41b785e1d9197c5ac2c311bf763d963d1aa2dffffab215e91eaf3e3cceb341bf452a84e99fe26cacd504c618d8603c515fcd0f1f64968b189bb156e9 SHA512 7e4261758b4710c85032397364b0066d8842b932f4faff6de655ad43b08575b6a48c18565e466ed34abbf94a7a122a23526405f8c3845368a604c8752d15d6c2
|
||||
EBUILD cdrtools-3.02_alpha09-r5.ebuild 9159 BLAKE2B 79a1da420177854fe22972b8a56dc162cd3b492c998144ed486482af1df948c4122b8d1e38ab9833be59c04d63003006ccba795ded28360a81563d5b6dc957fe SHA512 912b3df17ad0eff70705b8b18a41f9b5016510abe3d94b70c1576d0af8c0d039883cbc625c2dcdb3eae8a24fdc5d28a3031b611cba3e4601f6953e82ecc1142d
|
||||
MISC metadata.xml 445 BLAKE2B 43f12bca87633d1b039beed2fb401b652eafb937afc8a27d9d84885d306636bc29978beb17426dc782cb7c2e7ba9333b9346b6455fa72db2b778800f39995476 SHA512 c552eae00d8560d482fcb02799f064f5481e67ec12107760c841620db2d3023826377e186f5dc1b3555eea9b40964b4c7020b1deb82574ff1ff3ad7fd957bde9
|
||||
|
@ -1,303 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit fcaps toolchain-funcs flag-o-matic gnuconfig
|
||||
|
||||
MY_P="${P/_alpha/a}"
|
||||
|
||||
DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord"
|
||||
HOMEPAGE="https://sourceforge.net/projects/cdrtools/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha')/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 CDDL-Schily"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="acl caps nls unicode selinux"
|
||||
|
||||
BDEPEND="
|
||||
nls? ( >=sys-devel/gettext-0.18.1.1 )
|
||||
x11-misc/makedepend
|
||||
"
|
||||
RDEPEND="
|
||||
acl? ( virtual/acl )
|
||||
caps? ( sys-libs/libcap )
|
||||
nls? ( virtual/libintl )
|
||||
selinux? ( sec-policy/selinux-cdrecord )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${P/_alpha[0-9][0-9]}
|
||||
|
||||
FILECAPS=(
|
||||
cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_ipc_lock,cap_sys_rawio+ep usr/bin/cdrecord --
|
||||
cap_dac_override,cap_sys_admin,cap_sys_nice,cap_net_bind_service,cap_sys_rawio+ep usr/bin/cdda2wav --
|
||||
cap_dac_override,cap_sys_admin,cap_net_bind_service,cap_sys_rawio+ep usr/bin/readcd
|
||||
)
|
||||
|
||||
cdrtools_os() {
|
||||
local os="linux"
|
||||
[[ ${CHOST} == *-darwin* ]] && os="mac-os10"
|
||||
echo "${os}"
|
||||
}
|
||||
|
||||
symlink_build_rules() {
|
||||
local cputype="$1"
|
||||
pushd "${S}"/RULES > /dev/null || die
|
||||
ln -sf i586-linux-cc.rul "${cputype}"-linux-cc.rul || die
|
||||
ln -sf i586-linux-clang.rul "${cputype}"-linux-clang.rul || die
|
||||
ln -sf i586-linux-clang32.rul "${cputype}"-linux-clang32.rul || die
|
||||
ln -sf i586-linux-clang64.rul "${cputype}"-linux-clang64.rul || die
|
||||
ln -sf i586-linux-gcc.rul "${cputype}"-linux-gcc.rul || die
|
||||
ln -sf i586-linux-gcc32.rul "${cputype}"-linux-gcc32.rul || die
|
||||
ln -sf i586-linux-gcc64.rul "${cputype}"-linux-gcc64.rul || die
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
gnuconfig_update
|
||||
|
||||
# Remove profiled make files.
|
||||
find -name '*_p.mk' -delete || die "delete *_p.mk"
|
||||
|
||||
# Adjusting hardcoded paths.
|
||||
sed -i -e "s|opt/schily|usr|" \
|
||||
$(find ./ -type f -name \*.[0-9ch] -exec grep -l 'opt/schily' '{}' '+') \
|
||||
|| die "sed opt/schily"
|
||||
|
||||
sed -i -e "s|\(^INSDIR=\t\tshare/doc/\)|\1${PF}/|" \
|
||||
$(find ./ -type f -exec grep -l '^INSDIR.\+doc' '{}' '+') \
|
||||
|| die "sed doc"
|
||||
|
||||
# Respect libdir.
|
||||
sed -i -e "s|\(^INSDIR=\t\t\)lib|\1$(get_libdir)|" \
|
||||
$(find ./ -type f -exec grep -l '^INSDIR.\+lib\(/siconv\)\?$' '{}' '+') \
|
||||
|| die "sed multilib"
|
||||
|
||||
# Do not install static libraries.
|
||||
sed -i -e "s|include\t\t.*rules.lib||" \
|
||||
$(find ./ -type f -exec grep -l '^include.\+rules\.lib' '{}' '+') \
|
||||
|| die "sed rules"
|
||||
|
||||
# Don't quote $(MAKE)
|
||||
sed -i -e 's|"$(MAKE)"|$(MAKE)|' \
|
||||
$(find ./RULES -type f -exec grep -l '"$(MAKE)"' '{}' '+') \
|
||||
|| die "sed RULES/"
|
||||
|
||||
# Enable verbose build.
|
||||
sed -i -e '/@echo.*==>.*;/s:@echo[^;]*;:&set -x;:' \
|
||||
RULES/*.rul RULES/rules.prg RULES/rules.inc \
|
||||
|| die "sed verbose rules"
|
||||
|
||||
# Respect CC/CXX variables.
|
||||
cd "${S}"/RULES || die
|
||||
local tcCC="$(tc-getCC)"
|
||||
local tcCXX="$(tc-getCXX)"
|
||||
|
||||
sed -i -e "/cc-config.sh/s|\$(C_ARCH:%64=%) \$(CCOM_DEF)|${tcCC} ${tcCC}|" \
|
||||
rules1.top || die "sed rules1.top"
|
||||
sed -i -e "/^CC_COM_DEF=/s|gcc|${tcCC}|" \
|
||||
-e "/^CC++_COM_DEF=/s|g++|${tcCXX}|" \
|
||||
-e "/COPTOPT=/s|-O||" \
|
||||
-e 's|$(GCCOPTOPT)||' \
|
||||
cc-gcc.rul || die "sed cc-gcc.rul"
|
||||
sed -i -e "s|^#\(CONFFLAGS +=\).*|\1\t-cc=${tcCC}|" \
|
||||
rules.cnf || die "sed rules.cnf"
|
||||
|
||||
# Add support for arm64
|
||||
symlink_build_rules aarch64_be
|
||||
|
||||
# fix RISC-V build err, bug 811375
|
||||
symlink_build_rules riscv
|
||||
symlink_build_rules riscv64
|
||||
|
||||
# Add support for loong
|
||||
symlink_build_rules loongarch64
|
||||
|
||||
# Schily make setup.
|
||||
cd "${S}"/DEFAULTS || die
|
||||
local os=$(cdrtools_os)
|
||||
|
||||
sed -i \
|
||||
-e "s|^\(DEFLINKMODE=\).*|\1\tdynamic|" \
|
||||
-e "s|^\(LINUX_INCL_PATH=\).*|\1|" \
|
||||
-e "s|^\(LDPATH=\).*|\1|" \
|
||||
-e "s|^\(RUNPATH=\).*|\1|" \
|
||||
-e "s|^\(INS_BASE=\).*|\1\t${ED}/usr|" \
|
||||
-e "s|^\(INS_RBASE=\).*|\1\t${ED}|" \
|
||||
-e "s|^\(DEFINSGRP=\).*|\1\t0|" \
|
||||
-e '/^DEFUMASK/s,002,022,g' \
|
||||
Defaults.${os} || die "sed Schily make setup"
|
||||
# re DEFUMASK above:
|
||||
# bug 486680: grsec TPE will block the exec if the directory is
|
||||
# group-writable. This is painful with cdrtools, because it makes a bunch of
|
||||
# group-writable directories during build. Change the umask on their
|
||||
# creation to prevent this.
|
||||
}
|
||||
|
||||
ac_cv_sizeof() {
|
||||
cat <<-EOF >"${T}"/test.c
|
||||
#include <inttypes.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
int main () {
|
||||
static int test_array [1 - 2 * !((sizeof(TYPE)) == LEN)];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
}
|
||||
EOF
|
||||
|
||||
local i=1
|
||||
while [[ ${i} -lt 20 ]] ; do
|
||||
if ${CC} ${CPPFLAGS} ${CFLAGS} -c "${T}"/test.c -o /dev/null -DTYPE="$1" -DLEN=$i 2>/dev/null; then
|
||||
echo ${i}
|
||||
return 0
|
||||
fi
|
||||
: $(( i += 1 ))
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use acl || export ac_cv_header_sys_acl_h="no"
|
||||
use caps || export ac_cv_lib_cap_cap_get_proc="no"
|
||||
export ac_cv_header_pulse_pulseaudio_h="no"
|
||||
export ac_cv_header_alsa_asoundlib_h="no"
|
||||
export ac_cv_lib_asound_snd_pcm_open="no"
|
||||
|
||||
# skip obsolete configure script
|
||||
if tc-is-cross-compiler ; then
|
||||
# Cache known values for targets. #486680
|
||||
|
||||
tc-export CC
|
||||
local var val t types=(
|
||||
char "short int" int "long int" "long long"
|
||||
"unsigned char" "unsigned short int" "unsigned int"
|
||||
"unsigned long int" "unsigned long long"
|
||||
float double "long double" size_t ssize_t ptrdiff_t
|
||||
mode_t uid_t gid_t pid_t dev_t time_t wchar_t
|
||||
"char *" "unsigned char *"
|
||||
)
|
||||
for t in "${types[@]}" ; do
|
||||
var="ac_cv_sizeof_${t// /_}"
|
||||
var=${var//[*]/p}
|
||||
val=$(ac_cv_sizeof "${t}") || die "could not compute ${t}"
|
||||
export "${var}=${val}"
|
||||
einfo "Computing sizeof(${t}) as ${val}"
|
||||
done
|
||||
# We don't have these types.
|
||||
export ac_cv_sizeof___int64=0
|
||||
export ac_cv_sizeof_unsigned___int64=0
|
||||
export ac_cv_sizeof_major_t=${ac_cv_sizeof_dev_t}
|
||||
export ac_cv_sizeof_minor_t=${ac_cv_sizeof_dev_t}
|
||||
export ac_cv_sizeof_wchar=${ac_cv_sizeof_wchar_t}
|
||||
|
||||
export ac_cv_type_prototypes="yes"
|
||||
export ac_cv_func_mlock{,all}="yes"
|
||||
export ac_cv_func_{e,f,g}cvt=$(usex elibc_glibc)
|
||||
export ac_cv_func_dtoa_r="no"
|
||||
export ac_cv_func_sys_siglist{,_def}="no"
|
||||
export ac_cv_func_printf_{j,ll}="yes"
|
||||
export ac_cv_realloc_null="yes"
|
||||
export ac_cv_no_user_malloc="no"
|
||||
export ac_cv_var_timezone="yes"
|
||||
export ac_cv_var___progname{,_full}="yes"
|
||||
export ac_cv_fnmatch_igncase="yes"
|
||||
export ac_cv_file__dev_{fd_{0,1,2},null,std{err,in,out},tty,zero}="yes"
|
||||
export ac_cv_file__usr_src_linux_include="no"
|
||||
|
||||
case $(cdrtools_os) in
|
||||
linux)
|
||||
export ac_cv_func_bsd_{g,s}etpgrp="no"
|
||||
export ac_cv_hard_symlinks="yes"
|
||||
export ac_cv_link_nofollow="yes"
|
||||
export ac_cv_access_e_ok="no"
|
||||
|
||||
export ac_cv_dev_minor_noncontig="yes"
|
||||
case ${ac_cv_sizeof_long_int} in
|
||||
4) export ac_cv_dev_minor_bits="32";;
|
||||
8) export ac_cv_dev_minor_bits="44";;
|
||||
esac
|
||||
|
||||
cat <<-EOF >"${T}"/test.c
|
||||
struct {
|
||||
char start[6];
|
||||
unsigned char x1:4;
|
||||
unsigned char x2:4;
|
||||
char end[5];
|
||||
} a = {
|
||||
.start = {'S', 't', 'A', 'r', 'T', '_'},
|
||||
.x1 = 5,
|
||||
.x2 = 4,
|
||||
.end = {'_', 'e', 'N', 'd', 'X'},
|
||||
};
|
||||
EOF
|
||||
${CC} ${CPPFLAGS} ${CFLAGS} -c "${T}"/test.c -o "${T}"/test.o
|
||||
if grep -q 'StArT_E_eNdX' "${T}"/test.o ; then
|
||||
export ac_cv_c_bitfields_htol="no"
|
||||
elif grep -q 'StArT_T_eNdX' "${T}"/test.o ; then
|
||||
export ac_cv_c_bitfields_htol="yes"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use unicode; then
|
||||
local flags="$(test-flags -finput-charset=ISO-8859-1 -fexec-charset=UTF-8)"
|
||||
if [[ -n ${flags} ]]; then
|
||||
append-flags ${flags}
|
||||
else
|
||||
ewarn "Your compiler does not support the options required to build"
|
||||
ewarn "cdrtools with unicode in USE. unicode flag will be ignored."
|
||||
fi
|
||||
fi
|
||||
|
||||
# If not built with -j1, "sometimes" cdda2wav will not be built.
|
||||
emake -j1 CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" C++OPTX="${CXXFLAGS}" \
|
||||
LDOPTX="${LDFLAGS}" GMAKE_NOWARN="true"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# If not built with -j1, "sometimes" manpages are not installed.
|
||||
emake -j1 CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" C++OPTX="${CXXFLAGS}" \
|
||||
LDOPTX="${LDFLAGS}" GMAKE_NOWARN="true" install
|
||||
|
||||
# These symlinks are for compat with cdrkit.
|
||||
dosym schily /usr/include/scsilib
|
||||
dosym ../scg /usr/include/schily/scg
|
||||
|
||||
dodoc ABOUT Changelog* CONTRIBUTING PORTING README.linux-shm READMEs/README.linux
|
||||
|
||||
cd "${S}"/cdda2wav || die
|
||||
docinto cdda2wav
|
||||
dodoc Changelog FAQ Frontends HOWTOUSE NEEDED README THANKS TODO
|
||||
|
||||
cd "${S}"/mkisofs || die
|
||||
docinto mkisofs
|
||||
dodoc ChangeLog* TODO
|
||||
|
||||
# Remove man pages related to the build system
|
||||
rm -rvf "${ED}"/usr/share/man/man5 || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fcaps_pkg_postinst
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
einfo
|
||||
einfo "Darwin/OS X use the following device names:"
|
||||
einfo
|
||||
einfo "CD burners: (probably) ./cdrecord dev=IOCompactDiscServices"
|
||||
einfo
|
||||
einfo "DVD burners: (probably) ./cdrecord dev=IODVDServices"
|
||||
einfo
|
||||
fi
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
DIST xfburn-0.6.2.tar.bz2 869745 BLAKE2B ed8658d729dc0cf1ee40773fa82baf9a5301225bce4c971201ae8d21bffb74e81fb9d1b674f8b9e0bc55585a3fc9f380a0aa3718173ce7425d40f3dfcd4e1fb6 SHA512 c74d21244b5029aaa72c4911ea7549458aea161623a6a020a165b8148f320053a83189de87f71192f006579ca435558d0c07e1a8aa4165db8cfb30581f8882b4
|
||||
DIST xfburn-0.7.0.tar.bz2 923498 BLAKE2B 27c80f20306b1097f4d9176c2b9278b6ec5628eda6c36779270eca4fb2387ca425450201d6a4ae171aa8ce2fa50243614ae30d4561c72e3b70727cfcf54c7c34 SHA512 5ac679926809839d36c94d918ebc9bb409b9940127eba1cae6daf6614288f5d18181be5b7b4d249f0f0e973c2a4a22b8b3ce5709a2d23e5d4dd3b412cf5846d1
|
||||
EBUILD xfburn-0.6.2.ebuild 1151 BLAKE2B dfb5e24c01a8e092c526501f47273f37818d6f06b183d356414b257cec3ce9e96c42a2637b4832175b050b300154ebc945e7c8e4ff01837a84369feb97e78521 SHA512 21960c7c85918176b28334a1d886aeb7f8039527daad665674e895e1e90c65a24e30d6d3dab06cfa09d8453cbbed3f72342bb05909dd34a3078ee9a33cbb18d4
|
||||
EBUILD xfburn-0.7.0.ebuild 1246 BLAKE2B 1b56d1104e601a4dc32eca0df5fce53fdf7f96e78ad130617ccd649deaca024a105975777c45da139d58ba2d77d5c0b21df577adb4aaafe71376a63d67b0fcd7 SHA512 35b410b106243f6723af9572c819db0fd68050fb49f0abd710b352c557b009cb020828576e2f732f9727f96911747f8df766a049749dad081b2e22a1316493c0
|
||||
MISC metadata.xml 482 BLAKE2B 644a750c09dc06f244719cb500f57a1c3c8f514f3ffb667248371b1ae1c0bcd32f87201485c042ac48963d20c45eadfd48f097699c9780c688adffad5adc2090 SHA512 7b523ee33b180c71c3cc3fe69f7c8ed456dbfa44957f6494283f153a7dbea924e4b7c84f1eec554b37b009a35194f4eb5b3c4ea2febe45ae899aa1f1df3a94bb
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit xdg-utils
|
||||
|
||||
DESCRIPTION="GTK+ based CD and DVD burning application"
|
||||
HOMEPAGE="https://docs.xfce.org/apps/xfburn/start"
|
||||
SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm ~ppc x86"
|
||||
IUSE="gstreamer +udev"
|
||||
|
||||
RDEPEND=">=dev-libs/glib-2.32:=
|
||||
>=dev-libs/libburn-0.4.2:=
|
||||
>=dev-libs/libisofs-0.6.2:=
|
||||
>=x11-libs/gtk+-3.20:3=
|
||||
>=xfce-base/exo-0.11:=
|
||||
>=xfce-base/libxfce4ui-4.12:=
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0=
|
||||
media-libs/gst-plugins-base:1.0= )
|
||||
udev? ( dev-libs/libgudev:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/intltool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
# fix bashism
|
||||
# https://gitlab.xfce.org/apps/xfburn/-/merge_requests/36
|
||||
sed -i -e 's:== x:= x:' configure || die
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
$(use_enable udev gudev)
|
||||
$(use_enable gstreamer)
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,206 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit bash-completion-r1 go-module linux-info optfeature systemd verify-sig
|
||||
|
||||
DESCRIPTION="Modern, secure and powerful system container and virtual machine manager"
|
||||
HOMEPAGE="https://linuxcontainers.org/incus/introduction/ https://github.com/lxc/incus"
|
||||
SRC_URI="https://linuxcontainers.org/downloads/incus/${P}.tar.xz
|
||||
verify-sig? ( https://linuxcontainers.org/downloads/incus/${P}.tar.xz.asc )"
|
||||
|
||||
LICENSE="Apache-2.0 BSD LGPL-3 MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="apparmor fuidshift nls"
|
||||
|
||||
DEPEND="acct-group/incus
|
||||
acct-group/incus-admin
|
||||
app-arch/xz-utils
|
||||
>=app-containers/lxc-5.0.0:=[apparmor?,seccomp(+)]
|
||||
dev-db/sqlite:3
|
||||
dev-libs/cowsql
|
||||
dev-libs/lzo
|
||||
>=dev-libs/raft-0.18.3:=[lz4]
|
||||
>=dev-util/xdelta-3.0[lzma(+)]
|
||||
net-dns/dnsmasq[dhcp]
|
||||
sys-libs/libcap
|
||||
virtual/udev"
|
||||
RDEPEND="${DEPEND}
|
||||
fuidshift? ( !app-containers/lxd )
|
||||
net-firewall/ebtables
|
||||
net-firewall/iptables
|
||||
sys-apps/iproute2
|
||||
sys-fs/fuse:*
|
||||
>=sys-fs/lxcfs-5.0.0
|
||||
sys-fs/squashfs-tools[lzma]
|
||||
virtual/acl"
|
||||
BDEPEND="dev-lang/go
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
|
||||
|
||||
CONFIG_CHECK="
|
||||
~CGROUPS
|
||||
~IPC_NS
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
|
||||
~SECCOMP
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
|
||||
~KVM
|
||||
~MACVTAP
|
||||
~VHOST_VSOCK
|
||||
"
|
||||
|
||||
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."
|
||||
|
||||
WARNING_KVM="CONFIG_KVM and CONFIG_KVM_AMD/-INTEL is required for virtual machines."
|
||||
WARNING_MACVTAP="CONFIG_MACVTAP is required for virtual machines."
|
||||
WARNING_VHOST_VSOCK="CONFIG_VHOST_VSOCK is required for virtual machines."
|
||||
|
||||
# Go magic.
|
||||
QA_PREBUILT="/usr/bin/incus
|
||||
/usr/bin/lxc-to-incus
|
||||
/usr/bin/incus-agent
|
||||
/usr/bin/incus-benchmark
|
||||
/usr/bin/incus-migrate
|
||||
/usr/sbin/fuidshift
|
||||
/usr/sbin/lxd-to-incus
|
||||
/usr/sbin/incusd"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
|
||||
|
||||
# The testsuite must be run as root.
|
||||
# make: *** [Makefile:156: check] Error 1
|
||||
RESTRICT="test"
|
||||
|
||||
GOPATH="${S}/_dist"
|
||||
|
||||
src_prepare() {
|
||||
export GOPATH="${S}/_dist"
|
||||
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e "s:\./configure:./configure --prefix=/usr --libdir=${EPREFIX}/usr/lib/incus: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.fd:g" \
|
||||
doc/environment.md \
|
||||
internal/server/apparmor/instance.go \
|
||||
internal/server/apparmor/instance_qemu.go \
|
||||
internal/server/instance/drivers/driver_qemu.go || die "Failed to fix hardcoded ovmf paths."
|
||||
|
||||
# Fix hardcoded virtfs-proxy-helper file path, see bug 798924
|
||||
sed -i \
|
||||
-e "s:/usr/lib/qemu/virtfs-proxy-helper:/usr/libexec/virtfs-proxy-helper:g" \
|
||||
internal/server/device/device_utils_disk.go || die "Failed to fix virtfs-proxy-helper path."
|
||||
|
||||
cp "${FILESDIR}"/incus-0.4.service "${T}"/incus.service || die
|
||||
if use apparmor; then
|
||||
sed -i \
|
||||
'/^EnvironmentFile=.*/a ExecStartPre=\/usr\/libexec\/lxc\/lxc-apparmor-load' \
|
||||
"${T}"/incus.service || die
|
||||
fi
|
||||
|
||||
# Disable -Werror's from go modules.
|
||||
find "${S}" -name "cgo.go" -exec sed -i "s/ -Werror / /g" {} + || die
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() {
|
||||
export GOPATH="${S}/_dist"
|
||||
export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
|
||||
|
||||
for k in incus-benchmark incus-user incus lxc-to-incus ; do
|
||||
ego install -v -x "${S}/cmd/${k}"
|
||||
done
|
||||
|
||||
if use fuidshift ; then
|
||||
ego install -v -x "${S}/cmd/fuidshift"
|
||||
fi
|
||||
|
||||
ego install -v -x -tags libsqlite3 "${S}"/cmd/incusd
|
||||
|
||||
# Needs to be built statically
|
||||
CGO_ENABLED=0 go install -v -tags netgo "${S}"/cmd/incus-migrate
|
||||
CGO_ENABLED=0 go install -v -tags agent,netgo "${S}"/cmd/incus-agent
|
||||
|
||||
cd "${S}"/cmd/lxd-to-incus || die
|
||||
ego build -v -x ./
|
||||
cd "${S}" || die
|
||||
|
||||
use nls && emake build-mo
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
export GOPATH="${S}/_dist"
|
||||
local bindir="_dist/bin"
|
||||
|
||||
newsbin "${FILESDIR}"/incus-startup-0.4.sh incus-startup
|
||||
|
||||
# Admin tools
|
||||
for l in incusd incus-user ; do
|
||||
dosbin ${bindir}/${l}
|
||||
done
|
||||
dosbin cmd/lxd-to-incus/lxd-to-incus
|
||||
|
||||
# User tools
|
||||
for m in incus-agent incus-benchmark incus-migrate incus lxc-to-incus ; do
|
||||
dobin ${bindir}/${m}
|
||||
done
|
||||
|
||||
# fuidshift, should be moved under admin tools at some point
|
||||
if use fuidshift ; then
|
||||
dosbin ${bindir}/fuidshift
|
||||
fi
|
||||
|
||||
newconfd "${FILESDIR}"/incus-0.4.confd incus
|
||||
newinitd "${FILESDIR}"/incus-0.4.initd incus
|
||||
newinitd "${FILESDIR}"/incus-user-0.4.initd incus-user
|
||||
|
||||
systemd_dounit "${T}"/incus.service
|
||||
systemd_newunit "${FILESDIR}"/incus-0.4.socket incus.socket
|
||||
systemd_newunit "${FILESDIR}"/incus-startup-0.4.service incus-startup.service
|
||||
systemd_newunit "${FILESDIR}"/incus-user-0.4.service incus-user.service
|
||||
systemd_newunit "${FILESDIR}"/incus-user-0.4.socket incus-user.socket
|
||||
|
||||
dobashcomp scripts/bash/incus
|
||||
|
||||
dodoc AUTHORS
|
||||
dodoc -r doc/*
|
||||
use nls && domo po/*.mo
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog
|
||||
elog "Please see"
|
||||
elog " https://wiki.gentoo.org/wiki/Incus"
|
||||
elog " https://wiki.gentoo.org/wiki/Incus#Migrating_from_LXD"
|
||||
elog
|
||||
optfeature "virtual machine support" app-emulation/qemu[spice,usbredir,virtfs]
|
||||
optfeature "btrfs storage backend" sys-fs/btrfs-progs
|
||||
optfeature "ipv6 support" net-dns/dnsmasq[ipv6]
|
||||
optfeature "full incus-migrate support" net-misc/rsync
|
||||
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 incus group."
|
||||
elog
|
||||
}
|
Binary file not shown.
@ -1,166 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Maintainers should:
|
||||
# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
|
||||
# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
|
||||
# (find the one for the current release then subscribe to it +
|
||||
# any subsequent ones linked within so you're covered for a while.)
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_OPTIONAL=1
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
|
||||
|
||||
# in-source builds are not supported:
|
||||
# * https://dev.gnupg.org/T6313#166339
|
||||
# * https://dev.gnupg.org/T6673#174545
|
||||
inherit distutils-r1 libtool flag-o-matic out-of-source qmake-utils toolchain-funcs verify-sig
|
||||
|
||||
DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use"
|
||||
HOMEPAGE="https://www.gnupg.org/related_software/gpgme"
|
||||
SRC_URI="
|
||||
mirror://gnupg/gpgme/${P}.tar.bz2
|
||||
verify-sig? ( mirror://gnupg/gpgme/${P}.tar.bz2.sig )
|
||||
"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
# Please check ABI on each bump, even if SONAMEs didn't change: bug #833355
|
||||
# Use e.g. app-portage/iwdevtools integration with dev-libs/libabigail's abidiff.
|
||||
# Subslot: SONAME of each: <libgpgme.libgpgmepp.libqgpgme.FUDGE>
|
||||
# Bump FUDGE if a release is made which breaks ABI without changing SONAME.
|
||||
# (Reset to 0 if FUDGE != 0 if libgpgme/libgpgmepp/libqpggme change.)
|
||||
SLOT="1/11.6.15.2"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="common-lisp static-libs +cxx python qt5 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
# - On each bump, update dep bounds on each version from configure.ac!
|
||||
RDEPEND="
|
||||
>=app-crypt/gnupg-2
|
||||
>=dev-libs/libassuan-2.5.3:=
|
||||
>=dev-libs/libgpg-error-1.36:=
|
||||
>=dev-libs/libgpg-error-1.46-r1
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
qt5? ( dev-qt/qtcore:5 )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
qt5? ( dev-qt/qttest:5 )
|
||||
)
|
||||
"
|
||||
#doc? ( app-text/doxygen[dot] )
|
||||
BDEPEND="
|
||||
python? ( dev-lang/swig )
|
||||
verify-sig? ( sec-keys/openpgp-keys-gnupg )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
|
||||
# bug #697456
|
||||
addpredict /run/user/$(id -u)/gnupg
|
||||
|
||||
local MAX_WORKDIR=66
|
||||
if use test && [[ "${#WORKDIR}" -gt "${MAX_WORKDIR}" ]]; then
|
||||
eerror "Unable to run tests as WORKDIR='${WORKDIR}' is longer than ${MAX_WORKDIR} which causes failure!"
|
||||
die "Could not run tests as requested with too-long WORKDIR."
|
||||
fi
|
||||
|
||||
# Make best effort to allow longer PORTAGE_TMPDIR
|
||||
# as usock limitation fails build/tests
|
||||
ln -s "${P}" "${WORKDIR}/b" || die
|
||||
S="${WORKDIR}/b"
|
||||
}
|
||||
|
||||
my_src_configure() {
|
||||
local languages=()
|
||||
|
||||
# bug #847955
|
||||
append-lfs-flags
|
||||
|
||||
if use common-lisp ; then
|
||||
languages+=( "cl" )
|
||||
fi
|
||||
|
||||
if use cxx ; then
|
||||
languages+=( "cpp" )
|
||||
fi
|
||||
|
||||
# TODO: qt6? but qt5 and qt5 are mutually exclusive :(
|
||||
if use qt5; then
|
||||
languages+=( "qt5" )
|
||||
|
||||
#use doc ||
|
||||
export DOXYGEN=true
|
||||
export MOC="$(qt5_get_bindir)/moc"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
$(use test || echo "--disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test")
|
||||
--enable-languages="${languages[*]}"
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if use python ; then
|
||||
emake -C lang/python prepare
|
||||
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_configure
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
my_src_compile() {
|
||||
default
|
||||
|
||||
if use python ; then
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_compile
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
my_src_test() {
|
||||
default
|
||||
|
||||
if use python ; then
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
emake -C lang/python/tests check \
|
||||
PYTHON=${EPYTHON} \
|
||||
PYTHONS=${EPYTHON} \
|
||||
TESTFLAGS="--python-libdir=${BUILD_DIR}/lib"
|
||||
}
|
||||
|
||||
my_src_install() {
|
||||
default
|
||||
|
||||
if use python ; then
|
||||
pushd lang/python > /dev/null || die
|
||||
top_builddir="../.." srcdir="${S}/lang/python" CPP="$(tc-getCPP)" distutils-r1_src_install
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
# Backward compatibility for gentoo
|
||||
# (in the past, we had slots)
|
||||
dodir /usr/include/gpgme
|
||||
dosym ../gpgme.h /usr/include/gpgme/gpgme.h
|
||||
}
|
Binary file not shown.
@ -1,5 +1,3 @@
|
||||
DIST s6-man-pages-2.12.0.2.1.tar.gz 123785 BLAKE2B 7eea4242a3d4dfa6170044c57639f4251db6d4cc5555d73beaae9e16866614cfe04d78ddc50a998548b96b10ff8ee57c1dd8e7e111e2c0660dff8ca5dd27c2de SHA512 76c7fac7e7bc8bfc6a4b0536562c2281d9187bcc0a2a6bcd1a74fccc60965ee319bedc0d6647c1c3793b19bb58f839e48a630066fbfa7f82347ca49a1e173ea7
|
||||
DIST s6-man-pages-2.12.0.3.1.tar.gz 123779 BLAKE2B f9ae84b81f13e3edb6e44a7bd3f23817cb0082206d72e2141237493dc2a2ab0181a6374daeaea692f47d3bddbf6c73d438640e2c00f95bd7c132babbab1a585f SHA512 424edbd55e56ac2f4c9146c542c989c9a5e542fdfff9b2f026c620949a3a07a3f767123672f45744efaa28da0012472f97b0aeb09f2fe4dbe5567a6f66946d9d
|
||||
EBUILD s6-man-pages-2.12.0.2.1.ebuild 387 BLAKE2B f123d6c0fc011544c4c41a7a67e09cc48465884407e476e2be817f1affba98ab4f94799afb8277f3b71cc1fa59ba7b8bbf80ee738e4f704d4180b660511d9d5d SHA512 0a895b96a112f347abe3a6cc91cb522d3c40a3712a56eb4ad5c769a66aef63d2d7974e2139e33432f0416e29b2609f441f02e47558cb2d83ddb0926b5b97695c
|
||||
EBUILD s6-man-pages-2.12.0.3.1.ebuild 387 BLAKE2B f123d6c0fc011544c4c41a7a67e09cc48465884407e476e2be817f1affba98ab4f94799afb8277f3b71cc1fa59ba7b8bbf80ee738e4f704d4180b660511d9d5d SHA512 0a895b96a112f347abe3a6cc91cb522d3c40a3712a56eb4ad5c769a66aef63d2d7974e2139e33432f0416e29b2609f441f02e47558cb2d83ddb0926b5b97695c
|
||||
MISC metadata.xml 362 BLAKE2B 7385c846b65063628c7ec8709362dab9745c98e1c2dcdad5bb56ad7e5a1044ecb270c875d598886190fa37a0ad8380a88e33ade7e17aa9b220ac23e904bc493a SHA512 7c8e14018f7c4672993370a021e39be305f6ceac8b603ff758c17705fb0417844166af0772df667c040519f480db5f7cbc21a5fe4418d29a5b76d4e9592c1395
|
||||
|
@ -1,16 +0,0 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="mdoc port of the HTML documentation for the s6 suite"
|
||||
HOMEPAGE="https://git.sr.ht/~flexibeast/s6-man-pages"
|
||||
SRC_URI="
|
||||
https://git.sr.ht/~flexibeast/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz
|
||||
"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
@ -1,5 +1,3 @@
|
||||
DIST s6-networking-man-pages-2.7.0.0.1.tar.gz 24147 BLAKE2B b0425a2ac0302f7158639ffb5f7b76b3341b885a9aff2b02e4b65c6e03a6cbdff8a0f7e93dd7f56416b2ca058dbb033971cbc90bb84d3d9bd6434fd31b56f06b SHA512 f683117584645184ebd45232b5727fb76406d9854f2dad0b60f883e56ef2c39242e7585d2892951c2bf8adf369ce2d95a5de598555d343be2fc903201c7cef7c
|
||||
DIST s6-networking-man-pages-2.7.0.1.1.tar.gz 24101 BLAKE2B e977f814d121fccf6bc39fbc0c5153b70d4e0f4f70e12f48eeb0765ab17b871c43c4a984e998f35f2a099a41efd3ce7bcdeea31e3c6f7ba7ed9284673584aca9 SHA512 c106fd1586f26e2a37a8252b554b78b413fbb19ffeb3874e27f8ee24ca246bb27bf2d9b4ebf05bec68a12c4524203f064fa9e504053044aa46c1a03313311f35
|
||||
EBUILD s6-networking-man-pages-2.7.0.0.1.ebuild 387 BLAKE2B f123d6c0fc011544c4c41a7a67e09cc48465884407e476e2be817f1affba98ab4f94799afb8277f3b71cc1fa59ba7b8bbf80ee738e4f704d4180b660511d9d5d SHA512 0a895b96a112f347abe3a6cc91cb522d3c40a3712a56eb4ad5c769a66aef63d2d7974e2139e33432f0416e29b2609f441f02e47558cb2d83ddb0926b5b97695c
|
||||
EBUILD s6-networking-man-pages-2.7.0.1.1.ebuild 387 BLAKE2B f123d6c0fc011544c4c41a7a67e09cc48465884407e476e2be817f1affba98ab4f94799afb8277f3b71cc1fa59ba7b8bbf80ee738e4f704d4180b660511d9d5d SHA512 0a895b96a112f347abe3a6cc91cb522d3c40a3712a56eb4ad5c769a66aef63d2d7974e2139e33432f0416e29b2609f441f02e47558cb2d83ddb0926b5b97695c
|
||||
MISC metadata.xml 373 BLAKE2B 27de08a91e321b37c6db3d49074f7bd84bf09edcff897a7adeb151eda31eeeb98f41727e43e40f75d7034ac025c406ed517e1e472eb43f76b9666410053168fd SHA512 d7852d3c193de681dd8223346831bdbdf98b4ad8012aefd22138ea3b537053bd7b878ff467830e4b1feda15c8d3948abcbb4c6dd963b325828f794a58da45225
|
||||
|
@ -1,16 +0,0 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="mdoc port of the HTML documentation for the s6 suite"
|
||||
HOMEPAGE="https://git.sr.ht/~flexibeast/s6-man-pages"
|
||||
SRC_URI="
|
||||
https://git.sr.ht/~flexibeast/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz
|
||||
"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST mousepad-0.6.1.tar.bz2 1405279 BLAKE2B db94c433ba6dc697906258942abd0bcaa5a0a244c30c6e344e737944e84688045319551ebd1512aba541d87beafe5a8a26bb1265a06619aad64c7155140f33b3 SHA512 cf6ee9e32ecb1be9f1f54c587c4e8f653eb949f1103e378bf27959b88d8d6f268fb796285c8077bcef97926288cf941b9fb9426bfeb680ee728bddefa2d77d23
|
||||
EBUILD mousepad-0.6.1.ebuild 1265 BLAKE2B d71a44f6ac02bc23345e4b3f8b0f94b753e509873175df2e1c3adeead7e83c2b276d56e427383ee67c7b8a9cb03a0f1f44a7ff68860a2b240ce1b6589bf7490d SHA512 654ada5028a5b5c584a89cd2e92077209ca103bc97c3fa1c6ebdac964e995eb4d18e5f0872f7f74745c6a019a9a56477bbd3be9acf02c956f263171666537506
|
||||
EBUILD mousepad-0.6.1.ebuild 1263 BLAKE2B 27d5ea116b9272eea20219a45f8102436f9415bab4571882d6d51d6cbf7c2b24510919e656a18ee4bc3f28a991b274bc400ffdaf0aff2b03744b35631c760191 SHA512 cb54f1655e37d3237854feace8651a15d95d39d3a7664cf267c54a04e261d4cb571d40b04c467fd409af0b7facf9d30902dee0a75d2fa4086823864b8cee574f
|
||||
MISC metadata.xml 318 BLAKE2B 53e8d0080a2643b6d5191012a6c86316d926678a85190371ce498705fc142f83d1a325a935a75f8f29c19c878a677ba96a35d5e8702a23c4f1e7ec210dbeef3e SHA512 89a0b309c4a205b97627be6c0d3fb1a280d9c4dfd2107c09854ef6a912e38e0dc2da39e0768d5103b81b72bf84eed7b1014084c52ff9482f4acc13e8d1a3def3
|
||||
|
@ -1,5 +1,8 @@
|
||||
AUX shed-1.15-cflags.patch 249 BLAKE2B 6249d526da1a4b1df8f456692e85bdbd275be7517d5af89619557186afdfd5fd6bc2ca50299decddcaa33408608c35c5cf7ba74e90b78aba9825d4656c1557fb SHA512 9f6f025c5fc5126357e8b763706d2a0eb53700963b0d8779f057683fc95773753eced99b26a9120b122f50c8b23db6c6bf79cb973023b11e594313c8fcf92cdf
|
||||
AUX shed-1.15-tinfo.patch 355 BLAKE2B 5acffe509b9174187b4383f15bed90600790ed0267ee1dbc2713a28e2b8fd0a5eb67cdb1f84a635012128abd5075f9daa0ffdc86abbdd29d170a9b48868dd52c SHA512 fab71c3e99138f7cc4844964bbc40e95c90055612e6d34ff59c72b505b2c12c6244c4a25091de283f4615475652c202a4404273c0718b73b9f928c4bf0a74710
|
||||
AUX shed-1.16-tinfo.patch 374 BLAKE2B 7d09e543c5eb9a2b6edbd05fce921d4d0d1d4bb6940fd3107db0121ebb63f3350ad3f49633256287a098b292dc402c399580d72531360dff262ccf5eafb9cd78 SHA512 ab0e9af1df2256d645b6cc40668b7251c324bca9f21cb18ead0443ede30e34ce719d2bb36212fbb7af8c8280fbffe0472a41f646b21b8d886c89faa6366aafee
|
||||
DIST shed-1.15.tar.gz 87777 BLAKE2B 7c23f01e649de6ad15b870ef3786bd1747b6ab765f19a748d08bad878325f11e38483b957ed6a791ae4a7de752e96cca2057fd69838625c3fe660d2ba3fbc984 SHA512 fe401303e686fb11975b71de0f84d0cdb84dc5a48e1094356d012f95d8c956ed05bd6b39bf65af924212e83c1db45bbfe556342489150bb0e10fb4c832fb6c78
|
||||
EBUILD shed-1.15.ebuild 588 BLAKE2B 07fe7aa147de5caae8c2c896ed45ed2c49dddbb3f7daf7e62a903afbbb34b20195b07c29ef945f66c7c3926a2c221b63898278fc8491d43c46884ad29367740f SHA512 2dd901c4974e97efe4f36688ea68bc520ca0e630a51d7af2ec4d6d0ba999ddac449bacb3b2d06c9df8505fca3cfb017b100807e7aa0fe196650f75c3b8367c50
|
||||
DIST shed-1.16.tar.gz 104323 BLAKE2B 30c4d6ec7d497a64cc4e313496d26e3a4b8a8050bcfd05c50d9eef865d987df76cd1d7fa13509bdfed184159676dfc2c8bb8d3eb98f64573845e543d174cae7b SHA512 0c807205540b17ee977c157c8edd916b34ba6c4ace280f59c10a92abbe820ef7fe24c4a64c2fc8b5fcd3d86f71e26672cef469340ddce393d370b53aa8785e7c
|
||||
EBUILD shed-1.15.ebuild 590 BLAKE2B f4803e7f8eacb0450c774d25591ba63fd33c69fe6c75ba01462b13c47a8dbbb9516ed1c503cee2434b160ad49595fd4a54ea79ac1f78a2aee7a926bb9b621cd9 SHA512 aa1613a9d0876b6f822abfd4b1f73c4852ae16625158ca30f34abdfe8a6429acf5f66be74f9d51b5453975ddae78046ec7be342f9e21ede0dd5d5416704c4a56
|
||||
EBUILD shed-1.16.ebuild 530 BLAKE2B 45a4a23ebd14afc7a116177b4dc410e026089f23933c12a03e8eb3ef8f36ef4fb71e9fd0ec32a05ae3e9c342104daee3dc9e33fdf3e9fada8349e185cbab4a1e SHA512 c30ed8e5320c05a8f61f6a344c04ab9fefb2deca9962487649a054a0fea8c0bf2d8f85c160fffba60aafb9ad242c185111a02031866b38a4e598a4ed3fec2b2b
|
||||
MISC metadata.xml 300 BLAKE2B 69b60110ec73d584179b3397e62d84d31850b7be40f72bf5ea182c26dec8343ee0a82e3404b66a6a0246f3d2d096a0f698d840faf6317b727c45453ed604251c SHA512 18ba6bb46ac00df843bb53dd43d4beb86e275b61f4c49a9af547f305c447911b65c376c81038f996cefe1dab1b8e65a323cddb3a11cb02aca4aa62546e77a375
|
||||
|
@ -0,0 +1,13 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -42,9 +42,8 @@
|
||||
fi
|
||||
|
||||
ERR="Required package missing!"
|
||||
-AC_CHECK_HEADER(ncurses.h,:,AC_MSG_ERROR([$ERR]))
|
||||
+PKG_CHECK_MODULES(ncurses,ncurses,[LIBS="$LIBS $ncurses_LIBS"],AC_MSG_ERROR([$ERR]))
|
||||
AC_CHECK_HEADER(getopt.h,:,AC_MSG_ERROR([$ERR]))
|
||||
-AC_CHECK_LIB(ncurses,initscr)
|
||||
AC_CHECK_LIB(m,pow)
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Simple Hex EDitor"
|
||||
HOMEPAGE="https://shed.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
|
||||
RDEPEND="sys-libs/ncurses:0="
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-tinfo.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Bump with app-editors/xvile
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
|
||||
inherit verify-sig
|
||||
|
||||
DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
|
||||
HOMEPAGE="https://invisible-island.net/vile/"
|
||||
SRC_URI="https://invisible-island.net/archives/vile/current/${P}.tgz"
|
||||
SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/vile/current/${P}.tgz.asc )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="perl iconv"
|
||||
|
||||
RDEPEND=">=sys-libs/ncurses-5.2:=
|
||||
virtual/libcrypt:=
|
||||
iconv? ( virtual/libiconv )
|
||||
perl? ( dev-lang/perl:= )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
app-alternatives/lex
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )
|
||||
"
|
||||
IDEPEND="app-eselect/eselect-vi"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-stripping \
|
||||
--with-ncurses \
|
||||
--with-pkg-config \
|
||||
$(use_with iconv) \
|
||||
$(use_with perl)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodoc CHANGES* README doc/*.doc
|
||||
docinto html
|
||||
dodoc doc/*.html
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
|
||||
eselect vi update --if-unset
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
einfo "Updating ${EPREFIX}/usr/bin/vi symlink"
|
||||
eselect vi update --if-unset
|
||||
}
|
@ -0,0 +1,129 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop pax-utils xdg optfeature
|
||||
|
||||
# Usage: arch_src_uri <gentoo arch> <upstream arch>
|
||||
arch_src_uri() {
|
||||
echo "${1}? (
|
||||
https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-${2}-${PV}.tar.gz
|
||||
-> ${P}-${1}.tar.gz
|
||||
)"
|
||||
}
|
||||
|
||||
DESCRIPTION="A community-driven, freely-licensed binary distribution of Microsoft's VSCode"
|
||||
HOMEPAGE="https://vscodium.com/"
|
||||
SRC_URI="
|
||||
$(arch_src_uri amd64 x64)
|
||||
$(arch_src_uri arm armhf)
|
||||
$(arch_src_uri arm64 arm64)
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="
|
||||
Apache-2.0
|
||||
BSD
|
||||
BSD-1
|
||||
BSD-2
|
||||
BSD-4
|
||||
CC-BY-4.0
|
||||
ISC
|
||||
LGPL-2.1+
|
||||
MIT
|
||||
MPL-2.0
|
||||
openssl
|
||||
PYTHON
|
||||
TextMate-bundle
|
||||
Unlicense
|
||||
UoI-NCSA
|
||||
W3C
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 ~arm ~arm64"
|
||||
IUSE="egl kerberos wayland"
|
||||
RESTRICT="strip bindist"
|
||||
|
||||
RDEPEND="
|
||||
>=app-accessibility/at-spi2-core-2.46.0:2
|
||||
app-crypt/libsecret[crypt]
|
||||
app-misc/ca-certificates
|
||||
dev-libs/expat
|
||||
dev-libs/glib:2
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
media-libs/alsa-lib
|
||||
media-libs/libcanberra[gtk3]
|
||||
media-libs/libglvnd
|
||||
media-libs/mesa
|
||||
net-misc/curl
|
||||
net-print/cups
|
||||
sys-apps/dbus
|
||||
sys-libs/zlib
|
||||
sys-process/lsof
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libdrm
|
||||
x11-libs/libnotify
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/libxkbfile
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXScrnSaver
|
||||
x11-libs/pango
|
||||
x11-misc/xdg-utils
|
||||
kerberos? ( app-crypt/mit-krb5 )
|
||||
"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
src_install() {
|
||||
# Cleanup
|
||||
rm "${S}/resources/app/LICENSE.txt" || die
|
||||
|
||||
if ! use kerberos; then
|
||||
rm -r "${S}/resources/app/node_modules.asar.unpacked/kerberos" || die
|
||||
fi
|
||||
|
||||
# Install
|
||||
pax-mark m codium
|
||||
mkdir -p "${ED}/opt/${PN}" || die
|
||||
cp -r . "${ED}/opt/${PN}" || die
|
||||
fperms 4711 /opt/${PN}/chrome-sandbox
|
||||
|
||||
dosym -r "/opt/${PN}/bin/codium" "usr/bin/vscodium"
|
||||
dosym -r "/opt/${PN}/bin/codium" "usr/bin/codium"
|
||||
|
||||
local EXEC_EXTRA_FLAGS=()
|
||||
if use wayland; then
|
||||
EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" )
|
||||
fi
|
||||
if use egl; then
|
||||
EXEC_EXTRA_FLAGS+=( "--use-gl=egl" )
|
||||
fi
|
||||
|
||||
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
|
||||
"${FILESDIR}/vscodium-url-handler.desktop" \
|
||||
> "${T}/vscodium-url-handler.desktop" || die
|
||||
|
||||
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
|
||||
"${FILESDIR}/vscodium.desktop" \
|
||||
> "${T}/vscodium.desktop" || die
|
||||
|
||||
domenu "${T}/vscodium.desktop"
|
||||
domenu "${T}/vscodium-url-handler.desktop"
|
||||
newicon "resources/app/resources/linux/code.png" "vscodium.png"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
elog "When compared to the regular VSCode, VSCodium has a few quirks"
|
||||
elog "More information at: https://github.com/VSCodium/vscodium/blob/master/DOCS.md"
|
||||
optfeature "keyring support inside vscode" "virtual/secret-service"
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Bump with app-editors/vile
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/x/}-${PV}"
|
||||
DESCRIPTION="VI Like Emacs -- yet another full-featured vi clone"
|
||||
HOMEPAGE="https://invisible-island.net/vile/"
|
||||
SRC_URI="https://invisible-island.net/archives/vile/current/${MY_P}.tgz"
|
||||
SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/vile/current/${MY_P}.tgz.asc )"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~riscv ~sparc ~x86"
|
||||
IUSE="perl"
|
||||
|
||||
RDEPEND="
|
||||
~app-editors/vile-${PV}
|
||||
virtual/libcrypt:=
|
||||
>=x11-libs/libX11-1.0.0
|
||||
>=x11-libs/libXt-1.0.0
|
||||
>=x11-libs/libICE-1.0.0
|
||||
>=x11-libs/libSM-1.0.0
|
||||
>=x11-libs/libXaw-1.0.1
|
||||
>=x11-libs/libXpm-3.5.4.2
|
||||
perl? ( dev-lang/perl:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
BDEPEND="
|
||||
app-alternatives/lex
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-thomasdickey-20240114 )
|
||||
"
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-stripping \
|
||||
--with-ncurses \
|
||||
--with-pkg-config \
|
||||
--with-x \
|
||||
$(use_with perl)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin xvile
|
||||
dodoc CHANGES* README doc/*.doc
|
||||
docinto html
|
||||
dodoc doc/*.html
|
||||
}
|
Binary file not shown.
@ -1,141 +0,0 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CRATES="
|
||||
aho-corasick-0.7.18
|
||||
ansi_term-0.12.1
|
||||
arc-swap-1.5.0
|
||||
atty-0.2.14
|
||||
autocfg-1.1.0
|
||||
bitflags-1.3.2
|
||||
capng-0.2.2
|
||||
cc-1.0.78
|
||||
cfg-if-1.0.0
|
||||
clap-2.34.0
|
||||
env_logger-0.10.0
|
||||
errno-0.2.8
|
||||
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.3.3
|
||||
hermit-abi-0.1.19
|
||||
hermit-abi-0.2.6
|
||||
hostname-0.3.1
|
||||
humantime-2.1.0
|
||||
io-lifetimes-1.0.4
|
||||
is-terminal-0.4.2
|
||||
itoa-1.0.2
|
||||
lazy_static-1.4.0
|
||||
libc-0.2.139
|
||||
libseccomp-sys-0.2.1
|
||||
linux-raw-sys-0.1.4
|
||||
log-0.4.17
|
||||
match_cfg-0.1.0
|
||||
memchr-2.5.0
|
||||
num_cpus-1.13.1
|
||||
num_threads-0.1.6
|
||||
pin-project-lite-0.2.9
|
||||
pin-utils-0.1.0
|
||||
proc-macro-error-1.0.4
|
||||
proc-macro-error-attr-1.0.4
|
||||
proc-macro2-1.0.40
|
||||
quote-1.0.20
|
||||
regex-1.6.0
|
||||
regex-syntax-0.6.27
|
||||
rustix-0.36.7
|
||||
slab-0.4.7
|
||||
strsim-0.8.0
|
||||
structopt-0.3.26
|
||||
structopt-derive-0.4.18
|
||||
syn-1.0.98
|
||||
syslog-6.0.1
|
||||
termcolor-1.1.3
|
||||
textwrap-0.11.0
|
||||
time-0.3.11
|
||||
unicode-ident-1.0.2
|
||||
unicode-segmentation-1.9.0
|
||||
unicode-width-0.1.9
|
||||
vec_map-0.8.2
|
||||
version_check-0.9.4
|
||||
vhost-0.6.0
|
||||
vhost-user-backend-0.8.0
|
||||
virtio-bindings-0.1.0
|
||||
virtio-queue-0.7.0
|
||||
vm-memory-0.10.0
|
||||
vmm-sys-util-0.11.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.42.0
|
||||
windows_aarch64_gnullvm-0.42.1
|
||||
windows_aarch64_msvc-0.42.1
|
||||
windows_i686_gnu-0.42.1
|
||||
windows_i686_msvc-0.42.1
|
||||
windows_x86_64_gnu-0.42.1
|
||||
windows_x86_64_gnullvm-0.42.1
|
||||
windows_x86_64_msvc-0.42.1
|
||||
"
|
||||
|
||||
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.gz
|
||||
$(cargo_crate_uris ${CRATES})"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD 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-qemu-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-qemu-virtiofsd.json" "40-qemu-virtiofsd.json"
|
||||
}
|
@ -1,13 +1,9 @@
|
||||
DIST VBoxGuestAdditions_6.1.46.iso 64032768 BLAKE2B cc0181861802822e3887cd821edc687db081993e01e24ac0139ffd29b76aaabf3be20c9394e0ee02748359a7127ed5522418c2c5523ba77c3a8c483aad596c00 SHA512 e31e9cad72132d0f683b8135b5e91bcd42e6cb532fc9e0e9a463347c29053799f51b9d0730a9de4096557010c6ca341715e72515811b87d0df41343510cad55e
|
||||
DIST VBoxGuestAdditions_6.1.48.iso 63969280 BLAKE2B 7bba272d427a6a91cd4d63c5d494e50d9984badac47c75f5323b1b2ad25a4fbf7cf28a1eba30988288d6e308b8d62ab5043c445a651b8b767667a267d5dee1e9 SHA512 19b98be42d7c0148ada0342fbbe6e1803fa127aca14662b560624d2c582656af68b01152a9c8b14d238c493d171694e088091b924598cebbf1f8d2c7a949d0c3
|
||||
DIST VBoxGuestAdditions_6.1.50.iso 64051200 BLAKE2B 9eff4a3643579ee0426dbe2b62247b8c89321be495e61469628574445fedc06ff2fb9afa108705cbaf24a13db99b4e6e850c61e5c97343095549f444831fcf62 SHA512 d74ce912dbbcef7f644a9f3ba9917782336cbee8e0756727a8753ffc17486a75e833adaa869e205531bc3b81b9cb26aa9b50f44210e78dceece966687122f6c6
|
||||
DIST VBoxGuestAdditions_7.0.10.iso 53497856 BLAKE2B 8577cd44c4564f205e65d955f3cca33084215c4e2b777d944cb14240a47b6a6196cd9e40acbfbec9e915bda55f676627c1819ca2c881f8d0945c334df4e1d242 SHA512 5148823cc3bfd5145bff4ecfb6e0f3f068e0e3a9f1021161122b89dd01197e64345a73efdda6259134a35cbb0b6cd8361f235c2c996ef6a4dbf03d452b3ae9db
|
||||
DIST VBoxGuestAdditions_7.0.12.iso 53448704 BLAKE2B 1b738c648c902c1a98d83dc9525c7e091cd2234aa67f464a4beb3d6bd9bbb6893fe02eee4a37a05eae8e880efc6c834931a7ec7f08ae7b1615b1a622117767a2 SHA512 7f5db8f73bc2c89ad798fd2ec3543c460aa3fd3e44f02c04c334539172699af08c16312d96b6fdd5c561bc3d8133fc7a3662e51a86f82980d692f050286e0e7e
|
||||
DIST VBoxGuestAdditions_7.0.14.iso 53526528 BLAKE2B 2ec95d9261d3a7f762f333c1e3eb36f7b75cfd7cf722d1bdcd5c0b38a3a311db82b728fe800aed79b41b979ec345cd2586e3fd8c2d2c54f8b83516061d81d304 SHA512 5aa80b04c567d383793c560eb535babd1ebc4f472aaa51753867dbee00e1f5a3efeb5dd4c9eb1a48149ff0fa2e7598aa68792d3da9959709b619d234c2b57544
|
||||
EBUILD virtualbox-additions-6.1.46.ebuild 567 BLAKE2B dc91227571c02c0556289d93bf3d862c6a06493cbeb92938c56f1ba5b47541f99726aa626b383c23d477d915c2d99e01b8014c3d0f807b22929aad8116886dfe SHA512 950099b0c5918477d47e74deeb4c1501e2f110b3cbbd9c132b71e1ea792bd59197d0d23f1dc0d93b87d98998210f77fcefeab620136e17fcfe2d8dd545acb0b4
|
||||
EBUILD virtualbox-additions-6.1.48.ebuild 568 BLAKE2B 82842151addd12a10f80e32a830bebb7c10da2f60314a75f0354c7770454356d767e41b82f013faf394c9a45764536b5d7a6fdd579b8948407b68f5ed989be4b SHA512 95693f347aa1d098c505c023495f1a9bab0e851918acc050e77daf0e7a5974b5f1df5206a6c3611ee4f5a9f12822e03aecc4b5e82c69b2ebdfd832e5dd66d177
|
||||
EBUILD virtualbox-additions-6.1.48.ebuild 567 BLAKE2B cfacfeed3e15bb0407abaf7b9584d37054ed47cff35bdc80b71f9a97af7a49534ec4ade228ea39e3801f94a25fe6fd872c698d811f14f7ae744e816a0ead9061 SHA512 1fd1aa81f3ff55ca2d71ca5384fdb2bf46c9cdf5bce89917089743a86b92caaf06ffc1e1cf844a10bd2259ebfb59417850eeabd75653cd613c3f64f85ce30c70
|
||||
EBUILD virtualbox-additions-6.1.50.ebuild 568 BLAKE2B e32d46e8fb724eb80708b33e06cb656d2f028487bee20864a803332bb3127d10f84481868db6039a42d93bd137af74bd5fc0bc8e499958b5d4a9cb7d3189d549 SHA512 eb8c748bfab69483f2bde7e3a13649c1109b6bf558ac78bd49fb02d45f9633489a8dff93dab2ed52f8b648a3e38b58db5e6cbe139f220ac9253395138d65a40e
|
||||
EBUILD virtualbox-additions-7.0.10.ebuild 555 BLAKE2B 2825d0a87644c02f55a5b0cc1cf70850309ae5e0db3f94dad42f8157a170abb09242bb7336c1a0ec600387141903c4d9fb7fc61c54bddca459931d6c8a9a9dac SHA512 a1c8d1d38d6e27b78019456acdaf3fe47c6863eb03391c1c1670015637d40320d24bc90f9f4d865e7d989a47e6d9b72d9150f716afe4bd2c8ad4c220f174fd3e
|
||||
EBUILD virtualbox-additions-7.0.12.ebuild 556 BLAKE2B 3369e6ed0e925e9826072a8cbfd67a39406f8276c6d4f88a1fe0cdd5a2221a99e60e703224ebc15be632096f8cc44bc208224371dcf321ebf07a0086ef2194fe SHA512 b9705f2ae8963aa0576b477d6405be5ced09b23d63f3e29f05e5eb56f1cf2b281d74a66a1e4ece0973102d85e47b8ebc71b4b8d5771f6ce33c22a4a8568b489a
|
||||
EBUILD virtualbox-additions-7.0.12.ebuild 555 BLAKE2B 2b0398d65ffbc61bb3a6f5833ae5f5fc3bf4582df3caa78007b3da03d840cd2e455cd5bbbe81cbe6b0652613dd7d75acb7d0e0e04312b419717ac7c473ae6163 SHA512 7f10e29a7ee72d988c92228b64a769e00ef42292b26ce61e62182af93938f63489615009f8224b4fef8bd927ee6d24c6301496be50cc3efaa817423b4ac54e84
|
||||
EBUILD virtualbox-additions-7.0.14.ebuild 556 BLAKE2B 73f1560fb266d485e972ddc631bdae9aa25b7153ebfe43a242ed2391fe00782fd63ba91559f3f484da3c75c746128b2248dc57a00fee90d6704faed507d6e90f SHA512 50ef140eaf64677cac9c29ffd51cb48cbbfcb22e5c6bcc0ff2a87fb16621d53accab5aa805b85be62e3d0da3ff6f5b5e05d299621ac57b5914ab31042dfbb67f
|
||||
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
|
||||
|
@ -1,25 +0,0 @@
|
||||
# Copyright 2022-2023 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-2+ LGPL-2.1+ MIT SGI-B-2.0 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
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
# Copyright 2022-2023 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
|
||||
}
|
@ -1,13 +1,9 @@
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.46.tar.gz 11175297 BLAKE2B 00c99036cb34579da811f0a2e3e46ac49b5588af3d8effa44132c496375c87c0778dc6650591a7e1bb11d3b3a459f775de94a8a06ae2bd42ce08385250db00d9 SHA512 9efdb746e5ef63872cde3adafb9e5c45c65183f59b7b2c2d3424588909c85ce3574e65c5bf1a2e0471028051e29ec010b4ed1968fcf4637d81d8f8d6547a24c7
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.48.tar.gz 11166368 BLAKE2B 5c1ced1742f44110490aee07e0323d418152b87c5c8c9dfbeffb05cc59fcc94bb88b8e932b59f5bd79e3d85b347525b939df2a60f52d46533bd2d877c1720439 SHA512 71ca826ac886fdb9389a09f6fc1b5b7e99e8bfda1fa64cecefebc60e3cd7c11f678bfe1fb853a7bd0de8ed2ffe00f5f9758a2b00e122bc678b71fa74ad366573
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.50.tar.gz 11175855 BLAKE2B 898ef92a91dbfb39079f8dfa5f4c1e6d91df66e92deb00849ba1da8a2278e3adcfd5754bf70acc6d8b6d7d6273923999860b71c01de3eaabf4d487d718aa14ef SHA512 818f0564a8ee1266f2d03d6e0d5df44278746067ae86279f6e884f519ad3e923382c7b987b3a58fe95e2aa4f0a53b98d553106b0250923e88989e5fdaa9dc3ae
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.10.tar.gz 18259331 BLAKE2B 0afcd918243cd52e90278df63a8bb7aa1415a3662ad8bc2d49c19dd9a1cfe3ab9f810d8d66b4be2c1742361e000c547f9cdd88ad215b764a80991e0b7ea44c50 SHA512 fd5dc7577467d54d170c325be27dbb67eee16860e0b876bca1afa023c33a45c356cb77303b0c26fa7ca2057908b9acd7ebc41dbc68a0a9bc3253a797cc9ccb55
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.12.tar.gz 18245684 BLAKE2B 6a55307034da5510d47bbf57bf557308be5c0459bbb21d0c79cc769a0f1ebae1e26c3202e23da17cd900b0ca88dbc653d2be0297817b79b61f426c6c5880c43a SHA512 0d311ed94a52d02634050f309886d6c5b627151b7e85a50e81a602c02c9400f01c1dfc21a7f52f33e50c2e27df96213f5b97cb3edc82f784ef171796c3ae6d56
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.14.tar.gz 18331089 BLAKE2B 278341be074c7bb276b90034355da3a55e2ef5efd89ad9a26a8f53b6743890772e1486ed5552ec131a8c80a710405dac284789d71a6c3bbec2dd79cf0e7e0459 SHA512 9301300dd1c2a178c730045128574b99a4a6cd1c2dd3f6a5782a78fa08588a4c5fd9c9ff6b2dbeba04747de915e3342ebbd08a4b9ed4641ff60f90f6a5c7fc3d
|
||||
EBUILD virtualbox-extpack-oracle-6.1.46.ebuild 742 BLAKE2B fa5331bfc4b311de2623b66c5379e1760a90f1b584bf42c8f53eaa7c7b46f51b2156ea4983e032eb70128ceba675f786410a5245157fc61402cb2b64f0948da6 SHA512 e6c936f477c19c6589844df4cb26a193d6b431ffcbc05379ab3b327f5f6a0096b5d48795fa34a675a2fea0929c40d2c7a4742717993fd5d9ab722b56def21266
|
||||
EBUILD virtualbox-extpack-oracle-6.1.48.ebuild 743 BLAKE2B 450ec1cc08fb63c291cdfcaba59c1d992746b9ca9c9f5e73f3459c72663cc6a010640116bd17eb94f1585c0b66c599915a86622656b83dd79c3e626fa62f7776 SHA512 5438db55953f6dd51ca8b2a91bf1394a7b9c3ddef1460304153e6531ed11f0d073e93bd269f3f253581b91af811ba77aee60ed5c4fbce6c0ca6758382e69944e
|
||||
EBUILD virtualbox-extpack-oracle-6.1.48.ebuild 742 BLAKE2B 687dfef72959968f610b73f55ad028e00e59fd9bf4ff7d9d60b77e704bf61395ff1680958455619c5afd2867be365e161e5845b03a53902a7a14f88b7887815a SHA512 00fd45d6068420328b559d7ab7ca491b8dde2b8b96e5bd8a7e46108cf980e38c660425020de6a58501d6b119443f80cbd64fc52ed223f5c9f3ecf8834cf52d02
|
||||
EBUILD virtualbox-extpack-oracle-6.1.50.ebuild 743 BLAKE2B 420c1b62cae1a98496881015f02a3642cf94a078c78b71f394747739fb332ed68fd8622e2f65ce97bf4a17338df6d6f1dd8d638a566310fec92e6d3943eaaffd SHA512 b557a8d29c53e23f5529ea5a6ae4ca50cc30b66d8d2528381845cc7b7adba4c95243cdcf9d4bda8d900f826358729b320faa857661325dd68741bba0d4d3d764
|
||||
EBUILD virtualbox-extpack-oracle-7.0.10.ebuild 742 BLAKE2B 9d21636185a31f656ec1ea779b7e5ebf475c39256b94541af1d8d32ecf0b33fc703d461054957441bb9b2e22a403a90fc7555acb06e06a798d4047da66d12ccc SHA512 75928ea546071159bddd68cd585d5821d8ceb179db21b5722cc68b7323181e600825117409e051399b86c2d1b7f471c7246dbbda74dbbc84aef351cf48fa1345
|
||||
EBUILD virtualbox-extpack-oracle-7.0.12.ebuild 743 BLAKE2B e69ef2bac32a14cb5deae43c7a3888bbb984567c8ba7172c81cbd6ddd641f6064128f2a0bebd827e5f9cbd46d264a6d9d39413e6a03459cbe9654e3c8daa2823 SHA512 763bff27532b48cb1509d50e74f108dd1fc02719d065fa2f08b919c328be39e249c4ecf15673215ae251073a691d00752b6a9baf1c290d81138bbd4e1e47e26c
|
||||
EBUILD virtualbox-extpack-oracle-7.0.12.ebuild 742 BLAKE2B e9002db38c5157dbfdac2633b27e61a710db0962adf694a21c7daff940a16049e79dfdbb626d65265578079553e844e9c00e63d5f8f84185faa996011866c53e SHA512 2b74eaca4575f8ae76e29b51a1dbae113d61e3f8f4d91d49160638cc34798283213e089c3ddc6472fc8cd26ac54cf43268a574612ea6491ac66a3ce4d5de420a
|
||||
EBUILD virtualbox-extpack-oracle-7.0.14.ebuild 743 BLAKE2B 058f30779f22366b0e179a7858a1f4755f207df3a123ffd937da51e8788a330ed99f0a3d1bd3360f18a24ecfc941ab9c1d76837c4007ddadc879dd67843487ec SHA512 255841a0a2fa54896f366e2e1eb7ddfbb70d471380d30e6e912caec6f5945a315e75f84f4d4a649f31f5d99251c1494100d574d2faccac1eb882573fbea93809
|
||||
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
|
||||
|
@ -1,28 +0,0 @@
|
||||
# Copyright 2022-2023 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
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
# Copyright 2022-2023 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
|
||||
}
|
@ -1,24 +1,18 @@
|
||||
AUX vboxclient.desktop 145 BLAKE2B c01f4c307cd965d271e19f31cab5f902126bdf49bd947329c9ffad4955665b142576438dd124bc323d540cb2f6229c722b2611d4ba405521432965d9d0bddd8f SHA512 90e2ff4b8a67120f7f3c116676c7553243a1bf3c9a76f71ef471bc556c4eee55953e6a5dde952688d4892d469149db8704a921a14755eea66b1789805fe3ca42
|
||||
AUX vboxguest-6.1.36-log-use-c99.patch 288 BLAKE2B 7a869ea9c46d91b64e6f062173bce10db25581b2390dad517016eb35cdae0727579e374318afdf749c3118436c667dacaf670f93698894b972b3badc60a80a43 SHA512 c66d75e77d84f081095de91248f236606b5e0bcc50a5525918fce979c97d84dddf6d10fc2a21832db74b5ef632949d9dee8ec30b4f1ab05bcec1aa75da681971
|
||||
AUX virtualbox-guest-additions-5-localconfig 937 BLAKE2B 4ad7e6520572ed5b3ee29c03b77fb1a4df5279e38929c4e6e446387f30eef9fd8f32b9f877db1074c0e28f9a461ec3114e7120f636e02ce41a72a81b1e69c62e SHA512 ccbc2db825060fd5044e42bf4e53271d6e64a7a400b09705230006367e696dd3bff384f1e4873bf2aedfec8e6fdc8f8ecc537cd5a1fe629727c2943371d13e40
|
||||
AUX virtualbox-guest-additions-7.0.10-fix-kernel-6.5.patch 1369 BLAKE2B d38c2036e2e2ceeeb7439f1712c2a03d560ebc3830cc5adefd306904c891da7bb11d46cc61049bf7aa544cf2f1d7f3c09dc300e473d2baa89e49f1bc0de8a4a1 SHA512 384857faefeb0a41592652da03a37ae6248339e3f73db30caaa34ec87af525635561468fa2c900d6aae114186d2eda389e858f3e1a780c8c2d851510f359ac55
|
||||
AUX virtualbox-guest-additions-7.0.8-fix-gcc13.patch 753 BLAKE2B 2c42f0d370d5be3c02278389a103dec8d7ee3515b61147aaccb4b47285329fa0b87edea392031c856b14c2527544c1ddccd1a3a23522d10fb60f40f4dbdac941 SHA512 76766339012cc60a5c360caf17d92547718d67c670a498085f30b99be7541b69ed3f9acc6e7916dfb131facc4343fdd0db27b981755250189c16df215a6aee15
|
||||
AUX virtualbox-guest-additions-8.initd-r1 547 BLAKE2B 1b26fc26e95baa74d551f8a9cf62f698485d63a0487c4cc4fc9906b8ced191f078e2b794ef9db9488de9e92188c73812c16e37ff542f06e0d52a4dc62b631960 SHA512 81ccc8d3edd965feb55290cf1281a97a485f14fd1de07cd59479bd7746291d41abc45c2e7e209f17f7df057528be83c48f3e270b526e6b86d85c5ec4be2d3944
|
||||
AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83
|
||||
AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9
|
||||
DIST VirtualBox-6.1.46.tar.bz2 166045588 BLAKE2B 041fad30d7cbe524cfd5c865b225c00df7715a6648ed0d8f7ee3ca4be0d0dabcb324c676ba2ea78288cde89ed8e5412fae75e31bb49f623de2acddb8f10d6ee1 SHA512 695ca4d41ff10d0581e4cffe4a0ec80e0fe380f4c7d5d51ee4d21aeb61646c26edd60301e541894e71c3323e2d7207e23299938c18ee45631afd1e0851946e77
|
||||
DIST VirtualBox-6.1.48.tar.bz2 165960987 BLAKE2B c981e390ae518b829970827f6032fb19a93685fb58835a9d489c6e14cc60a5c14c65b0a3da5adae7818e73e1b0e558e8fa803160cb67847f18565bb78d656e97 SHA512 fff759f3871e4e8962536002f2bc13e5150a927e280493f5cb0abf06466ce66e45f4c6ef43489b5b3ed8682d8a3ac0eb6fb3dd7c4144924c81612553ec71a95f
|
||||
DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
|
||||
DIST VirtualBox-7.0.10.tar.bz2 175450841 BLAKE2B 49eaa14f716f021f1ecec1ad48a2aa8a3a758cbd9b03cf30d65ddcf5aba11842b0ea8bc2c4d477084a4cea318dc302a4ed426ec9f675a1fe675c5f18c48796c7 SHA512 2870d39385f66557281edf1368db68cd69d6a9bebc30d52511929462d0ac210cec49dd8531a280c6facff22ba6e4808477fbf3d09abf998d863a007fc7f2c3bd
|
||||
DIST VirtualBox-7.0.12.tar.bz2 175644088 BLAKE2B 507cbf7b1a8a807bd2602e74bc19a59cb177b9b2bdefa1be582e520666360a42510ca501f20c354746a0f1dadf61fe29135e3edc867e611bfe60a9405cb2bbce SHA512 9fe4511442eba788d02f932f5e98cfcc5aa4ebed41c00bd7333cf7e3f5de787e458f1f56930978283f041f403652c803143335fe9120ab63a2c113ca7b3f588f
|
||||
DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
|
||||
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
|
||||
DIST virtualbox-patches-7.0.8.tar.bz2 2733 BLAKE2B 044dfe02a5bd5e757091318b394b0e5918677b5bbce9caef4a18d4d8df54821559f0df6ffbdd6f52d4934bc4018e9c9d908571c5d3d8804fd3b0f22a7a1aed84 SHA512 93a06aa3f9508d3a8743ca8494a958159b5bc3fd7a0a08ff23414d05c4f31084cf0f1c82a3866e222c83e6996ba004546f0bd33c6eb9a90eec8e548b8b3f2fbf
|
||||
EBUILD virtualbox-guest-additions-6.1.46.ebuild 7515 BLAKE2B c431547ddba5da48b1adf38c5586b0716f35bcef669584928e5d8e0611b47afedbf7e928f173d69b40891bd992e394630386587fcf05504bbc03d14251f42b75 SHA512 9c345dff47ab1aecede001e780f61cd51dbd0b4edd6a67491d410d964a387defdb282e13feaf14336291b58c9fb23532c5a438ffa26af7b60d63f75cbb931343
|
||||
EBUILD virtualbox-guest-additions-6.1.48.ebuild 7517 BLAKE2B f965f336150f47d1567258c071f863f85a8e19770bb048ee4dc433ee07de1a563887118455c88e8f7aaf31c355a715ef2d93d252a72daacdf828da22a83bfef4 SHA512 bcadf1d9475f67d3382caf76b5cf5699c265c58fd7f20cca876af36d06139d2b249de312b1253f5e82ae95810a903a0cf6f93b546c095deb9d60716b87a49eda
|
||||
EBUILD virtualbox-guest-additions-6.1.48.ebuild 7515 BLAKE2B c431547ddba5da48b1adf38c5586b0716f35bcef669584928e5d8e0611b47afedbf7e928f173d69b40891bd992e394630386587fcf05504bbc03d14251f42b75 SHA512 9c345dff47ab1aecede001e780f61cd51dbd0b4edd6a67491d410d964a387defdb282e13feaf14336291b58c9fb23532c5a438ffa26af7b60d63f75cbb931343
|
||||
EBUILD virtualbox-guest-additions-6.1.50.ebuild 7517 BLAKE2B f965f336150f47d1567258c071f863f85a8e19770bb048ee4dc433ee07de1a563887118455c88e8f7aaf31c355a715ef2d93d252a72daacdf828da22a83bfef4 SHA512 bcadf1d9475f67d3382caf76b5cf5699c265c58fd7f20cca876af36d06139d2b249de312b1253f5e82ae95810a903a0cf6f93b546c095deb9d60716b87a49eda
|
||||
EBUILD virtualbox-guest-additions-7.0.10-r1.ebuild 7924 BLAKE2B b5d444ae52f9632927bc8165d47975fafef80f182b439652194dda7ac51c1ca82dd0f03876f67aad927f53f77a6c7c4ca804223e2a207393ea52b880741c840d SHA512 2421e2fcab2651e1b9267ef128e699f2f6171129a2650955e35d6439305348cc8b48c497325035c7ffb5f6c817f976c1fd8038c6ffc8d3c6e91933563f6323a4
|
||||
EBUILD virtualbox-guest-additions-7.0.10.ebuild 7838 BLAKE2B 20770a15705f5baace0c3272a66a3380ce921500be005c7afb754b84f6c4edbd780d9543dfb5d4ecd44f543dd7cb97772f24f61b66c12a1186499d29d1640d54 SHA512 c2e631469644c35d4092dd9b59ba9d053a431af5ca792171517f05e189fd8a7e66f909e1e8449eff8040c61c16282b5ae485bb3848fb98691e1fa4771a662fbc
|
||||
EBUILD virtualbox-guest-additions-7.0.12.ebuild 7839 BLAKE2B 0fb948908c6b4573711dc25e51ec599107b64979597cfb6879890a3d49d2e1e1ce99c5935c51d18fa95a14c084b6adbc42fbd3c3ad15af15e44a357ac54dfa36 SHA512 0751487b722d94fdfa4ba46c1fa5f15cd246269b618c610bea55e710dbc2e7f1106086e4e39be38d3157d6318bfbdbebaaf547fb3e31dde1530f7a7cd0b85437
|
||||
EBUILD virtualbox-guest-additions-7.0.12.ebuild 7838 BLAKE2B 20770a15705f5baace0c3272a66a3380ce921500be005c7afb754b84f6c4edbd780d9543dfb5d4ecd44f543dd7cb97772f24f61b66c12a1186499d29d1640d54 SHA512 c2e631469644c35d4092dd9b59ba9d053a431af5ca792171517f05e189fd8a7e66f909e1e8449eff8040c61c16282b5ae485bb3848fb98691e1fa4771a662fbc
|
||||
EBUILD virtualbox-guest-additions-7.0.14.ebuild 7840 BLAKE2B 0f66f78bb59e62a2cc0d5eed3427279a68a5576a2f5a49cb433a54e1c2fc65e174faa5b0dfe3112b0215d2704e1fb5be2efbdc9706cfb9b7daa83bd39b28ce0f SHA512 ff08361f7537d58c35d8ac0b4a9faed4f63bd145f48083acc01dcf9b53a7a925e89f0aeaabcb0559e1f069c66b9fd9591dd96a19c0d6a8e0fe0219cd680dfdc0
|
||||
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
|
||||
|
@ -1,35 +0,0 @@
|
||||
https://www.virtualbox.org/pipermail/vbox-dev/2023-September/010224.html
|
||||
|
||||
From: vbox-dev <vbox-dev-bounces at virtualbox.org> on behalf of Larry Finger via vbox-dev <vbox-dev at virtualbox.org>
|
||||
Sent: Friday, August 11, 2023 12:23 AM
|
||||
To: vbox-dev at virtualbox.org
|
||||
Subject: [vbox-dev] Fix for kernel 6.5 build of VB 7.0.10
|
||||
|
||||
Hi,
|
||||
|
||||
The 7.0.10 release fixed most problems with kernel 6.5. The first exception was
|
||||
the problem with extensible arrays in the kernel's vboxsf module that I
|
||||
described earlier. There were some hiccups, but that fix should be in kernel
|
||||
6.5-rc6.
|
||||
|
||||
One other problem showed up in the compilation of vbox_fb.c. The patch for that,
|
||||
released under the MIT license, is shown below:
|
||||
|
||||
Index: VirtualBox-7.0.10/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||
===================================================================
|
||||
--- a/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||
+++ b/src/VBox/Additions/linux/drm/vbox_fb.c
|
||||
@@ -196,9 +196,13 @@
|
||||
.owner = THIS_MODULE,
|
||||
.fb_check_var = drm_fb_helper_check_var,
|
||||
.fb_set_par = drm_fb_helper_set_par,
|
||||
+#if RTLNX_VER_MIN(6, 5, 0)
|
||||
+ FB_DEFAULT_SYS_OPS,
|
||||
+#else
|
||||
.fb_fillrect = drm_fb_helper_sys_fillrect,
|
||||
.fb_copyarea = drm_fb_helper_sys_copyarea,
|
||||
.fb_imageblit = drm_fb_helper_sys_imageblit,
|
||||
+#endif
|
||||
.fb_pan_display = drm_fb_helper_pan_display,
|
||||
.fb_blank = drm_fb_helper_blank,
|
||||
.fb_setcmap = drm_fb_helper_setcmap,
|
@ -1,288 +0,0 @@
|
||||
# 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-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
|
||||
"
|
||||
PDEPEND="
|
||||
X? ( 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
|
||||
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
|
||||
|
||||
# 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
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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."
|
||||
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
|
||||
}
|
@ -1,295 +0,0 @@
|
||||
# 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.8.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
|
||||
"${FILESDIR}"/virtualbox-guest-additions-7.0.10-fix-kernel-6.5.patch # bug #915665
|
||||
)
|
||||
|
||||
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.8/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
|
||||
}
|
@ -1,294 +0,0 @@
|
||||
# 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.8.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.8/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
|
||||
}
|
@ -1,18 +1,11 @@
|
||||
AUX create_vbox_modules_tarball.sh 896 BLAKE2B 4153a8fa67cd8fe7187f3c4232691b1ded8e51315f41292f9fcc0adb294e9b235b0c2f1e91f6f728076ab85f687ea1ba2877dc44b511eaceb24e7d6e71a8bbd4 SHA512 c3154a13550817c581fa142e24081edfbdbc145315d34cc4569d12ad87a518fa0bf1443c053b50fdfdea6915bda1325ad973455ee85079294b83a49fd53f4771
|
||||
AUX virtualbox-modules-7.0.10-kernel-6.4.10.patch 312 BLAKE2B 878d706d8aeb11780ff8068c5f18784c4282da5e2fbec620a794a791e20c44256d54f1919e8abde939137607204442cc9fd13121b79518606cceae4f0d141508 SHA512 0c90a82d377bbbd294f9e9fec1810ff4e07afc43fe97ef2b8cc7eafa2a6fde00e1e0352bd8b1d14f3bee0eb7c8094906a880d1092823620f5230cb30bd260911
|
||||
AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a
|
||||
DIST vbox-kernel-module-src-6.1.46.tar.xz 680036 BLAKE2B 46963957424fab934152ff945a3f1c0da9ca395f6ce7834e249805d155e2d41ec94b9feaed5c214d90fab547509ca48282fa7603b7f9434e7a5d596ea75177f9 SHA512 b60cf42e8213cb4c7f68090d118a477b4535cca7011f495b8ed3a254070dd8912853bb6c647cb4c86448e241005ad2467888d4731aee994c1ac80d2f38e153b3
|
||||
DIST vbox-kernel-module-src-6.1.48.tar.xz 680552 BLAKE2B 243cd013a7e027634b7f6338056708cbbfb4ccf46b569c21e60b0e2450dd1ad1395c6881eb235f2cab68a65c0911322604e732fdde06eb389f83171f38ded5ae SHA512 e26e8e4dce70d0dd07a336a6681d49e0fd5991ed92997139311cefa9cb55d03066c6400d4bdb9dbf54fba683192cfc5a63a98076525f3b3066269dc8fc498598
|
||||
DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592
|
||||
DIST vbox-kernel-module-src-7.0.10.tar.xz 717508 BLAKE2B 7e4517eb39a7927a9b4343ab3cf3700c28fd1b2271311a980b4e257029dd228fd541a940b9f0a3b8190161d1b020e76f1a6d89752016620116fc175e45fb038b SHA512 0c7c3bac13a42cca4c6b30c4bbea86511ebbb296c5f941a3fb6cb190cbc60303f80ec93e3e18f03f85a6de1f02c3db102f6bd80f793610a38645b03112fc5ce7
|
||||
DIST vbox-kernel-module-src-7.0.12.tar.xz 718284 BLAKE2B 8b427f9764ad7cb216d3b8dcfa05e8b564a8b67cf3beb7ec048b2529a31580eb59eb0e41a887bb85503542cae18d873d91108a522fc0ba106d119a73ce629f34 SHA512 0b64ad2ddc6eaf56759e636aa6c8e5dba998e232ec42a7bf0cf92dc00e7a6c0ebb11e9d7500a8a407e0c92a162ebb71cdb15cbfd4f570c1860641a7fdba21bd0
|
||||
DIST vbox-kernel-module-src-7.0.14.tar.xz 718532 BLAKE2B 64df92802ab5e9fa3fdf9ba3e3b13004dc687dd2d5f3d41d24354f116a79000fe6ea07bfa8877113ab263d4f75210b600e61d983616f66b6e96324b3ea6a4b2d SHA512 2a0b9a0bbcb0a21a580000309be3a71722ee3cb9a63a5e12cd0d8a391b3832a6cc92ff806f8ca4b5fcb80fed02a44aa4de6a2d49f4583d704cec0902572a68bb
|
||||
EBUILD virtualbox-modules-6.1.46-r1.ebuild 1002 BLAKE2B 354032d27a55e478e15da1b382387247d464706c6b110dbdf22cbb4ebe479c752c4b195defb14d7d3fcd0f6d1c7c76c398624d7bb21649d84e87ca8c77399386 SHA512 f94b0656475eacf9e99a989a5f0e917a8c38e09f9eda7a085b3431fffebdb9a970dbf4caab3d7732c5070f827c26d493212f6ab5580267d2999c4feddb60c1d0
|
||||
EBUILD virtualbox-modules-6.1.46.ebuild 941 BLAKE2B 2e25e3085b1a5879cc8e753a04552735bc1bcdf4a1ecfc11f9c796d4a6f770f5028e0712771a6415f481c89bf332652ba5973d51e54cf56146335ccc53d27fcf SHA512 3f5d092613f4013c3d3f39675350b17b4a305ce96d8ffda446736021d581821c4b18bf3161fefc3ad772186b12dcc3e0f0eb52751acfd78883837efd78c0f03b
|
||||
EBUILD virtualbox-modules-6.1.48.ebuild 942 BLAKE2B d001b609287f13ded153dcca7e6188a9389503a7fbf1a0ac014554fba47582acc0e6416b1b58a524cbc33972a8bac3ce052cf3c4d9dfe01d5d296419261f371e SHA512 3ad9fb5df15b2666148204323fd43f72aa5dafbd74a2402258a286ebbb65b27d42f979068f13552d717ac07d24664c8603feaae09b06f17071c8871617aba209
|
||||
EBUILD virtualbox-modules-6.1.48.ebuild 941 BLAKE2B b88e79d530b44f81bc866991afb65865bb2598e8cda0451d3d9c0ed4d12f6230c3fc5e4fd6d91081bf8ddaa7387b6dd1bc5c09cbbd4e37cb28e82971f4fd4d00 SHA512 819fba543be3eebb700f36d5c08e8fdfe4c86f864040dede2f05e971c610f14b3f840142ea2a82c9582ffbc0c9f2894ab7fbd5a49c02152372e599161998bd37
|
||||
EBUILD virtualbox-modules-6.1.50.ebuild 942 BLAKE2B 2b2a078ac7a4344e470c7aa1394b6b79b095000fcda07673c7d52a9377ed04f4153eaeb188b02e8e8d524907ee93ceded016c4ff34908d7941ffab5589f03e8e SHA512 281c06cb917cb6884e3b0d4dad52c62426fd5245f316390ab2922f94ac440b056125cc14b72d1c039874f9dc2e80a89ecf025a59f7009ffa11ed51944c0bfd30
|
||||
EBUILD virtualbox-modules-7.0.10-r1.ebuild 1002 BLAKE2B 6e5f51d3e7c0931558528c667e967217169057b95948fa7cc679a6effa33b85e0b01217698028660f83964d14e8f559402bb2bfc19d4e09e9e92bb46efbcacff SHA512 e49e662f1dc6c447ea4f6596196f04e63af3cf3ba6cb85b322f7861dc3a247fa00a58bf9510c3858ecf8e559580a5d8fed1798198288737973934d287c3a59eb
|
||||
EBUILD virtualbox-modules-7.0.10.ebuild 941 BLAKE2B e48bef455faacaa9b1882e739e4bed41fd9b7f83315f33133b185c19433e8191603ae73aa9c5342221bb57f0518af6cb085b9d8def670f1135af66d2dc130df5 SHA512 deed8b02d834136fef5021bc9127dc45fb0cfa425fcd90692bd03ae851a713b9032b996fa8fa2180c0e85ce4083a96cc538ddc0959051609ec0a0f63c08f8b45
|
||||
EBUILD virtualbox-modules-7.0.12.ebuild 942 BLAKE2B 666835042ed720f08e0e51ab83ee1a4c9328b7abff922c929148ed246a03cc410856e846542ce5d1758b0c094ab9f040c6a8ba29ea2486ca64dddc01d9db05bc SHA512 b3dd20429f4dad94e1c5f270de8de0af095fec9e5980283f9ebbf625047840e238f254ed42c73cc985ab0dfb86bec225e6124f21d990d040f723ba39cfa5c0fe
|
||||
EBUILD virtualbox-modules-7.0.12.ebuild 941 BLAKE2B 23539d6f2c798b730f2f9afb007158672cabb6e199356b104c5e34b4f8e819e55f77ae1f303d655333cbc4351b67dc44735c131d59bb04031bc7c1b900d49c7b SHA512 379c3e216af76612970ca077c29a3c750de40c9a91dd288754cf55e7612e64227c261ffe2b0ccb8aef21f47ed1afac713295d6f7b063f27fa083715d311f7c75
|
||||
EBUILD virtualbox-modules-7.0.14.ebuild 942 BLAKE2B eefe2ce819d229a06584224a5f4ffe531e821df6dcc7b5f761d88605ab854880f9182a22d228953e2194d9a37191e6816fb5db4f87e3e10d324a42f71486ffce SHA512 181fece45985e074c73476473eba544a69151e6e2499e6162ca6019213aff95d6460d240890b01e24ff230eb87070d31f2ab9e595a21545a3020e9f4b1e7da34
|
||||
MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f
|
||||
|
@ -1,13 +0,0 @@
|
||||
https://bugs.gentoo.org/912168
|
||||
|
||||
--- a/vboxnetflt/linux/VBoxNetFlt-linux.c
|
||||
+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c
|
||||
@@ -47,7 +47,7 @@
|
||||
#if RTLNX_VER_MIN(2,6,24)
|
||||
# include <linux/nsproxy.h>
|
||||
#endif
|
||||
-#if RTLNX_VER_MIN(6,5,0)
|
||||
+#if RTLNX_VER_MIN(6,4,10)
|
||||
# include <net/gso.h>
|
||||
#endif
|
||||
#include <linux/netdevice.h>
|
@ -1,36 +0,0 @@
|
||||
# Copyright 2022-2023 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.10-kernel-6.4.10.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
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
# Copyright 2022-2023 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"
|
||||
|
||||
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
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
# Copyright 2022-2023 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}"/${PN}-7.0.10-kernel-6.4.10.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
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
# Copyright 2022-2023 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
|
||||
}
|
@ -1,675 +0,0 @@
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# 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() {
|
||||
tc-ld-disable-gold # bug #488176
|
||||
|
||||
#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/ /\ /g' \
|
||||
-e 's/–/\–/g' \
|
||||
-e 's/←/\←/g' \
|
||||
-e 's/→/\→/g' \
|
||||
-e 's/↔/\↔/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 #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
|
||||
}
|
@ -1,755 +0,0 @@
|
||||
# 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.8.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=(
|
||||
"${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
|
||||
|
||||
"${FILESDIR}"/${PN}-7.0.0-fix-compilation-clang.patch
|
||||
"${FILESDIR}"/${PN}-7.0.10-python.patch
|
||||
"${FILESDIR}"/${PN}-7.0.6-gcc-13.patch
|
||||
"${FILESDIR}"/${PN}-7.0.8-mtune-keep-size.patch
|
||||
"${FILESDIR}"/${PN}-7.0.6-fix-libxml2.patch
|
||||
# 913109
|
||||
"${FILESDIR}"/${PN}-7.0.10-fix-binutils-hardened.patch
|
||||
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.0.8/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
|
||||
|
||||
# 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 #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/ /\ /g' \
|
||||
-e 's/–/\–/g' \
|
||||
-e 's/←/\←/g' \
|
||||
-e 's/→/\→/g' \
|
||||
-e 's/↔/\↔/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/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || 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
|
||||
}
|
||||
|
||||
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
|
||||
}
|
@ -1,735 +0,0 @@
|
||||
# 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..12} )
|
||||
|
||||
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.8.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=(
|
||||
"${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
|
||||
|
||||
"${FILESDIR}"/${PN}-7.0.0-fix-compilation-clang.patch
|
||||
"${FILESDIR}"/${PN}-7.0.10-python.patch
|
||||
"${FILESDIR}"/${PN}-7.0.6-gcc-13.patch
|
||||
"${FILESDIR}"/${PN}-7.0.8-mtune-keep-size.patch
|
||||
"${FILESDIR}"/${PN}-7.0.6-fix-libxml2.patch
|
||||
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.0.8/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
|
||||
|
||||
# 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 #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/ /\ /g' \
|
||||
-e 's/–/\–/g' \
|
||||
-e 's/←/\←/g' \
|
||||
-e 's/→/\→/g' \
|
||||
-e 's/↔/\↔/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/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || 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
|
||||
}
|
||||
|
||||
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 -n "VBOX_APP_HOME=${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
|
||||
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
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
# 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
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
# 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
|
||||
}
|
@ -0,0 +1,469 @@
|
||||
# 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..12} )
|
||||
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
|
||||
S="${WORKDIR}/${WINE_P}"
|
||||
|
||||
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/
|
||||
"
|
||||
|
||||
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
|
||||
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}
|
||||
|
||||
filter-flags -fno-plt # build failure
|
||||
|
||||
# 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
|
||||
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
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue