Sync with portage [Thu Mar 28 15:47:23 MSK 2024].

master
root 4 weeks ago
parent 34439d1fa9
commit d275479ea1

Binary file not shown.

Binary file not shown.

@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<!-- maintainer-needed -->
<upstream>
<bugs-to>https://github.com/Nefelim4ag/Ananicy/issues</bugs-to>
<remote-id type="github">Nefelim4ag/Ananicy</remote-id>

@ -2,3 +2,4 @@ DIST ansible-core-2.14.13.tar.gz 3145413 BLAKE2B 75b11feaaefa9a63c6f83f64c796cea
DIST ansible-core-2.15.8.tar.gz 3160606 BLAKE2B 439a3f584940e5ab46b43b0b47395e0618a3ea52c67ebcd51667f31220cb038dda35506e7843d177d555b77a55a9d2c6245a916741ab1dcdf222c535afb5f83d SHA512 020191ef4b005abbf799204da68270bd4f13a85c7f23cb9dffe85b1c5c093c0ad86e061211ab9fcc8fd0be9367717fb0baadefb1ebecd3579471120fb2e8647f
DIST ansible-core-2.16.2.tar.gz 3163899 BLAKE2B 6365dd573ae4a2f3ebfc870ae3ea399b268615333de2ddf7e21323189dfdd9bf61ae836b536c86d713f4a934468ed36835084e06e4b6d9b32c4b633f55353ad9 SHA512 6e2389fc6b34645c0f1566eca960da36616619a5ed5e35b46f3d659979fe519db20d89b4f598344a389f4b6ac33bb660ea91a1a6509002bbf4ac791ea3cb4cbd
DIST ansible-core-2.16.4.tar.gz 3170397 BLAKE2B 8226641621ce4b2a8cd564f831cd21e36345b2db6680f8d9f3d3388a05ff66df74f4d286300dbb1b73601a0bf4a781d266e62e9fd0c894a79f89d545930c854a SHA512 d05737eec9a6a0e71891821acd4540576b3a993f59d88c12c2da8e7f075bc11c712e0eba850b3f7a2643e3c970f51938267fed6fa7f99f2c4c205b64f9b13259
DIST ansible-core-2.16.5.tar.gz 3171617 BLAKE2B cb620cf9fc9fd509edb62bf75ab19b5ffe80f4d8520be76bbeb030c74953945295e0f4f30102f51d20247d2ce4a18b15e488e47b4346319f5442979593402821 SHA512 dbe5d68fbc3a0ef611791d6995297bca5bba6aed1f4871964136ea81810458646bc78c2146739f887de3c2e3017cf4e6d4d09652e41c2ca046c4bc88eca6c5d8

@ -0,0 +1,54 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1
DESCRIPTION="Model-driven deployment, config management, and command execution framework"
HOMEPAGE="https://www.ansible.com/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ansible/ansible.git"
EGIT_BRANCH="devel"
else
inherit pypi
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~x64-macos"
fi
LICENSE="GPL-3"
SLOT="0"
RESTRICT="test"
RDEPEND="
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-python/netaddr[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/resolvelib-0.5.3[${PYTHON_USEDEP}]
<dev-python/resolvelib-1.1.0[${PYTHON_USEDEP}]
net-misc/sshpass
virtual/ssh
"
BDEPEND="
>=dev-python/packaging-16.6[${PYTHON_USEDEP}]
test? (
dev-python/botocore[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
python_compile() {
export ANSIBLE_SKIP_CONFLICT_CHECK=1
distutils-r1_python_compile
}

@ -1,3 +1,6 @@
DIST aws-cli-1.32.59.gh.tar.gz 2660092 BLAKE2B 560bd7b69822af18f33e91d7586da20b6bf955070e524b66da2a987a6305298a2e566749cf50ac21907ca6fa97eb4a3f1475625f23bdd27874aab63f5b8f8cf9 SHA512 a4efcec4db472891bf856bbdb2b6a8e98e3b74f0db88c04c284d62d65650339f4c1f37cef92b4a5e8b06b75f8aaa7882d6cfe319cf5c25cd8961a0cac0d0f2b1
DIST aws-cli-1.32.64.gh.tar.gz 2672156 BLAKE2B 6707984b03e004ed8672b35694c9e4be7d2543c040a64778c0ad43a4e011f07506eb5e3f9791a5b0e23bc5bd222b625daa078f9e42cfbf6d71b7887d675c1a5a SHA512 f39472bb1ad75cbfc4bf775aee9a003a884d7423e10d9ff96f90ebe7dbd97c0db4bbd4d52f1d918372ec880d1dea8f5cf82db31118a7c29973d42149064fd8a3
DIST aws-cli-1.32.69.gh.tar.gz 2675479 BLAKE2B 7a8ec84c029662145aaf49afd1b9194a7a021249ee7bff2f5c5b704703e54ee6f09c94cd0ccf85a968187f3e8e6c85a18fa31592f6bc82dc5c2aac9aaa02a643 SHA512 09f5929fcec0ec263f80b377ee21d256c52547f9f71b8a38382b0a9d39371646d0afcc3650079147f0dc8f6fa11d33cb4a9f3977c023be37851fca761ef6ac56
DIST aws-cli-1.32.70.gh.tar.gz 2675950 BLAKE2B bbe8b0a7c2c603e977f19922bd26fc9919eec81763e9a010000e009c23914b386e5783fd0b682449f3936dcf39851da568e0c5723c7ec412de6dee8549cdf79e SHA512 ba2ec0d98b29adcb43d0a8b482af0bc6df3dd20768616ac2f4b63ef2d2a62a480e2a00ba200c1d518db13f3d98a5d14d3de04e9682627dd4fe71a78cd2c0278a
DIST aws-cli-1.32.71.gh.tar.gz 2676392 BLAKE2B d20c5ac461e1fa9547b381f1f9040943a59c4fd9bf53dfcf4359c0f5c3bb08d28304f7da057e3196a927882768a333b37a1729d6fb604a8dd07361bedf93b1e0 SHA512 a197ef31df0ef3c6b229645a5e13ba83e8dd92f89a25388615c82fe63667e1bc86936e9f0591ea709200b6218720b3510b262b46df4b61bc2210aefe46928cb9
DIST aws-cli-1.32.72.gh.tar.gz 2676512 BLAKE2B 1ee9efca27bcd975dc641183a6d2dbb0519fa5c84608eb3918a3ccee864794c0d5bf237f905ed89e52c4a2079d484ba1c4f414af8088170c0b69efd3941a73a6 SHA512 a2a0bcdfb45971d96706a4adaeb642a09dcba33c4c261b6f445475a266c6667bdcaaf91c6acb4a9d2a038b8551ef9f59e009bdb78eab8ce3cc661dccbf2f399b

@ -0,0 +1,90 @@
# 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/packaging[${PYTHON_USEDEP}]
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,90 @@
# 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/packaging[${PYTHON_USEDEP}]
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,90 @@
# 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/packaging[${PYTHON_USEDEP}]
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.

@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
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"
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="
acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
static-libs test xattr zstd

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ckolivas/lrzip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
RDEPEND="app-arch/bzip2

@ -9,7 +9,7 @@ SRC_URI="https://www.lzop.org/download/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND=">=dev-libs/lzo-2"
DEPEND="${RDEPEND}"

@ -6,6 +6,7 @@
<name>Gentoo Base System</name>
</maintainer>
<upstream>
<remote-id type="savannah">sharutils</remote-id>
<remote-id type="cpe">cpe:/a:gnu:sharutils</remote-id>
</upstream>
</pkgmetadata>

@ -1,5 +1,3 @@
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.6.1.tar.gz 3045434 BLAKE2B b3fc3140c9655e812a03800a5ed8ac709aaafaee2ce5d3a62defdd085e643fa639de44beb64833160f4eb12829ad25b96d9f50a8c3d56d79cd5bbef71b9009b2 SHA512 8af100eb83288f032e4813be2bf8de7d733c8761f77f078776c1391709241ad8fe3192d107664786e2543677915c5eeb3fe7add5c53b48b50c10a9de7c9f4fda

@ -1,146 +0,0 @@
# 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)
}

@ -1 +1,2 @@
DIST zstd-1.5.5.tar.gz 2368543 BLAKE2B 7680e27a0adacfb809d9fc81e06d3f99bf74df30374d3b5cb2d58f667dd1b7d5c41697e608592709e17c0e32277f20a6d615edee409b5d7cdcb15da2799a2350 SHA512 99109ec0e07fa65c2101c9cb36be56b672bbd0ee69d265f924718e61f9192ae8385c8d9e4d0c318be9edfa6d849fd3d60e5f164fa120961449429ea3c5dab6b6
DIST zstd-1.5.6.tar.gz 2406875 BLAKE2B fe17cf0950f8ee2cc07bfa2b41e97f36a1832e396386cb94a55bede975dc974920578cf147b39eecbc5b53ff06fe0dc1fe781a4cab9bc9f767ea28c0e786422e SHA512 54a578f2484da0520a6e9a24f501b9540a3fe3806785d6bc9db79fc095b7c142a7c121387c7eecd460ca71446603584ef1ba4d29a33ca90873338c9ffbd04f14

@ -0,0 +1,67 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson-multilib
DESCRIPTION="zstd fast compression library"
HOMEPAGE="https://facebook.github.io/zstd/"
SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz"
S="${WORKDIR}"/${P}/build/meson
LICENSE="|| ( BSD GPL-2 )"
SLOT="0/1"
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="+lzma lz4 static-libs test zlib"
RESTRICT="!test? ( test )"
RDEPEND="
lzma? ( app-arch/xz-utils )
lz4? ( app-arch/lz4:= )
zlib? ( sys-libs/zlib )
"
DEPEND="${RDEPEND}"
MESON_PATCHES=(
# Workaround until Valgrind bugfix lands
"${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch
)
PATCHES=(
)
src_prepare() {
cd "${WORKDIR}"/${P} || die
default
cd "${S}" || die
eapply "${MESON_PATCHES[@]}"
}
multilib_src_configure() {
local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
# This replaces the no-find-valgrind patch once bugfix lands in a meson
# release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372)
cat >> ${native_file} <<-EOF || die
[binaries]
valgrind='valgrind-falseified'
EOF
local emesonargs=(
-Ddefault_library=$(multilib_native_usex static-libs both shared)
$(meson_native_true bin_programs)
$(meson_native_true bin_contrib)
$(meson_use test bin_tests)
$(meson_native_use_feature zlib)
$(meson_native_use_feature lzma)
$(meson_native_use_feature lz4)
--native-file "${native_file}"
)
meson_src_configure
}

Binary file not shown.

@ -3,7 +3,7 @@
EAPI=8
inherit go-module linux-info
inherit go-module linux-info toolchain-funcs
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
@ -27,7 +27,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/containers/buildah.git"
else
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm64"
KEYWORDS="amd64 arm64"
fi
RDEPEND="
@ -42,6 +42,7 @@ RDEPEND="
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
pkg_pretend() {
local CONFIG_CHECK=""
@ -98,6 +99,9 @@ src_prepare() {
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
@@ -123 +123 @@
-docs: install.tools ## build the docs on the host
+docs: ## build the docs on the host
EOF
eapply "${T}/disable_tests.patch" || die
}
@ -109,6 +113,8 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -3,7 +3,7 @@
EAPI=8
inherit go-module linux-info
inherit go-module linux-info toolchain-funcs
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
@ -27,7 +27,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/containers/buildah.git"
else
SRC_URI="https://github.com/containers/buildah/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm64"
KEYWORDS="amd64 arm64"
fi
RDEPEND="
@ -42,6 +42,7 @@ RDEPEND="
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
pkg_pretend() {
local CONFIG_CHECK=""
@ -98,6 +99,9 @@ src_prepare() {
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
@@ -123 +123 @@
-docs: install.tools ## build the docs on the host
+docs: ## build the docs on the host
EOF
eapply "${T}/disable_tests.patch" || die
}
@ -109,6 +113,8 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -3,7 +3,7 @@
EAPI=8
inherit go-module linux-info
inherit go-module linux-info toolchain-funcs
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
@ -35,13 +35,14 @@ RDEPEND="
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp:= )
apparmor? ( sys-libs/libapparmor:= )
app-containers/containers-common
>=app-containers/containers-common-0.58.0-r1
app-crypt/gpgme:=
dev-libs/libgpg-error:=
dev-libs/libassuan:=
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
pkg_pretend() {
local CONFIG_CHECK=""
@ -98,6 +99,9 @@ src_prepare() {
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
@@ -123 +123 @@
-docs: install.tools ## build the docs on the host
+docs: ## build the docs on the host
EOF
eapply "${T}/disable_tests.patch" || die
}
@ -109,6 +113,8 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -3,7 +3,7 @@
EAPI=8
inherit go-module linux-info
inherit go-module linux-info toolchain-funcs
DESCRIPTION="A tool that facilitates building OCI images"
HOMEPAGE="https://github.com/containers/buildah"
@ -42,6 +42,7 @@ RDEPEND="
sys-apps/shadow:=
"
DEPEND="${RDEPEND}"
BDEPEND="dev-go/go-md2man"
pkg_pretend() {
local CONFIG_CHECK=""
@ -98,6 +99,9 @@ src_prepare() {
@@ -54 +54 @@
-all: bin/buildah bin/imgtype bin/copy bin/tutorial docs
+all: bin/buildah docs
@@ -123 +123 @@
-docs: install.tools ## build the docs on the host
+docs: ## build the docs on the host
EOF
eapply "${T}/disable_tests.patch" || die
}
@ -109,6 +113,8 @@ src_compile() {
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT=""
tc-export AS LD
export GOMD2MAN="$(command -v go-md2man)"
default
}

@ -1,2 +1,4 @@
DIST incus-0.6.tar.xz 11749212 BLAKE2B 6cf607f13f0dd14e04b49e97e718d6f11612193a6f27515988c9d12383e3655147edd1120a2b030c9b77f3f72c0c73ae3ec960090b4d76f59930ac0256c2a5c8 SHA512 c90251be777963c437c8f5a3f6a9e448d41f58ec2f2fb7bafbdc241f32234edd50a82a4c6d4a19e822a3d090282e8ea220842a27b17d17bce8691c1549209f7f
DIST incus-0.6.tar.xz.asc 833 BLAKE2B 47d80cbf92961d03e8a96eb313213960b02730d21d0a36c37e22bd1ea238bee72b94f2f98f49574b4ae07d847099db760a253f3bf69ff2658bcba65bc6a61315 SHA512 7504f74bf1659f06c40b9ae04853bb993988ae704f2b46c39a744bfa7b179383b5377851b6514b368826d6b3beb930188f3cf73b51c99a1b4cb90f8f03a60b5c
DIST incus-0.7.tar.xz 11829696 BLAKE2B 9e7dd7b196e538a4eb47d158d7c3d5459eace38431dfbe91d5f28f5b9dfc174e485b44f6b8c0f87a054e11f40d29d754f05fc6835034e4131bd8d6b948d720fa SHA512 79e389be3fa094c6c82c1e06b9f2a7e5181dc91db40cdcae4b28593a3e9e53f4f5705b5d6566b48689dbdaec9a277704df0c1b396455aca5f4c5ab93e74dc4d7
DIST incus-0.7.tar.xz.asc 833 BLAKE2B afb20ff942a4497e895d0cf40b4de260ea32d4cb40284e317188c6aef5e100836ac434038aa931a2ee733abce3569a6ef8bbc162afdcf4dfc542e5c6b55e7d6b SHA512 0ace5c060e1222220858814fb55ecd48ccb0f51d902e6ef29f32d715e185a8c3dcbd29f556453fdc19ad23b1eea7b39db06786cc73373d881d0137d3ebf3af9a

@ -0,0 +1,205 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit 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.22.0:=[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-1.21
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-simplestreams incus-user incus lxc-to-incus lxd-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
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 lxd-to-incus ; do
dosbin ${bindir}/${l}
done
# User tools
for m in incus-agent incus-benchmark incus-migrate incus-simplestreams 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
# Generate and install shell completion files.
mkdir -p "${D}"/usr/share/{bash-completion/completions/,fish/vendor_completions.d/,zsh/site-functions/} || die
"${bindir}"/incus completion bash > "${D}"/usr/share/bash-completion/completions/incus || die
"${bindir}"/incus completion fish > "${D}"/usr/share/fish/vendor_completions.d/incus.fish || die
"${bindir}"/incus completion zsh > "${D}"/usr/share/zsh/site-functions/_incus || die
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-cdr/cdrtools 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
}

@ -1,2 +1,3 @@
DIST podman-4.9.3.tar.gz 21727849 BLAKE2B 9a67ba4266a8a0e20d165ba2bae00dcf146724ee976838d5e3310b094155ffa89bff526e8ae72864dc100d1e6878d5519d53581dc7e034982a4f2b364e4c8feb SHA512 395014bbe70923f1444d2f33440013a16e9c339b70be5e6a9c7026617a40795a1c0e410c08a52fba46b9f5e853d853ce4133db36167a3c5ace7d325f8b3a3327
DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b
DIST podman-5.0.0.tar.gz 21861935 BLAKE2B 1ec7006f272f5da7f93929bc543cd8988d6f9596cb868e9561578ebef85d51cbd6baa4b66571872fc9748c639ca636ce27f6d90303707f04caa321c7b71db81a SHA512 8800d96d668cbc7a7ff85a09c71b3307a280c124513fd02fe478f415cf8db43ee47dc7e9c3b75046c6bda9f916937a2cc59887c2c4b26766c2f770abb87fd7ce

@ -0,0 +1,156 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11,12} )
inherit go-module python-any-r1 tmpfiles linux-info
DESCRIPTION="A tool for managing OCI containers and pods with Docker-compatible CLI"
HOMEPAGE="https://github.com/containers/podman/ https://podman.io/"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/containers/podman.git"
else
SRC_URI="https://github.com/containers/podman/archive/v${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/_rc/-rc}"
if [[ ${PV} != *rc* ]] ; then
KEYWORDS="~amd64 ~arm64 ~riscv"
fi
fi
# main pkg
LICENSE="Apache-2.0"
# deps
LICENSE+=" BSD BSD-2 CC-BY-SA-4.0 ISC MIT MPL-2.0"
SLOT="0"
IUSE="apparmor btrfs cgroup-hybrid wrapper +fuse +init +rootless +seccomp selinux systemd"
RESTRICT="test"
RDEPEND="
app-crypt/gpgme:=
>=app-containers/conmon-2.0.0
>=app-containers/containers-common-0.56.0
dev-libs/libassuan:=
dev-libs/libgpg-error:=
sys-apps/shadow:=
apparmor? ( sys-libs/libapparmor )
btrfs? ( sys-fs/btrfs-progs )
cgroup-hybrid? ( >=app-containers/runc-1.0.0_rc6 )
!cgroup-hybrid? ( app-containers/crun )
wrapper? ( !app-containers/docker-cli )
fuse? ( sys-fs/fuse-overlayfs )
init? ( app-containers/catatonit )
rootless? ( app-containers/slirp4netns )
seccomp? ( sys-libs/libseccomp:= )
selinux? ( sec-policy/selinux-podman sys-libs/libselinux:= )
systemd? ( sys-apps/systemd:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
dev-go/go-md2man
"
PATCHES=(
"${FILESDIR}/seccomp-toggle-4.7.0.patch"
)
CONFIG_CHECK="
~USER_NS
"
pkg_setup() {
use btrfs && CONFIG_CHECK+=" ~BTRFS_FS"
linux-info_pkg_setup
python-any-r1_pkg_setup
}
src_prepare() {
default
# assure necessary files are present
local file
for file in apparmor_tag btrfs_installed_tag btrfs_tag systemd_tag; do
[[ -f hack/"${file}".sh ]] || die
done
local feature
for feature in apparmor systemd; do
cat <<-EOF > hack/"${feature}"_tag.sh || die
#!/usr/bin/env bash
$(usex ${feature} "echo ${feature}" echo)
EOF
done
echo -e "#!/usr/bin/env bash\n echo" > hack/btrfs_installed_tag.sh || die
cat <<-EOF > hack/btrfs_tag.sh || die
#!/usr/bin/env bash
$(usex btrfs echo 'echo exclude_graphdriver_btrfs btrfs_noversion')
EOF
}
src_compile() {
export PREFIX="${EPREFIX}/usr"
# bug 906073
use elibc_musl && export CGO_CFLAGS="-D_LARGEFILE64_SOURCE"
# For non-live versions, prevent git operations which causes sandbox violations
# https://github.com/gentoo/gentoo/pull/33531#issuecomment-1786107493
[[ ${PV} != 9999* ]] && export COMMIT_NO="" GIT_COMMIT="" EPOCH_TEST_COMMIT=""
# BUILD_SECCOMP is used in the patch to toggle seccomp
emake BUILDFLAGS="-v -work -x" GOMD2MAN="go-md2man" BUILD_SECCOMP="$(usex seccomp)" all $(usev wrapper docker-docs)
}
src_install() {
emake DESTDIR="${D}" install install.completions $(usev wrapper install.docker-full)
insinto /etc/cni/net.d
doins cni/87-podman-bridge.conflist
if use !systemd; then
newconfd "${FILESDIR}"/podman-5.0.0_rc4.confd podman
newinitd "${FILESDIR}"/podman-5.0.0_rc4.initd podman
newinitd "${FILESDIR}"/podman-restart-5.0.0_rc4.initd podman-restart
newconfd "${FILESDIR}"/podman-restart-5.0.0_rc4.confd podman-restart
newinitd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.initd podman-clean-transient
newconfd "${FILESDIR}"/podman-clean-transient-5.0.0_rc6.confd podman-clean-transient
exeinto /etc/cron.daily
newexe "${FILESDIR}"/podman-auto-update-5.0.0.cron podman-auto-update
insinto /etc/logrotate.d
newins "${FILESDIR}/podman.logrotated" podman
fi
keepdir /var/lib/containers
}
pkg_preinst() {
PODMAN_ROOTLESS_UPGRADE=false
if use rootless; then
has_version 'app-containers/podman[rootless]' || PODMAN_ROOTLESS_UPGRADE=true
fi
}
pkg_postinst() {
tmpfiles_process podman.conf $(usev wrapper podman-docker.conf)
local want_newline=false
if [[ ${PODMAN_ROOTLESS_UPGRADE} == true ]] ; then
${want_newline} && elog ""
elog "For rootless operation, you need to configure subuid/subgid"
elog "for user running podman. In case subuid/subgid has only been"
elog "configured for root, run:"
elog "usermod --add-subuids 1065536-1131071 <user>"
elog "usermod --add-subgids 1065536-1131071 <user>"
want_newline=true
fi
}

Binary file not shown.

@ -17,7 +17,7 @@ S="${WORKDIR}/emacs-${FULL_VERSION}"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="26"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]

@ -36,7 +36,7 @@ else
PATCHES=("${WORKDIR}/patch")
SLOT="${PV%%.*}"
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"

@ -36,7 +36,7 @@ else
PATCHES=("${WORKDIR}/patch")
SLOT="${PV%%.*}"
[[ ${PV} == *.*.* ]] && SLOT+="-vcs"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"

Binary file not shown.

@ -1,4 +1 @@
DIST org-mode-release_9.5.5.tar.gz 2049730 BLAKE2B 382e6585f693fd30def29da740d1329a52b4565382df90a37e3646324ee44106f1a99c2ea0c0862d77721cc9bfbec0736cb03065b59b2fdea0a68d8f8ea37c9a SHA512 ce06bab17ae7944c1623f935bbad0379d06390c72c43633ba0de2bc04ad362e18d9aaae96103eeaa23f7ea9e4e00976a97a914da87fb7941a13746b1fa77f591
DIST org-mode-release_9.6.19.tar.gz 2212192 BLAKE2B 812d540fc4f494c95990a6baabcb44c29f44ee4d15c9e1c1ae1334ad081c486da674210bba45461cd1c3b3149683d53190ecfc85cfc75f234271f1087a67c436 SHA512 070e5755537dba8237b33cd4092b2750908d2b1aabf2aad93e8d7139225397b5158e4e6a7ed1a802a50d1f8dd2c81ea18d1f459bb638b76b2dad8da0a55b8e53
DIST org-mode-release_9.6.21.tar.gz 2212294 BLAKE2B fde48aa9b8ac85286987ee8f47cad54e6ca106fcbf8e9a294e2a44d93087e0d036a14d8c550670097931f775ab9ee184f6879f297a6262fc9ea0f693f80e6256 SHA512 3b386b244dc8434fb8e5f96489e1dc796fb5ffcb2d9785c252b355a396a8e50c3451edff609a9c7a10cb51bbe3953f5577ae2eb9587c11ee4131ef08aa879933
DIST org-mode-release_9.6.23.tar.gz 2212912 BLAKE2B 50f387e72650561c0d76068d4c98c406560f3523e9680b4eebc8a2baa0c445a64eeb3934062f721325afe02ab0ec46d7cdff7bdf2f4f19740c130beee496d26f SHA512 60e9abdaa195a21707dbcb44cf0a30f330307455ecf63ea67db09e19efc171bb670dc31c70baca191c2a35890004871f6513fbeeff890bb18cf92b251dae8ec1

@ -1,50 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp readme.gentoo-r1
MY_P="${PN}-release_${PV}"
DESCRIPTION="An Emacs mode for notes and project planning"
HOMEPAGE="https://www.orgmode.org/"
SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="doc odt-schema"
RESTRICT="test"
BDEPEND="doc? ( virtual/texi2dvi )"
SITEFILE="50${PN}-gentoo.el"
src_compile() {
emake \
ORGVERSION=${PV} \
datadir="${EPREFIX}${SITEETC}/${PN}"
use doc && emake pdf card
}
src_install() {
emake \
ORGVERSION=${PV} \
DESTDIR="${D}" \
ETCDIRS="styles csl $(use odt-schema && echo schema)" \
lispdir="${EPREFIX}${SITELISP}/${PN}" \
datadir="${EPREFIX}${SITEETC}/${PN}" \
infodir="${EPREFIX}/usr/share/info" \
install
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
dodoc README CONTRIBUTE etc/ORG-NEWS
use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
so you may have to install one or more additional packages.
A non-exhaustive list of these dependencies may be found at
<http://orgmode.org/worg/org-dependencies.html>."
readme.gentoo_create_doc
}

@ -1,50 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp readme.gentoo-r1
MY_P="${PN}-release_${PV}"
DESCRIPTION="An Emacs mode for notes and project planning"
HOMEPAGE="https://www.orgmode.org/"
SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="doc odt-schema"
RESTRICT="test"
BDEPEND="doc? ( virtual/texi2dvi )"
SITEFILE="50${PN}-gentoo.el"
src_compile() {
emake -j1 \
ORGVERSION=${PV} \
datadir="${EPREFIX}${SITEETC}/${PN}"
use doc && emake -j1 pdf card
}
src_install() {
emake \
ORGVERSION=${PV} \
DESTDIR="${D}" \
ETCDIRS="styles csl $(use odt-schema && echo schema)" \
lispdir="${EPREFIX}${SITELISP}/${PN}" \
datadir="${EPREFIX}${SITEETC}/${PN}" \
infodir="${EPREFIX}/usr/share/info" \
install
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
so you may have to install one or more additional packages.
A non-exhaustive list of these dependencies may be found at
<http://orgmode.org/worg/org-dependencies.html>."
readme.gentoo_create_doc
}

@ -1,50 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp readme.gentoo-r1
MY_P="${PN}-release_${PV}"
DESCRIPTION="An Emacs mode for notes and project planning"
HOMEPAGE="https://www.orgmode.org/"
SRC_URI="https://git.savannah.gnu.org/cgit/emacs/${PN}.git/snapshot/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="doc odt-schema"
RESTRICT="test"
BDEPEND="doc? ( virtual/texi2dvi )"
SITEFILE="50${PN}-gentoo.el"
src_compile() {
emake -j1 \
ORGVERSION=${PV} \
datadir="${EPREFIX}${SITEETC}/${PN}"
use doc && emake -j1 pdf card
}
src_install() {
emake \
ORGVERSION=${PV} \
DESTDIR="${D}" \
ETCDIRS="styles csl $(use odt-schema && echo schema)" \
lispdir="${EPREFIX}${SITELISP}/${PN}" \
datadir="${EPREFIX}${SITEETC}/${PN}" \
infodir="${EPREFIX}/usr/share/info" \
install
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
dodoc README.org CONTRIBUTE.org etc/ORG-NEWS
use doc && dodoc doc/org.pdf doc/orgcard.pdf doc/orgguide.pdf
local DOC_CONTENTS="Org mode has a large variety of run-time dependencies,
so you may have to install one or more additional packages.
A non-exhaustive list of these dependencies may be found at
<http://orgmode.org/worg/org-dependencies.html>."
readme.gentoo_create_doc
}

@ -13,7 +13,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3+ FDL-1.3+ CC-BY-SA-3.0 odt-schema? ( OASIS-Open )"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
KEYWORDS="amd64 ppc x86"
IUSE="doc odt-schema"
RESTRICT="test"

Binary file not shown.

@ -68,6 +68,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -79,6 +84,11 @@ src_configure() {
unset AR CC CXX RC STRIP
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -92,6 +92,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -103,6 +108,11 @@ src_configure() {
unset AR CC CXX RC STRIP
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -95,6 +95,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -106,6 +111,11 @@ src_configure() {
unset AR CC CXX RC STRIP
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -92,6 +92,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -103,6 +108,11 @@ src_configure() {
unset AR CC CXX RC STRIP
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -95,6 +95,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -106,6 +111,11 @@ src_configure() {
unset AR CC CXX RC STRIP
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -681,7 +681,7 @@ DEPEND="
BDEPEND="
virtual/jre:*
virtual/pkgconfig
>=virtual/rust-1.72
>=virtual/rust-1.76
"
QA_FLAGS_IGNORED="usr/bin/${PN}.*"
@ -691,9 +691,6 @@ PATCHES=(
)
src_configure() {
# see .cargo/config.toml, only needed if RUSTFLAGS is set by the user
[[ -v RUSTFLAGS ]] && RUSTFLAGS+=" --cfg=web_sys_unstable_apis"
local workspaces=(
ruffle_{desktop,scanner}
exporter

@ -36,7 +36,7 @@ DEPEND="
BDEPEND="
virtual/jre:*
virtual/pkgconfig
>=virtual/rust-1.74
>=virtual/rust-1.76
"
QA_FLAGS_IGNORED="usr/bin/${PN}.*"
@ -51,9 +51,6 @@ src_unpack() {
}
src_configure() {
# see .cargo/config.toml, only needed if RUSTFLAGS is set by the user
[[ -v RUSTFLAGS ]] && RUSTFLAGS+=" --cfg=web_sys_unstable_apis"
local workspaces=(
ruffle_{desktop,scanner}
exporter

@ -110,6 +110,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -121,6 +126,11 @@ src_configure() {
unset AR CC CXX RC STRIP WIDL
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -108,6 +108,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -119,6 +124,11 @@ src_configure() {
unset AR CC CXX RC STRIP WIDL
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -114,6 +114,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -125,6 +130,11 @@ src_configure() {
unset AR CC CXX RC STRIP WIDL
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -105,6 +105,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -116,6 +121,11 @@ src_configure() {
unset AR CC CXX RC STRIP WIDL
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -114,6 +114,11 @@ src_prepare() {
src_configure() {
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# random segfaults been reported with LTO in some games, filter as
# a safety (note that optimizing this further won't really help
# performance, GPU does the actual work)
filter-lto
# -mavx with mingw-gcc has a history of obscure issues and
# disabling is seen as safer, e.g. `WINEARCH=win32 winecfg`
# crashes with -march=skylake >=wine-8.10, similar issues with
@ -125,6 +130,11 @@ src_configure() {
unset AR CC CXX RC STRIP WIDL
filter-flags '-fuse-ld=*'
filter-flags '-mfunction-return=thunk*' #878849
# some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then
# strip-unsupported-flags miss these during compile-only tests
# (primarily done for 23.0 profiles' -z, not full coverage)
filter-flags '-Wl,-z,*' #928038
fi
CHOST_amd64=x86_64-w64-mingw32

@ -5,10 +5,8 @@ DIST edk2-b16284e2a0011489f6e16dfcc6af7623c3cbaf0b.tar.gz 15245558 BLAKE2B 33876
DIST ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz 3962725 BLAKE2B a8084abaf93a4ab06ba170427a66dab08e68ba1288f42ea744e2cbc66d6bd2294bee82f6d0994260d2cd60daf6a6068e40eb74fdeba2bccaa432d090d81fd9db SHA512 4ac1d07ce879a3a8c6c260380258c37f5e4ecddc880b27fb59afc38fbf3718e81b04a4dda2b58fe7a438a23175e00b6179fc067acbc4a75e33d93c4b85ff5d68
DIST seabios-1.16.0.tar.gz 635419 BLAKE2B b645f20bae341d56ce4fc4a7044446050d8490c6c136377f6dccf02c88100b0644bc13d210b4a517a8be6002d5671b0fba77120a2aca3a9bafbad5e88d037e40 SHA512 9daefcfb1c9edda4462a4b080c9bac552154d577ae19703a914928e43005e7a52edd86869c6507e94a7f0c61ce8b3e6f5dea38cd5146628cb138a130947c522f
DIST xen-4.16.5.tar.gz 45023770 BLAKE2B 1371bd4cdf7431c16a575d4f911cec7be25a6358bbc47648aa542c6dcb27b733a8de63f9226a9290096a84df4d602186fcfdf6d255c43140d8e9373323fa53e9 SHA512 2f370787b72b2cd9d81c0b5f138133e676d2b9c8c76e31e6439649d7145242a6b7be0d51a7ff4f4197a99e3f6b24ac50e63d2fa49368da440d3f555e70c4ebd3
DIST xen-4.17.2.tar.gz 46498038 BLAKE2B 44bb7b39dddb1dbd266a31f6e67f49e981946b78a83580ec068e02687780695d33868781b563dfb77db8ad3ffdc6fe7431ca8243650d9a08823312c430cfa5cd SHA512 0bc475483676e4aa27735695f9a8d2821059e7a55984adb8a29badb5c09a4e7cf8ea29cbc9691be616cc0d7a5ee6b6dacc59ba29c2b16e0919ebdf7dfc54201a
DIST xen-4.17.3.tar.gz 46505735 BLAKE2B f7a783d951d3e31391aca2b779b9d11440dc28b0756739f7733cd7d2f160de54a018c00dce5d2a6c55a6494c2151a31a64bbeddefbed34eff179463f2e762d93 SHA512 56ead90af00b4c1aa452b5edba980a2873e4c76e8c518220a88089a2771cd76fe2478e15a41abf5d247e4bc5af8415d53614dff7eb028ced80701c1a1263f91f
DIST xen-gentoo-patches-4.16.1-gentoo-patchset-2.tar.bz2 5403 BLAKE2B 7fa3b4aa123b2deed260d02b8d34a35dd205207038edb92569278b25c6fe32e0f0e3857c07755553e047f0eb0d9fe7f8b0816e0f3d7f68aee7929afaf6611dfd SHA512 9e7d25640b24235acf756b031b8b7cee582dded65fe7b94a706c990232e9704d574036c3a9605f285e8e9534578d100a3f38719b27b22775f17ef8f68287997e
DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450
DIST xen-upstream-patches-4.16.6-pre-patchset-0.tar.bz2 41361 BLAKE2B cf3498d1679fd36265f7d0f95f193a90c50d10d6f8a1df8895131c6b006aa1ba1236588b2cbead0fc7cd95ca74ea9bd24986f169889c1032e6bc4a87a8438404 SHA512 8e3cc0ff8f739ff687e5dcceacd58254d37bff6705993698a1fbfac0ccb2e67b7733c73029ff985b1f91dbdf29e247e96a50c1f2166d0b24df863db6915768ae
DIST xen-upstream-patches-4.16.6-pre-patchset-1.tar.bz2 44167 BLAKE2B 6a11faf689b2875fe6845646cbc71541ff0ce02fed00f2fd0ccabdee4b71be96a5bfaa66a0a6de068a9b6534d5c0df2751f78ccd0755f1bcaef333d8337135dc SHA512 40721e0f4e11408c3687e8e77d850f6f0a02d0af0abe422d11478fe080c158ffee5408ed273d82c8c39a33dd0a97ab962f133a927e3a205fa84e9fe3911a57f1
DIST xen-upstream-patches-4.17.3-pre-patchset-0.tar.bz2 65870 BLAKE2B 9019ed4131157df83053873ce1978dfdaa21304bfd69a059e8869e4cd31e01128dbccf2b6a8f54b4c724dfa8d455cad0e55de555971e80a6cd56f143f2d618d3 SHA512 094172bb1c822fa6159792d517bdfdf9777f297be5acee99746a6b310db2c509f98001a280d798d931d4fa17983e8165297ad96489327368c035f8284efd382d
DIST xen-upstream-patches-4.17.4-pre-patchset-0.tar.bz2 17570 BLAKE2B 5ae7ceb1feef758166dc6d569da30cfa8867b3755d41a4d2834ad73630ee3beea5696b79a175a7c2680db59e50b802ef2a9ee5a3cedff74f3d9cbfac064b25f1 SHA512 6001c4889ae5bdb592f8d7801762e43db13223e6552e916978b8ce85eb78c3fcd885c24d58f3db688244ccf50646c8d41a2e20c47d3b85fefb29d1c0ed37dd99

@ -1,523 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="https://xenbits.xen.org/git-http/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="amd64 ~arm ~arm64 x86"
SEABIOS_VER="1.16.0"
EDK2_COMMIT="b16284e2a0011489f6e16dfcc6af7623c3cbaf0b"
EDK2_OPENSSL_VERSION="1_1_1t"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.16.1
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.16.5
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
)
"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://xenproject.org"
DOCS=( README )
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
lzma? ( app-arch/xz-utils )
qemu? (
dev-libs/glib:2
sys-libs/pam
)
zstd? ( app-arch/zstd )
app-arch/bzip2
app-arch/zstd
dev-libs/libnl:3
dev-libs/lzo:2
dev-libs/yajl
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)
selinux? ( sec-policy/selinux-xen )"
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? (
|| (
sys-firmware/seabios
sys-firmware/seabios-bin
)
)
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
arm64? ( sys-power/iasl
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
>=media-gfx/fig2dev-3.2.9-r1
virtual/pandoc
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
dev-build/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
dev-lang/ocaml[ocamlopt] )
python? ( >=dev-lang/swig-4.0.0 )"
BDEPEND="dev-lang/perl
app-alternatives/yacc
sys-devel/gettext"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_EXECSTACK="
usr/share/qemu-xen/qemu/hppa-firmware.img
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/libexec/xen/libexec/qemu-pr-helper
usr/libexec/xen/libexec/virtfs-proxy-helper
usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
# collisions with app-emulation/qemu.
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
tools/qemu-xen/include/net/net.h \
tools/qemu-xen/meson.build \
tools/qemu-xen/qemu-bridge-helper.c \
tools/qemu-xen/qemu-options.hx \
|| die
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
if use ovmf; then
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
# gcc 11
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
fi
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
-i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
# disable jpeg automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
-i tools/Makefile || die
# disable png automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
# disable docker (Bug #732970)
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
-i tools/Makefile || die
# disable abi-dumper (Bug #791172)
sed -e 's/$(ABI_DUMPER) /echo /g' \
-i tools/libs/libs.mk || die
# Remove -Werror
find . -type f \( -name Makefile -o -name "*.mk" \) \
-exec sed -i \
-e 's/-Werror //g' \
-e '/^CFLAGS *+= -Werror$/d' \
-e 's/, "-Werror"//' \
{} + || die
default
}
src_configure() {
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--libexecdir="${EPREFIX}/usr/libexec"
--localstatedir="${EPREFIX}/var"
--disable-golang
--disable-werror
--disable-xen
--enable-tools
--enable-docs
$(use_enable api xenapi)
$(use_enable ipxe)
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
$(use_enable ocaml ocamltools)
$(use_enable ovmf)
$(use_enable rombios)
$(use_enable systemd)
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
)
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
use amd64 && myconf+=( $(use_enable qemu-traditional) )
tc-ld-disable-gold # Bug 669570
econf ${myconf[@]}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
# bug #845099
if use ipxe; then
local -x NO_WERROR=1
fi
emake \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -1,523 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="https://xenbits.xen.org/git-http/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="amd64 ~arm ~arm64 x86"
SEABIOS_VER="1.16.0"
EDK2_COMMIT="b16284e2a0011489f6e16dfcc6af7623c3cbaf0b"
EDK2_OPENSSL_VERSION="1_1_1t"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.16.1
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.16.5
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
)
"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://xenproject.org"
DOCS=( README )
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
lzma? ( app-arch/xz-utils )
qemu? (
dev-libs/glib:2
sys-libs/pam
)
zstd? ( app-arch/zstd )
app-arch/bzip2
app-arch/zstd
dev-libs/libnl:3
dev-libs/lzo:2
dev-libs/yajl
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)
selinux? ( sec-policy/selinux-xen )"
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? (
|| (
sys-firmware/seabios
sys-firmware/seabios-bin
)
)
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
arm64? ( sys-power/iasl
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
virtual/pandoc
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
dev-build/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
dev-lang/ocaml[ocamlopt] )
python? ( >=dev-lang/swig-4.0.0 )"
BDEPEND="dev-lang/perl
app-alternatives/yacc
sys-devel/gettext"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_EXECSTACK="
usr/share/qemu-xen/qemu/hppa-firmware.img
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/libexec/xen/libexec/qemu-pr-helper
usr/libexec/xen/libexec/virtfs-proxy-helper
usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
# collisions with app-emulation/qemu.
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
tools/qemu-xen/include/net/net.h \
tools/qemu-xen/meson.build \
tools/qemu-xen/qemu-bridge-helper.c \
tools/qemu-xen/qemu-options.hx \
|| die
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
if use ovmf; then
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
# gcc 11
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
fi
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
-i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
# disable jpeg automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
-i tools/Makefile || die
# disable png automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
# disable docker (Bug #732970)
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
-i tools/Makefile || die
# disable abi-dumper (Bug #791172)
sed -e 's/$(ABI_DUMPER) /echo /g' \
-i tools/libs/libs.mk || die
# Remove -Werror
find . -type f \( -name Makefile -o -name "*.mk" \) \
-exec sed -i \
-e 's/-Werror //g' \
-e '/^CFLAGS *+= -Werror$/d' \
-e 's/, "-Werror"//' \
{} + || die
default
}
src_configure() {
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--libexecdir="${EPREFIX}/usr/libexec"
--localstatedir="${EPREFIX}/var"
--disable-golang
--disable-werror
--disable-xen
--enable-tools
--enable-docs
$(use_enable api xenapi)
$(use_enable ipxe)
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
$(use_enable ocaml ocamltools)
$(use_enable ovmf)
$(use_enable rombios)
$(use_enable systemd)
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
)
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
use amd64 && myconf+=( $(use_enable qemu-traditional) )
tc-ld-disable-gold # Bug 669570
econf ${myconf[@]}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
# bug #845099
if use ipxe; then
local -x NO_WERROR=1
fi
emake \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -1,524 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE='ncurses,xml(+),threads(+)'
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 readme.gentoo-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
REPO="xen.git"
EGIT_REPO_URI="https://xenbits.xen.org/git-http/${REPO}"
S="${WORKDIR}/${REPO}"
else
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
SEABIOS_VER="1.16.0"
EDK2_COMMIT="b16284e2a0011489f6e16dfcc6af7623c3cbaf0b"
EDK2_OPENSSL_VERSION="1_1_1t"
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
EDK2_BROTLI_COMMIT="f4153a09f87cbb9c826d8fc12c74642bb2d879ea"
IPXE_COMMIT="3c040ad387099483102708bb1839110bc788cefb"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.17.0
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.17.2
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="
https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz
https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
ipxe? ( https://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
)
"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="Xen tools including QEMU and xl"
HOMEPAGE="https://xenproject.org"
DOCS=( README )
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0/$(ver_cut 1-2)"
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
# >=dev-lang/ocaml-4 stable
# Masked in profiles/eapi-5-files instead
IUSE="api debug doc +hvm +ipxe lzma ocaml ovmf pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios systemd zstd"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
ipxe? ( rombios )
ovmf? ( hvm )
pygrub? ( python )
rombios? ( hvm )
system-ipxe? ( rombios )
?? ( ipxe system-ipxe )
?? ( qemu system-qemu )"
COMMON_DEPEND="
lzma? ( app-arch/xz-utils )
qemu? (
dev-libs/glib:2
sys-libs/pam
)
zstd? ( app-arch/zstd )
app-arch/bzip2
app-arch/zstd
dev-libs/libnl:3
dev-libs/lzo:2
dev-libs/yajl
sys-apps/util-linux
sys-fs/e2fsprogs
sys-libs/ncurses
sys-libs/zlib
${PYTHON_DEPS}
"
RDEPEND="${COMMON_DEPEND}
sys-apps/iproute2[-minimal]
net-misc/bridge-utils
screen? (
app-misc/screen
app-admin/logrotate
)
selinux? ( sec-policy/selinux-xen )"
DEPEND="${COMMON_DEPEND}
app-misc/pax-utils
>=sys-kernel/linux-headers-4.11
x11-libs/pixman
$(python_gen_cond_dep '
dev-python/lxml[${PYTHON_USEDEP}]
')
x86? ( sys-devel/dev86
system-ipxe? ( sys-firmware/ipxe[qemu] )
sys-power/iasl )
api? ( dev-libs/libxml2
net-misc/curl )
ovmf? (
!arm? ( !arm64? ( dev-lang/nasm ) )
$(python_gen_impl_dep sqlite)
)
!amd64? ( >=sys-apps/dtc-1.4.0 )
amd64? ( sys-power/iasl
system-seabios? (
|| (
sys-firmware/seabios
sys-firmware/seabios-bin
)
)
system-ipxe? ( sys-firmware/ipxe[qemu] )
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
arm64? ( sys-power/iasl
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
doc? (
app-text/ghostscript-gpl
$(python_gen_cond_dep '
dev-python/markdown[${PYTHON_USEDEP}]
')
dev-texlive/texlive-latexextra
media-gfx/transfig
virtual/pandoc
)
hvm? ( x11-base/xorg-proto )
qemu? (
app-arch/snappy:=
dev-build/meson
sdl? (
media-libs/libsdl[X]
media-libs/libsdl2[X]
)
)
system-qemu? ( app-emulation/qemu[xen] )
ocaml? ( dev-ml/findlib
dev-lang/ocaml[ocamlopt] )
python? ( >=dev-lang/swig-4.0.0 )"
BDEPEND="dev-lang/perl
app-alternatives/yacc
sys-devel/gettext"
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="
usr/libexec/xen/boot/hvmloader
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/share/qemu-xen/qemu/hppa-firmware.img
usr/share/qemu-xen/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/u-boot.e500
"
QA_EXECSTACK="
usr/share/qemu-xen/qemu/hppa-firmware.img
"
QA_PREBUILT="
usr/libexec/xen/bin/elf2dmp
usr/libexec/xen/bin/ivshmem-client
usr/libexec/xen/bin/ivshmem-server
usr/libexec/xen/bin/qemu-edid
usr/libexec/xen/bin/qemu-img
usr/libexec/xen/bin/qemu-io
usr/libexec/xen/bin/qemu-keymap
usr/libexec/xen/bin/qemu-nbd
usr/libexec/xen/bin/qemu-pr-helper
usr/libexec/xen/bin/qemu-storage-daemon
usr/libexec/xen/bin/qemu-system-i386
usr/libexec/xen/bin/virtfs-proxy-helper
usr/libexec/xen/boot/ovmf.bin
usr/libexec/xen/boot/xen-shim
usr/libexec/xen/libexec/qemu-pr-helper
usr/libexec/xen/libexec/virtfs-proxy-helper
usr/libexec/xen/libexec/virtiofsd
usr/libexec/xen/libexec/xen-bridge-helper
usr/share/qemu-xen/qemu/s390-ccw.img
usr/share/qemu-xen/qemu/s390-netboot.img
usr/share/qemu-xen/qemu/u-boot.e500
"
RESTRICT="test"
pkg_setup() {
python_setup
export "CONFIG_LOMOUNT=y"
#bug 522642, disable compile tools/tests
export "CONFIG_TESTS=n"
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
if use x86 && use amd64; then
die "Confusion! Both x86 and amd64 are set in your use flags!"
elif use x86; then
export XEN_TARGET_ARCH="x86_32"
elif use amd64 ; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
pushd tools/firmware/ > /dev/null
ln -s seabios-dir-remote seabios-dir || die
popd > /dev/null
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Rename qemu-bridge-helper to xen-bridge-helper to avoid file
# collisions with app-emulation/qemu.
sed -i 's/qemu-bridge-helper/xen-bridge-helper/g' \
tools/qemu-xen/include/net/net.h \
tools/qemu-xen/meson.build \
tools/qemu-xen/qemu-bridge-helper.c \
tools/qemu-xen/qemu-options.hx \
|| die
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
if use ovmf; then
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
fi
# ipxe
if use ipxe; then
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/ipxe.tar.gz || die
# gcc 11
cp "${XEN_GENTOO_PATCHES_DIR}/ipxe/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
fi
# Fix texi2html build error with new texi2html, qemu.doc.html
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
# Drop .config, fixes to gcc-4.6
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
# drop flags
unset CFLAGS
unset LDFLAGS
unset ASFLAGS
unset CPPFLAGS
if ! use pygrub; then
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
fi
if ! use python; then
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
fi
if ! use hvm; then
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
# Bug 351648
elif ! use x86 && ! has x86 $(get_all_abis); then
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
export CPATH="${WORKDIR}"/extra-headers
fi
if use qemu; then
if use sdl; then
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
tools/Makefile || die
else
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
tools/qemu-xen-traditional/xen-setup || die
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
tools/Makefile || die
fi
else
# Don't bother with qemu, only needed for fully virtualised guests
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
fi
# Reset bash completion dir; Bug 472438
sed -e "s;^BASH_COMPLETION_DIR :=.*;BASH_COMPLETION_DIR := $(get_bashcompdir);" \
-i config/Paths.mk.in || die
# xencommons, Bug #492332, sed lighter weight than patching
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
-i tools/hotplug/Linux/init.d/xencommons.in || die
# fix bashishm
sed -e '/Usage/s/\$//g' \
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
# respect multilib, usr/lib/libcacard.so.0.0.0
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
-i tools/qemu-xen/configure || die
#bug 518136, don't build 32bit exactuable for nomultilib profile
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
fi
# uncomment lines in xl.conf
sed -e 's:^#autoballoon=:autoballoon=:' \
-e 's:^#lockfile=:lockfile=:' \
-e 's:^#vif.default.script=:vif.default.script=:' \
-i tools/examples/xl.conf || die
# disable capstone (Bug #673474)
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
-i tools/Makefile || die
# disable glusterfs
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
-i tools/Makefile || die
# disable jpeg automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
-i tools/Makefile || die
# disable png automagic
sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
-i tools/Makefile || die
# disable docker (Bug #732970)
sed -e "s:\$\$source/configure:\0 --disable-containers:" \
-i tools/Makefile || die
# disable abi-dumper (Bug #791172)
sed -e 's/$(ABI_DUMPER) /echo /g' \
-i tools/libs/libs.mk || die
# Remove -Werror
find . -type f \( -name Makefile -o -name "*.mk" \) \
-exec sed -i \
-e 's/-Werror //g' \
-e '/^CFLAGS *+= -Werror$/d' \
-e 's/, "-Werror"//' \
{} + || die
default
}
src_configure() {
local myconf=(
--libdir="${EPREFIX}/usr/$(get_libdir)"
--libexecdir="${EPREFIX}/usr/libexec"
--localstatedir="${EPREFIX}/var"
--disable-golang
--disable-pvshim
--disable-werror
--disable-xen
--enable-tools
--enable-docs
$(use_enable api xenapi)
$(use_enable ipxe)
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '')
$(use_enable ocaml ocamltools)
$(use_enable ovmf)
$(use_enable rombios)
$(use_enable systemd)
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored')
)
use system-seabios && myconf+=( --with-system-seabios=/usr/share/seabios/bios.bin )
use system-qemu && myconf+=( --with-system-qemu=/usr/bin/qemu-system-x86_64 )
use amd64 && myconf+=( $(use_enable qemu-traditional) )
tc-ld-disable-gold # Bug 669570
econf ${myconf[@]}
}
src_compile() {
local myopt
use debug && myopt="${myopt} debug=y"
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
if test-flag-CC -fno-strict-overflow; then
append-flags -fno-strict-overflow
fi
# bug #845099
if use ipxe; then
local -x NO_WERROR=1
fi
emake \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
build-tools ${myopt}
if use doc; then
emake -C docs build
else
emake -C docs man-pages
fi
}
src_install() {
# Override auto-detection in the build system, bug #382573
export INITD_DIR=/tmp/init.d
export CONFIG_LEAF_DIR=../tmp/default
# Let the build system compile installed Python modules.
local PYTHONDONTWRITEBYTECODE
export PYTHONDONTWRITEBYTECODE
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
XEN_PYTHON_NATIVE_INSTALL=y install-tools
# Created at runtime
rm -rv "${ED}/var/run" || die
# Fix the remaining Python shebangs.
python_fix_shebang "${D}"
# Remove RedHat-specific stuff
rm -rf "${D}"/tmp || die
if use doc; then
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
dodoc -r docs/{pdf,txt}
else
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
fi
dodoc ${DOCS[@]}
newconfd "${FILESDIR}"/xendomains.confd xendomains
newconfd "${FILESDIR}"/xenstored.confd xenstored
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
newinitd "${FILESDIR}"/xencommons.initd xencommons
newconfd "${FILESDIR}"/xencommons.confd xencommons
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
if use screen; then
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
keepdir /var/log/xen-consoles
fi
# For -static-libs wrt Bug 384355
if ! use static-libs; then
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
fi
# for xendomains
keepdir /etc/xen/auto
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
keepdir /var/lib/xen/dump
keepdir /var/lib/xen/xenpaging
keepdir /var/lib/xenstored
keepdir /var/log/xen
if use python; then
python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
fi
python_optimize
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

@ -26,7 +26,7 @@ else
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.17.0
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.17.2
XEN_PRE_VERSION_BASE=4.17.3
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then

@ -1,8 +1,6 @@
DIST xen-4.16.5.tar.gz 45023770 BLAKE2B 1371bd4cdf7431c16a575d4f911cec7be25a6358bbc47648aa542c6dcb27b733a8de63f9226a9290096a84df4d602186fcfdf6d255c43140d8e9373323fa53e9 SHA512 2f370787b72b2cd9d81c0b5f138133e676d2b9c8c76e31e6439649d7145242a6b7be0d51a7ff4f4197a99e3f6b24ac50e63d2fa49368da440d3f555e70c4ebd3
DIST xen-4.17.2.tar.gz 46498038 BLAKE2B 44bb7b39dddb1dbd266a31f6e67f49e981946b78a83580ec068e02687780695d33868781b563dfb77db8ad3ffdc6fe7431ca8243650d9a08823312c430cfa5cd SHA512 0bc475483676e4aa27735695f9a8d2821059e7a55984adb8a29badb5c09a4e7cf8ea29cbc9691be616cc0d7a5ee6b6dacc59ba29c2b16e0919ebdf7dfc54201a
DIST xen-4.17.3.tar.gz 46505735 BLAKE2B f7a783d951d3e31391aca2b779b9d11440dc28b0756739f7733cd7d2f160de54a018c00dce5d2a6c55a6494c2151a31a64bbeddefbed34eff179463f2e762d93 SHA512 56ead90af00b4c1aa452b5edba980a2873e4c76e8c518220a88089a2771cd76fe2478e15a41abf5d247e4bc5af8415d53614dff7eb028ced80701c1a1263f91f
DIST xen-gentoo-patches-4.16.1-gentoo-patchset-2.tar.bz2 5403 BLAKE2B 7fa3b4aa123b2deed260d02b8d34a35dd205207038edb92569278b25c6fe32e0f0e3857c07755553e047f0eb0d9fe7f8b0816e0f3d7f68aee7929afaf6611dfd SHA512 9e7d25640b24235acf756b031b8b7cee582dded65fe7b94a706c990232e9704d574036c3a9605f285e8e9534578d100a3f38719b27b22775f17ef8f68287997e
DIST xen-gentoo-patches-4.17.0-gentoo-patchset-2.tar.bz2 4001 BLAKE2B 7afce426759952e202a1dd819fe0a23108072bf9552ba14a0bd787a96ffe5e7a36f37e03dad8db9c46f5731acbc122c258eef6d517816aad9c8db1ca64700d19 SHA512 bcb1479f9ff5e194a4e452da9d0479febc2bcd465b4be69bb8f30e2e6b858fb77a71216dcb3e74dfb65e7ca6513742c294cd6b5eaa5ce82d0b122a00f1cbc450
DIST xen-upstream-patches-4.16.6-pre-patchset-0.tar.bz2 41361 BLAKE2B cf3498d1679fd36265f7d0f95f193a90c50d10d6f8a1df8895131c6b006aa1ba1236588b2cbead0fc7cd95ca74ea9bd24986f169889c1032e6bc4a87a8438404 SHA512 8e3cc0ff8f739ff687e5dcceacd58254d37bff6705993698a1fbfac0ccb2e67b7733c73029ff985b1f91dbdf29e247e96a50c1f2166d0b24df863db6915768ae
DIST xen-upstream-patches-4.16.6-pre-patchset-1.tar.bz2 44167 BLAKE2B 6a11faf689b2875fe6845646cbc71541ff0ce02fed00f2fd0ccabdee4b71be96a5bfaa66a0a6de068a9b6534d5c0df2751f78ccd0755f1bcaef333d8337135dc SHA512 40721e0f4e11408c3687e8e77d850f6f0a02d0af0abe422d11478fe080c158ffee5408ed273d82c8c39a33dd0a97ab962f133a927e3a205fa84e9fe3911a57f1
DIST xen-upstream-patches-4.17.3-pre-patchset-0.tar.bz2 65870 BLAKE2B 9019ed4131157df83053873ce1978dfdaa21304bfd69a059e8869e4cd31e01128dbccf2b6a8f54b4c724dfa8d455cad0e55de555971e80a6cd56f143f2d618d3 SHA512 094172bb1c822fa6159792d517bdfdf9777f297be5acee99746a6b310db2c509f98001a280d798d931d4fa17983e8165297ad96489327368c035f8284efd382d
DIST xen-upstream-patches-4.17.4-pre-patchset-0.tar.bz2 17570 BLAKE2B 5ae7ceb1feef758166dc6d569da30cfa8867b3755d41a4d2834ad73630ee3beea5696b79a175a7c2680db59e50b802ef2a9ee5a3cedff74f3d9cbfac064b25f1 SHA512 6001c4889ae5bdb592f8d7801762e43db13223e6552e916978b8ce85eb78c3fcd885c24d58f3db688244ccf50646c8d41a2e20c47d3b85fefb29d1c0ed37dd99

@ -1,174 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://xenbits.xen.org/git-http/xen.git"
SRC_URI=""
else
KEYWORDS="amd64 ~arm -x86"
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.16.1
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.16.5
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
fi
SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
fi
if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_GENTOO_PATCHSET_BASE})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
fi
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://xenproject.org"
S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
LICENSE="GPL-2"
SLOT="0"
IUSE="+boot-symlinks debug uefi flask"
REQUIRED_USE="arm? ( debug )"
DEPEND="${PYTHON_DEPS}
uefi? ( >=sys-devel/binutils-2.22[multitarget] )
!uefi? ( >=sys-devel/binutils-2.22 )
flask? ( sys-apps/checkpolicy )"
RDEPEND=""
PDEPEND="~app-emulation/xen-tools-${PV}"
# no tests are available for the hypervisor
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
if use amd64; then
export XEN_TARGET_ARCH="x86_64"
elif use arm; then
export XEN_TARGET_ARCH="arm32"
elif use arm64; then
export XEN_TARGET_ARCH="arm64"
else
die "Unsupported architecture!"
fi
fi
}
src_prepare() {
if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
eapply "${XEN_GENTOO_PATCHES_DIR}"
fi
# Symlinks do not work on fat32 volumes # 829765
if ! use boot-symlinks || use uefi; then
eapply "${XEN_GENTOO_PATCHES_DIR}"/no-boot-symlinks/${PN}-4.16-no-symlinks.patch
fi
# Workaround new gcc-11 options
sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
if use uefi; then
export EFI_VENDOR="gentoo"
export EFI_MOUNTPOINT="/boot"
fi
default
}
xen_make() {
# Setting clang to either 'y' or 'n' tells Xen's build system
# whether or not clang is used.
local clang=n
if tc-is-clang; then
clang=y
fi
# Send raw LDFLAGS so that --as-needed works
emake \
V=1 \
LDFLAGS="$(raw-ldflags)" \
HOSTCC="$(tc-getBUILD_CC)" \
HOSTCXX="$(tc-getBUILD_CXX)" \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
OBJDUMP="$(tc-getOBJDUMP)" \
RANLIB="$(tc-getRANLIB)" \
clang="${clang}" \
"$@"
}
src_configure() {
cd xen || die
touch gentoo-config || die
if use arm; then
echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
fi
if use debug; then
cat <<-EOF >> gentoo-config || die
CONFIG_DEBUG=y
CONFIG_CRASH_DEBUG=y
EOF
fi
if use flask; then
echo "CONFIG_XSM=y" >> gentoo-config || die
fi
# remove flags
unset CFLAGS
tc-ld-disable-gold # Bug 700374
xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
}
src_compile() {
xen_make -C xen
}
src_install() {
# The 'make install' doesn't 'mkdir -p' the subdirs
if use uefi; then
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
fi
xen_make DESTDIR="${D}" -C xen install
# make install likes to throw in some extra EFI bits if it built
use uefi || rm -rf "${D}/usr/$(get_libdir)/efi"
}

@ -17,7 +17,7 @@ else
XEN_GENTOO_PATCHSET_NUM=2
XEN_GENTOO_PATCHSET_BASE=4.17.0
XEN_PRE_PATCHSET_NUM=0
XEN_PRE_VERSION_BASE=4.17.2
XEN_PRE_VERSION_BASE=4.17.3
XEN_BASE_PV="${PV}"
if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then

Binary file not shown.

@ -0,0 +1,33 @@
# 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 distutils-r1
DESCRIPTION="A tool to detect crontab errors"
HOMEPAGE="https://github.com/lyda/chkcrontab"
SRC_URI="https://github.com/lyda/chkcrontab/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}/${PN}-man.patch"
"${FILESDIR}/${PN}-py312.patch"
)
python_prepare_all() {
distutils-r1_python_prepare_all
sed -i 's/assertEquals/assertEqual/g' tests/test_check.py || die
}
python_install_all() {
doman doc/${PN}.1
distutils-r1_python_install_all
}

@ -0,0 +1,12 @@
diff --git a/setup.py b/setup.py
index df72a6a..b2082c6 100755
--- a/setup.py
+++ b/setup.py
@@ -143,6 +143,7 @@ class InstallCmd(install):
def run(self):
install.run(self)
+ return
manpages = ['doc/chkcrontab.1']
if self.manprefix:
for manpage in manpages:

@ -0,0 +1,23 @@
# https://github.com/gregorg/chkcrontab/pull/1
diff --git a/chkcrontab_lib.py b/chkcrontab_lib.py
index 57a7c1f..6334a77 100755
--- a/chkcrontab_lib.py
+++ b/chkcrontab_lib.py
@@ -822,12 +822,12 @@ def ParseLine(self, line, options ):
Returns:
A CronLine* class (must have a ValidateAndLog method).
"""
- chkcrontab_cmd = re.compile('##*\s*chkcrontab:\s*(.*)=(.*)')
- assignment_line_re = re.compile('[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)')
- at_line_re = re.compile('@(\S+)\s+(\S+)\s+(.*)')
- cron_time_field_re = '[\*0-9a-zA-Z,/-]+'
+ chkcrontab_cmd = re.compile(r'##*\s*chkcrontab:\s*(.*)=(.*)')
+ assignment_line_re = re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)')
+ at_line_re = re.compile(r'@(\S+)\s+(\S+)\s+(.*)')
+ cron_time_field_re = r'[\*0-9a-zA-Z,/-]+'
time_field_job_line_re = re.compile(
- '^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' %
+ r'^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' %
(cron_time_field_re, cron_time_field_re, cron_time_field_re,
cron_time_field_re, cron_time_field_re))

@ -4,3 +4,4 @@ DIST tmuxp-1.37.0.tar.gz 869834 BLAKE2B 2e13b609704c726d5da6f614cfa94d3ffef31935
DIST tmuxp-1.38.0.tar.gz 869977 BLAKE2B 6bbb44ceea34af68a7cac0acdf35ee19de74611c9cc53ebbbef61951cca79a5efa14b2eec74b381caf77ac7afe8abd8139453ae4d0f55497cc372bedc9b2fe62 SHA512 d0999bd06498ca458d0cd30709c8d1e4786f98744860e547673cdc917d8e2f8924b1d14681118c594ee767a2e27cafc72f32444158b61ab882a1e2fa7adcbea1
DIST tmuxp-1.40.0.tar.gz 870034 BLAKE2B ab2e6c08ea328e622713e355ff30e9781f2487b9a762ebd7c36195cd8522eee9eab70d66736a1f687e6336f317fdd556d8ee45e9921bd9b1b501189b540e92bb SHA512 6e8564ed2b57122772f1c7b73425b49b6d521141b8e4a3ff6b65d3fb57e6952dfdbb90941242d6d5d8fff70bf7a4533e60ec3dc0abae39637366f035aa237984
DIST tmuxp-1.43.0.tar.gz 869217 BLAKE2B ebaa230723288a37334ee55c9b615610d66aacc5b01d6bf70576de38e9aa1ecc29a7d26299b55880e9ede403855304de080ddec6a16798a269d6bb8d4629498c SHA512 2dec0c941e919258fd884374fe89cf8e558483a50d53a4c6e3148f7639057aa365a959c062ea6929301dcd893b8a6794c002102f030d77fb904eeaa31ec30edd
DIST tmuxp-1.45.0.tar.gz 869918 BLAKE2B e0f402ec8add4119e3d49b774e0dca0879a54f2f7d3b492979d7e46652ae07bba005c0a5d4784049d8a6c91c83ebf0346aac959ef730f35c63b8fba12459f680 SHA512 426d58c24330f184205a3f6ecbfc0e6871b8372ed882847272a336283f5e02f3461da0e01b0c47c8800a757486fd15f22b02f7175bdd128d5a7aab11a25080b7

@ -0,0 +1,51 @@
# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_USE_PEP517=poetry
inherit distutils-r1
DESCRIPTION="tmux session manager. built on libtmux"
HOMEPAGE="https://tmuxp.git-pull.com"
SRC_URI="https://github.com/tmux-python/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
RDEPEND="
>=app-misc/tmux-3.0a
=dev-python/libtmux-0.36*[${PYTHON_USEDEP}]
>=dev-python/colorama-0.3.9[${PYTHON_USEDEP}]
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
>=dev-python/pytest-6.2.5[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-3.14.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '>=dev-python/typing-extensions-4.0.1[${PYTHON_USEDEP}]' 3.{9..10})
>=dev-python/pytest-rerunfailures-4.2[${PYTHON_USEDEP}]
>=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
!dev-python/flaky
)
"
EPYTEST_DESELECT=(
# test doesn't get along with sandbox
"tests/cli/test_load.py::test_load_zsh_autotitle_warning"
)
distutils_enable_tests pytest
python_prepare_all() {
sed -r -e 's:libtmux = "~[0-9.]+":libtmux = "~0.30":' \
-i pyproject.toml || die
distutils-r1_python_prepare_all
}
python_test() {
SHELL="/bin/bash" epytest tests
}

Binary file not shown.

@ -7,6 +7,7 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
<remote-id type="kde-invent">office/kbibtex</remote-id>
</upstream>
<use>
<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> for HTML previews</flag>

@ -215,8 +215,9 @@ src_prepare() {
cd "${S}" || die
TL_KPATHSEA_INCLUDES=$($(tc-getPKG_CONFIG) kpathsea --variable=includedir || die "failed to invoke pkg-config")
sed -i \
-e "s,/usr/include /usr/local/include.*echo \$KPATHSEA_INCLUDES.*,$($(tc-getPKG_CONFIG) kpathsea --variable=includedir)\"," \
-e "s,/usr/include /usr/local/include.*echo \$KPATHSEA_INCLUDES.*,${TL_KPATHSEA_INCLUDES}\"," \
texk/web2c/configure || die
local patch_dir="${WORKDIR}/tex-patches-${GENTOO_TEX_PATCHES_NUM}"
@ -252,6 +253,7 @@ src_configure() {
--with-system-libpng
--with-system-teckit
--with-system-kpathsea
--with-kpathsea-includes="${TL_KPATHSEA_INCLUDES}"
--with-system-icu
--with-system-ptexenc
--with-system-harfbuzz

@ -0,0 +1,59 @@
From e1da090da24f5620784daf853eb1353aa164583f Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Wed, 27 Mar 2024 23:25:39 +0100
Subject: [PATCH] Address -Wincompatible-function-pointer-types for Clang 17
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Also showed with -Werror=incompatible-pointer-types with GCC.
Bug: https://bugs.gentoo.org/927838
Symptom with GCC was:
> src/xml.c: In function main:
> src/xml.c:300:43: error: passing argument 2 of xmlSetStructuredErrorFunc from incompatible pointer type [-Werror=incompatible-pointer-types]
> 300 | xmlSetStructuredErrorFunc(&errorInfo, reportError);
> | ^~~~~~~~~~~
> | |
> | void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
> In file included from /usr/include/libxml2/libxml/valid.h:15,
> from /usr/include/libxml2/libxml/parser.h:19,
> from /usr/include/libxml2/libxml/tree.h:17,
> from /usr/include/libxslt/xslt.h:13,
> from src/xml.c:37:
> /usr/include/libxml2/libxml/xmlerror.h:898:57: note: expected xmlStructuredErrorFunc {aka void (*)(void *, const struct _xmlError *)} but argument is of type void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
---
src/xml.c | 2 +-
src/xmlstar.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xml.c b/src/xml.c
index cf47cc2..e6f19c1 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -104,7 +104,7 @@ void reportGenericError(void* ctx, const char * msg, ...) {
/* by default all errors are reported */
static ErrorInfo errorInfo = { NULL, NULL, VERBOSE, CONTINUE };
-void reportError(void *ptr, xmlErrorPtr error)
+void reportError(void *ptr, const xmlError *error)
{
ErrorInfo *errorInfo = (ErrorInfo*) ptr;
assert(errorInfo);
diff --git a/src/xmlstar.h b/src/xmlstar.h
index 3e1eed3..e8d7177 100644
--- a/src/xmlstar.h
+++ b/src/xmlstar.h
@@ -32,7 +32,7 @@ typedef struct _errorInfo {
ErrorStop stop;
} ErrorInfo;
-void reportError(void *ptr, xmlErrorPtr error);
+void reportError(void *ptr, const xmlError *error);
void suppressErrors(void);
typedef struct _gOptions {
--
2.44.0

@ -0,0 +1,60 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="A set of tools to transform, query, validate, and edit XML documents"
HOMEPAGE="https://xmlstar.sourceforge.net/"
SRC_URI="mirror://sourceforge/xmlstar/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="
dev-libs/libxml2
dev-libs/libxslt
dev-libs/libgcrypt:0=
virtual/libiconv"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-1.6.1-clang16.patch
"${FILESDIR}"/${PN}-1.6.1-clang17.patch
)
src_prepare() {
default
# We need to patch use of /usr/lib because it is a problem with
# linker lld with profile 17.1 on amd64 (see https://bugs.gentoo.org/729600).
# The grep sandwich acts as a regression test so that a future
# version bump cannot break patching without noticing.
if [[ $(get_libdir) != lib ]]; then
grep -wq _PREFIX/lib m4/xstar-check-libs.m4 || die
sed "s,_PREFIX/lib,_PREFIX/$(get_libdir)," -i m4/xstar-check-libs.m4 || die
grep -w _PREFIX/lib m4/xstar-check-libs.m4 && die
fi
eautoreconf
}
src_configure() {
append-cppflags $($(tc-getPKG_CONFIG) --cflags libxml-2.0)
# NOTE: Fully built documentation is already shipped with the tarball:
# - doc/xmlstarlet-ug.{pdf,ps,html}
# - doc/xmlstarlet.txt
# - doc/xmlstarlet.1
econf \
--disable-build-docs \
--disable-static-libs
}
src_install() {
default
dosym xml /usr/bin/xmlstarlet
}

Binary file not shown.

@ -45,7 +45,7 @@ BDEPEND+="
RDEPEND="
${BDEPEND}
>=dev-build/autoconf-wrapper-13
!~sys-devel/${P}:2.5
!~dev-build/${P}:2.5
"
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"

@ -40,7 +40,7 @@ BDEPEND=">=sys-devel/m4-1.4.16
RDEPEND="${BDEPEND}
>=dev-build/autoconf-wrapper-15
sys-devel/gnuconfig
!~sys-devel/${P}:2.5"
!~dev-build/${P}:2.5"
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
PDEPEND="emacs? ( app-emacs/autoconf-mode )"

@ -50,8 +50,8 @@ BDEPEND+="
RDEPEND="
${BDEPEND}
>=dev-build/autoconf-wrapper-15
!~dev-build/${P}:2.5
sys-devel/gnuconfig
!~sys-devel/${P}:2.5
"
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
PDEPEND="emacs? ( app-emacs/autoconf-mode )"

@ -51,7 +51,7 @@ RDEPEND="
${BDEPEND}
>=dev-build/autoconf-wrapper-15
sys-devel/gnuconfig
!~sys-devel/${P}:2.5
!~dev-build/${P}:2.5
"
[[ ${PV} == 9999 ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
PDEPEND="emacs? ( app-emacs/autoconf-mode )"

@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then
else
# The version number is derived from `git describe HEAD --abbrev=12`
SRC_URI="https://deps.gentoo.zip/dev-build/gn/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
KEYWORDS="~amd64 arm64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="BSD"

@ -98,11 +98,15 @@ src_configure() {
# to find a bash shell. if /bin/sh is bash, it uses that. this can
# cause problems for people who switch /bin/sh on the fly to other
# shells, so just force libtool to use /bin/bash all the time.
export CONFIG_SHELL="${EPREFIX}"/bin/bash
# Do not bother hardcoding the full path to sed.
# Just rely on $PATH. bug #574550
export CONFIG_SHELL="${EPREFIX}"/bin/bash
export ac_cv_path_SED="$(basename "$(type -P sed)")"
export ac_cv_path_EGREP="$(basename "$(type -P grep)") -E"
export ac_cv_path_EGREP_TRADITIONAL="$(basename "$(type -P grep)") -E"
export ac_cv_path_FGREP="$(basename "$(type -P grep)") -F"
export ac_cv_path_GREP="$(basename "$(type -P grep)")"
export ac_cv_path_lt_DD="$(basename "$(type -P dd)")"
[[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"

@ -96,11 +96,15 @@ src_configure() {
# to find a bash shell. if /bin/sh is bash, it uses that. this can
# cause problems for people who switch /bin/sh on the fly to other
# shells, so just force libtool to use /bin/bash all the time.
export CONFIG_SHELL="${EPREFIX}"/bin/bash
# Do not bother hardcoding the full path to sed.
# Just rely on $PATH. bug #574550
export CONFIG_SHELL="${EPREFIX}"/bin/bash
export ac_cv_path_SED="$(basename "$(type -P sed)")"
export ac_cv_path_EGREP="$(basename "$(type -P grep)") -E"
export ac_cv_path_EGREP_TRADITIONAL="$(basename "$(type -P grep)") -E"
export ac_cv_path_FGREP="$(basename "$(type -P grep)") -F"
export ac_cv_path_GREP="$(basename "$(type -P grep)")"
export ac_cv_path_lt_DD="$(basename "$(type -P dd)")"
[[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"

Binary file not shown.

@ -1,3 +1,2 @@
DIST bpftrace-0.19.1.gh.tar.gz 1157777 BLAKE2B 9db6285c7a82110106bd05759a09f16d85c82f2516f0b6ea34044e7389b2d38ed418d0fe5da44c2c9f9e67f72404f104f419ce3316c07ea54e65d4f039188039 SHA512 2f56b8fb7abfa58631ebc93c7a98cc066446808cbc0116902e43ebefa5f9625232da5ee3ede1d14a236296660a2f4c0907fa1ef24d383b4e32c70dcc3988c765
DIST bpftrace-0.20.0.gh.tar.gz 1233420 BLAKE2B f69a65f33a7c1bd518bccf06e7bb975086deef6b43304285f1ac9e6dc54d92c6d887b194f63f46351d5506a1d40eb3d8a70e79e3f3f00b4bbdd692789caee149 SHA512 4554ba3099af086c7a149b809f4855d913361153b5f0b9552dbfabd360300d4ef841fe743734950d10b93c497e062476766cd0f6569ba2ff01951a4cc3a6cdb8
DIST bpftrace-0.20.1.gh.tar.gz 1233431 BLAKE2B fe9221a94d58b43e0311f8c841df8421c3fe226a3fe61f2ec5cce5de309acdb69a68834e92a2e622a1750975869cbdaa95a90f9afb83989aa61b56b551fa96e3 SHA512 fdcc2b0d091d4ab428207877626b0fb37f3e0778730e6a6db26be869a086264e1f24186857c47597813aacde98621a66301bcf6c8004f77bdf9ebf180f198ba0
DIST bpftrace-0.20.3.gh.tar.gz 1233923 BLAKE2B c8a280441237d068029bd561a0fa70fd54676625c5bdd7d82a0a219d361cd71a460435ff05c865647d3e5c27d769ec296a47e5e7a3546fc8571af6a16d898300 SHA512 218a1bfac7e1a2b7eef5b0ed3e7403eed4bc932f2aa03c5f4c8924246c09088f5074ab3d54031e582cb4f8e7d0c7df1bb30007c2421c44d2c2506364f0ba5a0e

@ -1,95 +0,0 @@
# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_MAX_SLOT=17
inherit llvm linux-info cmake
DESCRIPTION="High-level tracing language for eBPF"
HOMEPAGE="https://github.com/iovisor/bpftrace"
MY_PV="${PV//_/}"
SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
LICENSE="Apache-2.0"
SLOT="0"
# remove keywords until build works:
# https://github.com/iovisor/bpftrace/issues/2349
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="fuzzing test"
# lots of fixing needed
RESTRICT="test"
RDEPEND="
>=dev-libs/libbpf-1.1:=
>=dev-util/bcc-0.25.0:=
>=sys-devel/llvm-10[llvm_targets_BPF(+)]
>=sys-devel/clang-10
<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
sys-libs/binutils-libs:=
virtual/libelf:=
"
DEPEND="
${COMMON_DEPEND}
dev-libs/cereal:=
test? ( dev-cpp/gtest )
"
BDEPEND="
app-arch/xz-utils
app-alternatives/lex
app-alternatives/yacc
virtual/pkgconfig
"
QA_DT_NEEDED="
/usr/lib.*/libbpftraceresources.so
/usr/lib.*/libcxxdemangler_llvm.so
"
PATCHES=(
"${FILESDIR}/bpftrace-0.19.0-install-libs.patch"
"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
)
pkg_pretend() {
local CONFIG_CHECK="
~BPF
~BPF_EVENTS
~BPF_JIT
~BPF_SYSCALL
~FTRACE_SYSCALLS
~HAVE_EBPF_JIT
"
check_extra_config
}
pkg_setup() {
llvm_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DSTATIC_LINKING:BOOL=OFF
# bug 809362, 754648
-DBUILD_TESTING:BOOL=$(usex test)
-DBUILD_FUZZ:BOOL=$(usex fuzzing)
-DENABLE_MAN:BOOL=OFF
-DUSE_SYSTEM_BPF_BCC:BOOL=ON
)
cmake_src_configure
}
src_install() {
cmake_src_install
# bug 809362
dostrip -x /usr/bin/bpftrace
doman man/man8/*.?
}

@ -1,94 +0,0 @@
# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_MAX_SLOT=17
inherit llvm linux-info cmake
DESCRIPTION="High-level tracing language for eBPF"
HOMEPAGE="https://github.com/iovisor/bpftrace"
MY_PV="${PV//_/}"
SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
LICENSE="Apache-2.0"
SLOT="0"
# remove keywords until build works:
# https://github.com/iovisor/bpftrace/issues/2349
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="fuzzing test"
# lots of fixing needed
RESTRICT="test"
RDEPEND="
>=dev-libs/libbpf-1.1:=
>=dev-util/bcc-0.25.0:=
>=sys-devel/llvm-10[llvm_targets_BPF(+)]
>=sys-devel/clang-10
<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
sys-libs/binutils-libs:=
virtual/libelf:=
"
DEPEND="
${COMMON_DEPEND}
dev-libs/cereal:=
test? ( dev-cpp/gtest )
"
BDEPEND="
app-arch/xz-utils
app-alternatives/lex
app-alternatives/yacc
virtual/pkgconfig
"
QA_DT_NEEDED="
/usr/lib.*/libbpftraceresources.so
/usr/lib.*/libcxxdemangler_llvm.so
"
PATCHES=(
"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
)
pkg_pretend() {
local CONFIG_CHECK="
~BPF
~BPF_EVENTS
~BPF_JIT
~BPF_SYSCALL
~FTRACE_SYSCALLS
~HAVE_EBPF_JIT
"
check_extra_config
}
pkg_setup() {
llvm_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DSTATIC_LINKING:BOOL=OFF
# bug 809362, 754648
-DBUILD_TESTING:BOOL=$(usex test)
-DBUILD_FUZZ:BOOL=$(usex fuzzing)
-DENABLE_MAN:BOOL=OFF
)
cmake_src_configure
}
src_install() {
cmake_src_install
# bug 809362
dostrip -x /usr/bin/bpftrace
doman man/man8/*.?
}

@ -31,6 +31,7 @@ RDEPEND="
>=sys-devel/clang-10
<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
sys-process/procps
sys-libs/binutils-libs:=
virtual/libelf:=
"
@ -43,18 +44,23 @@ BDEPEND="
app-arch/xz-utils
app-alternatives/lex
app-alternatives/yacc
test? (
app-editors/vim-core
dev-util/pahole
)
virtual/pkgconfig
"
QA_DT_NEEDED="
/usr/lib.*/libbpftraceresources.so
/usr/lib.*/libcxxdemangler_llvm.so
usr/lib.*/libbpftraceresources.so
usr/lib.*/libcxxdemangler_llvm.so
"
PATCHES=(
"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
"${FILESDIR}/bpftrace-0.20.1-fuzzer.patch"
)
pkg_pretend() {

@ -1,338 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a1360a71..24d85abc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -138,9 +138,10 @@ endif()
bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc COMPILE_FLAGS ${BISON_FLAGS} VERBOSE)
flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
add_flex_bison_dependency(flex_lexer bison_parser)
-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
-target_compile_options(parser PRIVATE "-w")
-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
+add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
+target_compile_options(bpftraceparser PRIVATE "-w")
+target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
+install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
include(CheckSymbolExists)
set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
index c12f9567..0bfec98c 100644
--- a/resources/CMakeLists.txt
+++ b/resources/CMakeLists.txt
@@ -1,6 +1,7 @@
-add_library(resources headers.cpp)
+add_library(bpftraceresources headers.cpp)
-target_include_directories(resources PUBLIC ../src)
+target_include_directories(bpftraceresources PUBLIC ../src)
+install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
function(embed_headers output)
file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 401ddc0a..05f0f637 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -13,7 +13,7 @@ else()
endif ()
endif()
-add_library(runtime
+add_library(bpftraceruntime
attached_probe.cpp
bpffeature.cpp
bpftrace.cpp
@@ -44,7 +44,7 @@ add_library(runtime
${BFD_DISASM_SRC}
)
# Ensure flex+bison outputs are built first
-add_dependencies(runtime parser)
+add_dependencies(bpftraceruntime bpftraceparser)
add_library(libbpftrace
build_info.cpp
@@ -61,6 +61,7 @@ add_executable(${BPFTRACE}
)
install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${BPFTRACE} libbpftrace)
if (BUILD_FUZZ)
@@ -89,7 +90,7 @@ endif()
set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
if (KERNEL_HEADERS_DIR)
MESSAGE(STATUS "Using KERNEL_HEADERS_DIR=${KERNEL_HEADERS_DIR}")
- target_compile_definitions(runtime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
+ target_compile_definitions(bpftraceruntime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
endif()
execute_process(
@@ -109,10 +110,11 @@ endif()
add_definitions("-DBPFTRACE_VERSION=\"${BPFTRACE_VERSION}\"")
-target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
-target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_BINARY_DIR})
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src)
+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
+target_compile_definitions(bpftraceruntime PRIVATE ${BPFTRACE_FLAGS})
+install(TARGETS bpftraceruntime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
# Linking
@@ -125,8 +127,8 @@ if(STATIC_LINKING)
endif(STATIC_LINKING)
-target_link_libraries(runtime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
-target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
+target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
+target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
if(LIBPCAP_FOUND)
target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
@@ -136,49 +138,49 @@ if(HAVE_BFD_DISASM)
if(STATIC_LINKING OR LIBBFD_STATIC)
add_library(LIBBFD STATIC IMPORTED)
set_property(TARGET LIBBFD PROPERTY IMPORTED_LOCATION ${LIBBFD_LIBRARIES})
- target_link_libraries(runtime LIBBFD)
+ target_link_libraries(bpftraceruntime LIBBFD)
add_library(LIBOPCODES STATIC IMPORTED)
set_property(TARGET LIBOPCODES PROPERTY IMPORTED_LOCATION ${LIBOPCODES_LIBRARIES})
- target_link_libraries(runtime LIBOPCODES)
+ target_link_libraries(bpftraceruntime LIBOPCODES)
add_library(LIBIBERTY STATIC IMPORTED)
set_property(TARGET LIBIBERTY PROPERTY IMPORTED_LOCATION ${LIBIBERTY_LIBRARIES})
- target_link_libraries(runtime LIBIBERTY)
+ target_link_libraries(bpftraceruntime LIBIBERTY)
add_library(LIBZSTD STATIC IMPORTED)
if (LIBZSTD_FOUND)
set_property(TARGET LIBZSTD PROPERTY IMPORTED_LOCATION ${LIBZSTD_LIBRARIES})
- target_link_libraries(runtime LIBZSTD)
+ target_link_libraries(bpftraceruntime LIBZSTD)
endif(LIBZSTD_FOUND)
add_library(LIBSFRAME STATIC IMPORTED)
if (LIBSFRAME_FOUND)
set_property(TARGET LIBSFRAME PROPERTY IMPORTED_LOCATION ${LIBSFRAME_LIBRARIES})
- target_link_libraries(runtime LIBSFRAME)
+ target_link_libraries(bpftraceruntime LIBSFRAME)
endif()
else()
- target_link_libraries(runtime ${LIBBFD_LIBRARIES})
- target_link_libraries(runtime ${LIBOPCODES_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBFD_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBOPCODES_LIBRARIES})
endif(STATIC_LINKING OR LIBBFD_STATIC)
endif(HAVE_BFD_DISASM)
# Link to bcc libraries (without LLVM) if possible
if(LIBBCC_BPF_CONTAINS_RUNTIME)
- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
else()
- target_link_libraries(runtime ${LIBBCC_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_LIBRARIES})
endif()
if(STATIC_BPF_BCC)
# These are not part of the static libbcc so have to be added separate
- target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
- target_link_libraries(runtime ${LIBBPF_LIBRARIES})
- target_link_libraries(runtime ${LIBBCC_LOADER_LIBRARY_STATIC})
+ target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBBCC_LOADER_LIBRARY_STATIC})
add_library(LIBELF STATIC IMPORTED)
set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBELF_LIBRARIES})
- target_link_libraries(runtime LIBELF)
+ target_link_libraries(bpftraceruntime LIBELF)
else()
- target_link_libraries(runtime ${LIBELF_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBELF_LIBRARIES})
endif(STATIC_BPF_BCC)
if (LIBDW_FOUND)
@@ -207,16 +209,16 @@ if (LIBDW_FOUND)
target_link_libraries(LIBDW INTERFACE ${LIBDW_LIBS})
- target_link_libraries(runtime LIBDW)
+ target_link_libraries(bpftraceruntime LIBDW)
else()
- target_link_libraries(runtime ${LIBDW_LIBRARIES})
+ target_link_libraries(bpftraceruntime ${LIBDW_LIBRARIES})
endif()
endif()
# Support for std::filesystem
# GCC version <9 and Clang (all versions) require -lstdc++fs
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9")
- target_link_libraries(runtime "stdc++fs")
+ target_link_libraries(bpftraceruntime "stdc++fs")
target_link_libraries(libbpftrace "stdc++fs")
endif()
@@ -238,16 +240,16 @@ endif()
if (STATIC_LINKING)
if(ANDROID)
target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
- target_link_libraries(runtime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
+ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
else()
target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
target_link_libraries(libbpftrace "-Wl,-Bstatic" "-lz")
- target_link_libraries(runtime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
- target_link_libraries(runtime "-Wl,-Bstatic" "-lz")
+ target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
+ target_link_libraries(bpftraceruntime "-Wl,-Bstatic" "-lz")
endif()
elseif(STATIC_BPF_BCC)
# partial static build, libbpf needs zlib, bcc needs liblzma
- target_link_libraries(runtime "-lz" "-llzma")
+ target_link_libraries(bpftraceruntime "-lz" "-llzma")
endif()
unset(MAIN_SRC)
diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
index c776d204..41e84317 100644
--- a/src/aot/CMakeLists.txt
+++ b/src/aot/CMakeLists.txt
@@ -1,8 +1,9 @@
add_library(aot aot.cpp)
-add_dependencies(aot parser)
+add_dependencies(aot bpftraceparser)
target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
+install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
# Only build aotrt if supported bcc is used
# (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
endif()
add_executable(bpftrace-aotrt aot_main.cpp)
-target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
+target_link_libraries(bpftrace-aotrt aot bpftraceruntime bpftracearch ast_defs cxxdemangler_stdlib)
install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
if(LIBPCAP_FOUND)
diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
index e6a1d0a0..c53daa19 100644
--- a/src/arch/CMakeLists.txt
+++ b/src/arch/CMakeLists.txt
@@ -1,19 +1,20 @@
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch64)")
- add_library(arch arm.cpp)
+ add_library(bpftracearch arm.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
- add_library(arch ppc64.cpp)
+ add_library(bpftracearch ppc64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
- add_library(arch s390.cpp)
+ add_library(bpftracearch s390.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- add_library(arch x86_64.cpp)
+ add_library(bpftracearch x86_64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
- add_library(arch mips64.cpp)
+ add_library(bpftracearch mips64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
- add_library(arch riscv64.cpp)
+ add_library(bpftracearch riscv64.cpp)
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "loongarch64")
- add_library(arch loongarch64.cpp)
+ add_library(bpftracearch loongarch64.cpp)
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()
+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
index c390ea6a..37019bd9 100644
--- a/src/ast/CMakeLists.txt
+++ b/src/ast/CMakeLists.txt
@@ -1,6 +1,6 @@
add_library(ast_defs ast.cpp)
-add_library(ast
+add_library(bpftraceast
async_event_types.cpp
attachpoint_parser.cpp
elf_parser.cpp
@@ -21,11 +21,13 @@ add_library(ast
target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
-target_link_libraries(ast ast_defs arch parser)
+target_link_libraries(bpftraceast ast_defs bpftracearch bpftraceparser)
+install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-add_dependencies(ast_defs parser)
+add_dependencies(ast_defs bpftraceparser)
-target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
+target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
if (STATIC_LINKING)
set(clang_libs
@@ -58,20 +60,20 @@ if (STATIC_LINKING)
if(EMBED_USE_LLVM)
- target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
+ target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
else()
llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
if(TARGET libclang_static)
- target_link_libraries(ast libclang_static)
+ target_link_libraries(bpftraceast libclang_static)
else()
# old LLVM versions don't export libclang_static in ClangTargets.cmake; fall back to
# libclang.a in that case
- target_link_libraries(ast libclang.a)
+ target_link_libraries(abpftracest libclang.a)
endif()
- target_link_libraries(ast ${clang_libs})
- target_link_libraries(ast ${llvm_libs})
+ target_link_libraries(abpftracest ${clang_libs})
+ target_link_libraries(abpftracest ${llvm_libs})
endif()
if(STATIC_LIBC)
@@ -81,11 +83,11 @@ if (STATIC_LINKING)
else()
find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
if(found_LLVM)
- target_link_libraries(ast LLVM)
+ target_link_libraries(bpftraceast LLVM)
else()
llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
llvm_expand_dependencies(llvm_libs ${_llvm_libs})
- target_link_libraries(ast ${llvm_libs})
+ target_link_libraries(bpftraceast ${llvm_libs})
endif()
- target_link_libraries(ast libclang)
+ target_link_libraries(bpftraceast libclang)
endif()
diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
index 04cfcdd9..5677aa4b 100644
--- a/src/cxxdemangler/CMakeLists.txt
+++ b/src/cxxdemangler/CMakeLists.txt
@@ -1,2 +1,4 @@
add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
+install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

Binary file not shown.

@ -1,4 +1,2 @@
DIST godot-3.5.3-stable.tar.xz 24072964 BLAKE2B a4c03328e3aa77d741a1c642cfd645de04084f2852e865757fc8960c4919d3b8b8571e772f44004901fdd80a967e8e21bd8c6be8b36263db7afae787dcbd3ed6 SHA512 4c008af5bb7c298d465edbe03f6ebc642f5bbbb0a4254e99d7a7a88919e1f9424b98c5dff95a55ae68d4e2e5878c7c0bb7d13a66869cb632ecb51a913f865155
DIST godot-4.0.4-stable.tar.xz 30267060 BLAKE2B 42f5f0c89edb96eb6f36c54229671f233ed0a49a769361195f9aaf807b45fe3968aeeaad204fc07e200114d852e4651f9dc8eb137c4f3aca7b8e8e1203ebcdc9 SHA512 4dadc123995d7262ffa6c5002d08611038957c59a8bd742284b9b62577de6b7182aad807db7a231180a355df0f25d10babdc914faf9287ed401152d98762bb5f
DIST godot-4.1.3-stable.tar.xz 31027024 BLAKE2B 7d3eb66f080089507662fa639307d941772f79413d3f956feadaaaa5a335dd4057c03e90ee75e247689e78534d798cba3511e55d59097da2ca8a5954bbbb4172 SHA512 e8dc812fc1bd98ce4d691d51fceb75d943fb40790c5a640e6178eb53b4de8b1078de8e1649e182963cb7beea26b2365c202f6deaea9bb679f789cd546d29f858
DIST godot-4.2.1-stable.tar.xz 26687808 BLAKE2B 0f7d06b27e2e9174dad04d1926935a46c05d39349e73a0ed146815c21f1100be04cd772c2d6b16d96f70dbfe9a5727126b4dc782c3654c36282f39ca4df87f4d SHA512 ac09046532f5cf504bd57c867ac8fcb40b30848152cd6a95ee2a2d2c7e9cce027fdfceb66fcf1146e562cbca853a484da861c45c2a5fc0a63021d309bdf04590

@ -1,10 +1,10 @@
# Copyright 2022-2023 Gentoo Authors
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
PYTHON_COMPAT=( python3_{10..12} )
inherit desktop python-any-r1 scons-utils shell-completion toolchain-funcs xdg
DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
HOMEPAGE="https://godotengine.org/"
@ -82,10 +82,13 @@ PATCHES=(
src_prepare() {
default
# handle slotting
sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-i misc/dist/linux/org.godotengine.Godot.desktop || die
sed -e "s/godot/&${SLOT}/g" \
-i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/{x11,server}/detect.py || die
@ -210,13 +213,6 @@ src_install() {
fi
newbashcomp misc/dist/shell/godot.bash-completion ${s}
bashcomp_alias ${s}{,-runner}
insinto /usr/share/fish/vendor_completions.d
newins misc/dist/shell/godot.fish ${s}.fish
dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
insinto /usr/share/zsh/site-functions
newins misc/dist/shell/_godot.zsh-completion _${s}
dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
newfishcomp misc/dist/shell/godot.fish ${s}.fish
newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
}

@ -1,231 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
HOMEPAGE="https://godotengine.org/"
SRC_URI="
https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz"
S="${WORKDIR}/${P}-stable"
LICENSE="
MIT
Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )"
SLOT="4"
KEYWORDS="~amd64"
# Enable roughly same as upstream by default so it works as expected,
# except raycast (tools-only heavy dependency), and deprecated.
IUSE="
alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
+runner speech test +theora +tools +udev +upnp +vulkan +webp"
# TODO: tests still need more figuring out
RESTRICT="test"
# dlopen: libglvnd
RDEPEND="
app-arch/zstd:=
dev-games/recastnavigation:=
dev-libs/icu:=
dev-libs/libpcre2:=[pcre32]
media-libs/freetype[brotli,harfbuzz]
media-libs/harfbuzz:=[icu]
media-libs/libogg
media-libs/libpng:=
media-libs/libvorbis
<net-libs/mbedtls-3:=
net-libs/wslay
sys-libs/zlib:=
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
fontconfig? ( media-libs/fontconfig )
gui? (
media-libs/libglvnd
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libxkbcommon
tools? ( raycast? ( media-libs/embree:3 ) )
vulkan? ( media-libs/vulkan-loader[X] )
)
pulseaudio? ( media-libs/libpulse )
speech? ( app-accessibility/speech-dispatcher )
theora? ( media-libs/libtheora )
tools? ( app-misc/ca-certificates )
udev? ( virtual/udev )
upnp? ( net-libs/miniupnpc:= )
webp? ( media-libs/libwebp:= )"
DEPEND="
${RDEPEND}
gui? ( x11-base/xorg-proto )
tools? ( test? ( dev-cpp/doctest ) )"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
)
src_prepare() {
default
sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-i misc/dist/linux/org.godotengine.Godot.desktop || die
sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
# use of builtin_ switches can be messy (see below), delete to be sure
local unbundle=(
doctest embree freetype graphite harfbuzz icu4c libogg
libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
miniupnpc pcre2 recastnavigation volk wslay zlib zstd
# certs: unused by generated header, but scons panics if not found
)
rm -r "${unbundle[@]/#/thirdparty/}" || die
ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
}
src_compile() {
local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
local esconsargs=(
AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
progress=no
verbose=yes
use_sowrap=no
alsa=$(usex alsa)
dbus=$(usex dbus)
deprecated=$(usex deprecated)
fontconfig=$(usex fontconfig)
opengl3=$(usex gui)
pulseaudio=$(usex pulseaudio)
speechd=$(usex speech)
udev=$(usex udev)
use_volk=no # unnecessary when linking directly to libvulkan
vulkan=$(usex gui $(usex vulkan))
x11=$(usex gui)
system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
# platform/*/detect.py uses builtin_* switches to check if need
# to link with system libraries, but ignores whether the dep is
# actually used, so "enable" deleted builtins on disabled deps
builtin_certs=no
builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
builtin_freetype=no
builtin_glslang=yes #879111 (for now, may revisit if more stable)
builtin_graphite=no
builtin_harfbuzz=no
builtin_icu4c=no
builtin_libogg=no
builtin_libpng=no
builtin_libtheora=$(usex !theora)
builtin_libvorbis=no
builtin_libwebp=$(usex !webp)
builtin_mbedtls=no
builtin_miniupnpc=$(usex !upnp)
builtin_msdfgen=yes # not wired for unbundling nor packaged
builtin_pcre2=no
builtin_recastnavigation=no
builtin_rvo2=yes # bundled copy has godot-specific changes
builtin_squish=yes # ^ likewise, may not be safe to unbundle
builtin_wslay=no
builtin_xatlas=yes # not wired for unbundling nor packaged
builtin_zlib=no
builtin_zstd=no
# (more is bundled in third_party/ but they lack builtin_* switches)
# modules with optional dependencies, "possible" to disable more but
# gets messy and breaks all sorts of features (expected enabled)
module_mono_enabled=no # unhandled
# note raycast is only enabled on amd64+arm64, see raycast/config.py
module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
module_theora_enabled=$(usex theora)
module_upnp_enabled=$(usex upnp)
module_webp_enabled=$(usex webp)
# let *FLAGS handle these, e.g. can pass -flto as-is
debug_symbols=no
lto=none
optimize=custom
use_static_cpp=no
)
if use runner && use tools; then
# build alternate faster + ~60% smaller binary for running
# games or servers without game development debug paths
escons extra_suffix=runner target=template_release "${esconsargs[@]}"
fi
esconsargs+=(
target=$(usex tools editor template_$(usex debug{,} release))
dev_build=$(usex debug)
# harmless but note this bakes in --test in the final binary
tests=$(usex tools $(usex test))
)
escons extra_suffix=main "${esconsargs[@]}"
}
src_test() {
xdg_environment_reset
bin/godot*.main --headless --test || die
}
src_install() {
local s=godot${SLOT}
newbin bin/godot*.main ${s}
if use runner && use tools; then
newbin bin/godot*.runner ${s}-runner
else
# always available, revdeps shouldn't depend on [runner]
dosym ${s} /usr/bin/${s}-runner
fi
newman misc/dist/linux/godot.6 ${s}.6
dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
if use gui; then
newicon icon.svg ${s}.svg
newmenu misc/dist/linux/org.godotengine.Godot.desktop \
org.godotengine.${s^}.desktop
insinto /usr/share/metainfo
newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
org.godotengine.${s^}.appdata.xml
insinto /usr/share/mime/application
newins misc/dist/linux/org.godotengine.Godot.xml \
org.godotengine.${s^}.xml
fi
newbashcomp misc/dist/shell/godot.bash-completion ${s}
bashcomp_alias ${s}{,-runner}
insinto /usr/share/fish/vendor_completions.d
newins misc/dist/shell/godot.fish ${s}.fish
dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
insinto /usr/share/zsh/site-functions
newins misc/dist/shell/_godot.zsh-completion _${s}
dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
}

@ -1,239 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
HOMEPAGE="https://godotengine.org/"
SRC_URI="
https://downloads.tuxfamily.org/godotengine/${PV}/${P}-stable.tar.xz
https://github.com/godotengine/godot/releases/download/${PV}-stable/${P}-stable.tar.xz
"
S=${WORKDIR}/${P}-stable
LICENSE="
MIT
Apache-2.0 BSD Boost-1.0 CC0-1.0 Unlicense ZLIB
gui? ( CC-BY-4.0 ) tools? ( OFL-1.1 )
"
SLOT="4"
KEYWORDS="~amd64"
# Enable roughly same as upstream by default so it works as expected,
# except raycast (tools-only heavy dependency), and deprecated.
IUSE="
alsa +dbus debug deprecated +fontconfig +gui pulseaudio raycast
+runner speech test +theora +tools +udev +upnp +vulkan +webp
"
# TODO: tests still need more figuring out
RESTRICT="test"
# dlopen: libglvnd
RDEPEND="
app-arch/brotli:=
app-arch/zstd:=
dev-games/recastnavigation:=
dev-libs/icu:=
dev-libs/libpcre2:=[pcre32]
media-libs/freetype[brotli,harfbuzz]
media-libs/harfbuzz:=[icu]
media-libs/libogg
media-libs/libpng:=
media-libs/libvorbis
<net-libs/mbedtls-3:=
net-libs/wslay
sys-libs/zlib:=
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
fontconfig? ( media-libs/fontconfig )
gui? (
media-libs/libglvnd
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libxkbcommon
tools? ( raycast? ( media-libs/embree:3 ) )
vulkan? ( media-libs/vulkan-loader[X] )
)
pulseaudio? ( media-libs/libpulse )
speech? ( app-accessibility/speech-dispatcher )
theora? ( media-libs/libtheora )
tools? ( app-misc/ca-certificates )
udev? ( virtual/udev )
upnp? ( net-libs/miniupnpc:= )
webp? ( media-libs/libwebp:= )
"
DEPEND="
${RDEPEND}
gui? ( x11-base/xorg-proto )
tools? ( test? ( dev-cpp/doctest ) )
"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-4.0_beta3-headless-header.patch
"${FILESDIR}"/${PN}-4.0_rc2-musl.patch
"${FILESDIR}"/${PN}-4.0_rc3-scons.patch
)
src_prepare() {
default
sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-i misc/dist/linux/org.godotengine.Godot.desktop || die
sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
# use of builtin_ switches can be messy (see below), delete to be sure
local unbundle=(
brotli doctest embree freetype graphite harfbuzz icu4c libogg
libpng libtheora libvorbis libwebp linuxbsd_headers mbedtls
miniupnpc pcre2 recastnavigation volk wslay zlib zstd
# certs: unused by generated header, but scons panics if not found
)
rm -r "${unbundle[@]/#/thirdparty/}" || die
ln -s "${ESYSROOT}"/usr/include/doctest thirdparty/ || die
}
src_compile() {
local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
local esconsargs=(
AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
progress=no
verbose=yes
use_sowrap=no
alsa=$(usex alsa)
dbus=$(usex dbus)
deprecated=$(usex deprecated)
fontconfig=$(usex fontconfig)
opengl3=$(usex gui)
pulseaudio=$(usex pulseaudio)
speechd=$(usex speech)
udev=$(usex udev)
use_volk=no # unnecessary when linking directly to libvulkan
vulkan=$(usex gui $(usex vulkan))
x11=$(usex gui)
system_certs_path="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
# platform/*/detect.py uses builtin_* switches to check if need
# to link with system libraries, but many ignore whether the dep
# is actually used, so "enable" deleted builtins on disabled deps
builtin_brotli=no
builtin_certs=no
builtin_embree=$(usex !gui yes $(usex !tools yes $(usex !raycast)))
builtin_enet=yes # bundled copy is patched for IPv6+DTLS support
builtin_freetype=no
builtin_glslang=yes #879111 (for now, may revisit if more stable)
builtin_graphite=no
builtin_harfbuzz=no
builtin_icu4c=no
builtin_libogg=no
builtin_libpng=no
builtin_libtheora=$(usex !theora)
builtin_libvorbis=no
builtin_libwebp=$(usex !webp)
builtin_mbedtls=no
builtin_miniupnpc=$(usex !upnp)
builtin_msdfgen=yes # not wired for unbundling nor packaged
builtin_openxr=yes # not packaged
builtin_pcre2=no
builtin_recastnavigation=no
builtin_rvo2=yes # bundled copy has godot-specific changes
builtin_squish=yes # ^ likewise, may not be safe to unbundle
builtin_wslay=no
builtin_xatlas=yes # not wired for unbundling nor packaged
builtin_zlib=no
builtin_zstd=no
# (more is bundled in third_party/ but they lack builtin_* switches)
# modules with optional dependencies, "possible" to disable more but
# gets messy and breaks all sorts of features (expected enabled)
module_mono_enabled=no # unhandled
# note raycast is only enabled on amd64+arm64, see raycast/config.py
module_raycast_enabled=$(usex gui $(usex tools $(usex raycast)))
module_theora_enabled=$(usex theora)
module_upnp_enabled=$(usex upnp)
module_webp_enabled=$(usex webp)
# let *FLAGS handle these, e.g. can pass -flto as-is
debug_symbols=no
lto=none
optimize=custom
use_static_cpp=no
)
if use runner && use tools; then
# build alternate faster + ~60% smaller binary for running
# games or servers without game development debug paths
escons extra_suffix=runner target=template_release "${esconsargs[@]}"
fi
esconsargs+=(
target=$(usex tools editor template_$(usex debug{,} release))
dev_build=$(usex debug)
# harmless but note this bakes in --test in the final binary
tests=$(usex tools $(usex test))
)
escons extra_suffix=main "${esconsargs[@]}"
}
src_test() {
xdg_environment_reset
bin/godot*.main --headless --test || die
}
src_install() {
local s=godot${SLOT}
newbin bin/godot*.main ${s}
if use runner && use tools; then
newbin bin/godot*.runner ${s}-runner
else
# always available, revdeps shouldn't depend on [runner]
dosym ${s} /usr/bin/${s}-runner
fi
newman misc/dist/linux/godot.6 ${s}.6
dodoc AUTHORS.md CHANGELOG.md DONORS.md README.md
if use gui; then
newicon icon.svg ${s}.svg
newmenu misc/dist/linux/org.godotengine.Godot.desktop \
org.godotengine.${s^}.desktop
insinto /usr/share/metainfo
newins misc/dist/linux/org.godotengine.Godot.appdata.xml \
org.godotengine.${s^}.appdata.xml
insinto /usr/share/mime/application
newins misc/dist/linux/org.godotengine.Godot.xml \
org.godotengine.${s^}.xml
fi
newbashcomp misc/dist/shell/godot.bash-completion ${s}
bashcomp_alias ${s}{,-runner}
insinto /usr/share/fish/vendor_completions.d
newins misc/dist/shell/godot.fish ${s}.fish
dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
insinto /usr/share/zsh/site-functions
newins misc/dist/shell/_godot.zsh-completion _${s}
dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
}

@ -1,10 +1,11 @@
# Copyright 2022-2023 Gentoo Authors
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 desktop python-any-r1 scons-utils toolchain-funcs xdg
inherit desktop python-any-r1 flag-o-matic scons-utils
inherit shell-completion toolchain-funcs xdg
DESCRIPTION="Multi-platform 2D and 3D game engine with a feature-rich editor"
HOMEPAGE="https://godotengine.org/"
@ -85,10 +86,13 @@ PATCHES=(
src_prepare() {
default
# handle slotting
sed -i "1,5s/ godot/&${SLOT}/i" misc/dist/linux/godot.6 || die
sed -i "/id/s/Godot/&${SLOT}/" misc/dist/linux/org.godotengine.Godot.appdata.xml || die
sed -e "s/=godot/&${SLOT}/" -e "/^Name=/s/$/ ${SLOT}/" \
-i misc/dist/linux/org.godotengine.Godot.desktop || die
sed -e "s/godot/&${SLOT}/g" \
-i misc/dist/shell/{godot.bash-completion,godot.fish,_godot.zsh-completion} || die
sed -i "s|pkg-config |$(tc-getPKG_CONFIG) |" platform/linuxbsd/detect.py || die
@ -107,6 +111,8 @@ src_prepare() {
src_compile() {
local -x BUILD_NAME=gentoo # replaces "custom_build" in version string
filter-lto #921017
local esconsargs=(
AR="$(tc-getAR)" CC="$(tc-getCC)" CXX="$(tc-getCXX)"
@ -170,7 +176,7 @@ src_compile() {
module_upnp_enabled=$(usex upnp)
module_webp_enabled=$(usex webp)
# let *FLAGS handle these, e.g. can pass -flto as-is
# let *FLAGS handle these
debug_symbols=no
lto=none
optimize=custom
@ -228,13 +234,6 @@ src_install() {
fi
newbashcomp misc/dist/shell/godot.bash-completion ${s}
bashcomp_alias ${s}{,-runner}
insinto /usr/share/fish/vendor_completions.d
newins misc/dist/shell/godot.fish ${s}.fish
dosym ${s}.fish /usr/share/fish/vendor_completions.d/${s}-runner.fish
insinto /usr/share/zsh/site-functions
newins misc/dist/shell/_godot.zsh-completion _${s}
dosym _${s} /usr/share/zsh/site-functions/_${s}-runner
newfishcomp misc/dist/shell/godot.fish ${s}.fish
newzshcomp misc/dist/shell/_godot.zsh-completion _${s}
}

Binary file not shown.

@ -1,3 +1,4 @@
DIST jaxb-api-2.3.3.tar.gz 193025 BLAKE2B 1cf4461fdc67cc05ee43e880c254290b9dbe8a40b1dc39444d8fb6656698876a4bb16c679ee551ec7baa95c07eaf83e2fe5638a71eafbb158805c14c38888cb8 SHA512 37d6705fc1563f0d35a215e2f176473ee5e817a4a3017afe22042a4235c86b8556ea1fb23210d07ca7ea3cd1e0a3271daa4be8c9652cfe92ce2898f1381de3bf
DIST jaxb-api-3.0.1.tar.gz 420695 BLAKE2B 70da435e75f6fcb155d57ee20659897d7d1a72dc38e77f0348eaa767b56e2c5fbb7df88c3b0c794cfc7eaad3d839550a197288dab59520a63562f083388764c0 SHA512 16d62a1fd6045a57f1d215227ce75860340c286eb0986b1086a0312dbc8ca8119b25533c42fe54f367231ec1c34795fec6a9355417f71ce826ee28d5fb6cf9fe
DIST jaxb-api-4.0.0.tar.gz 543827 BLAKE2B 12a113126290fdf46270d2713d88836e8f5d01059127747a343816a10deb45ecc8c8dc8cf2cf7e2b71754977900645d4fef6e08fa8c47f583945fea34bc62357 SHA512 eb4eab396b894ab801433e0e31f93a4980f3913176a1960591a69e4fd55f10f316a7edb712df323c59f7dc9ca6cebacb7257be06aec72446059dd8b93c6de175
DIST jaxb-api-4.0.2.tar.gz 544391 BLAKE2B fc143248645eb7ea5e17724531c3b6bd902d8c787c735abf16a97259850386d330de67b96837fcbb2be74182e0abbca585e4d6766dd4efffc31b73cb6040e336 SHA512 9fa4cb55a2771011d372fee670672062a12d9eb12aeb3a250ec86cc7814d9ea9fe80aca01039b37f96d5997b15938b2371d8fa323a132caf3be1093e76db1869

@ -0,0 +1,10 @@
--- a/jaxb-api-test/src/test/java/javax/xml/bind/test/JAXBContextTest.java
+++ b/jaxb-api-test/src/test/java/javax/xml/bind/test/JAXBContextTest.java
@@ -265,7 +265,6 @@ public class JAXBContextTest {
private void enableSM() {
System.setSecurityManager(null);
System.setProperty("java.security.policy", classesDir + "javax/xml/bind/test.policy");
- System.setSecurityManager(new SecurityManager());
}
private void cleanResource(Path resource) {

@ -0,0 +1,12 @@
# java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
# https://github.com/jakartaee/jaxb-api/issues/303#issuecomment-1962748051
--- a/jaxb-api-test/src/test/java/jakarta/xml/bind/test/JAXBContextTest.java
+++ b/jaxb-api-test/src/test/java/jakarta/xml/bind/test/JAXBContextTest.java
@@ -265,7 +265,6 @@ public class JAXBContextTest {
private void enableSM() {
System.setSecurityManager(null);
System.setProperty("java.security.policy", classesDir + "jakarta/xml/bind/test.policy");
- System.setSecurityManager(new SecurityManager());
}
private void cleanResource(Path resource) {

@ -1,50 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Skeleton command:
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/eclipse-ee4j/jaxb-api/archive/refs/tags/2.3.3.tar.gz --slot 0 --keywords "~amd64 ~arm ~arm64 ~ppc64 ~x86" --ebuild jaxb-api-2.3.3.ebuild
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta XML Binding API"
HOMEPAGE="https://github.com/eclipse-ee4j/jaxb-api"
SRC_URI="https://github.com/eclipse-ee4j/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="EPL-1.0"
SLOT="2"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
# Common dependencies
# POM: pom.xml
# jakarta.activation:jakarta.activation-api:1.2.2 -> >=dev-java/jakarta-activation-api-2.0.1:0
# jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 -> >=dev-java/jaxb-api-2.3.3:0
CDEPEND="dev-java/jakarta-activation-api:1"
DEPEND="${CDEPEND}
>=virtual/jdk-11:*"
RDEPEND="${CDEPEND}
>=virtual/jre-1.8:*"
DOCS=( ../{LICENSE,NOTICE,README}.md )
S="${WORKDIR}/${P}/${PN}"
JAVA_GENTOO_CLASSPATH="jakarta-activation-api-1"
JAVA_GENTOO_CLASSPATH_EXTRA="jaxb-api.jar"
JAVA_SRC_DIR="src/main/java"
JAVA_RESOURCE_DIRS="src/main/resources"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_SRC_DIR="../${PN}-test/src/test/java"
JAVA_TEST_RESOURCE_DIRS="../${PN}-test/src/test/resources"
src_install() {
default
java-pkg-simple_src_install
}

@ -0,0 +1,42 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:2.3.3"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta XML Binding API"
HOMEPAGE="https://github.com/jakartaee/jaxb-api"
SRC_URI="https://github.com/jakartaee/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P}"
LICENSE="EPL-1.0"
SLOT="2"
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
CDEPEND="dev-java/jakarta-activation-api:1"
DEPEND="${CDEPEND}
>=virtual/jdk-11:*"
RDEPEND="${CDEPEND}
>=virtual/jre-1.8:*"
DOCS=( {LICENSE,NOTICE,README}.md )
PATCHES=( "${FILESDIR}/jaxb-api-2.3.3-dropSecurityManager.patch" )
JAVA_GENTOO_CLASSPATH="jakarta-activation-api-1"
JAVA_GENTOO_CLASSPATH_EXTRA="jaxb-api.jar"
JAVA_RESOURCE_DIRS="${PN}/src/main/resources"
JAVA_SRC_DIR="${PN}/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_RESOURCE_DIRS="${PN}-test/src/test/resources"
JAVA_TEST_SRC_DIR="${PN}-test/src/test/java"
src_prepare() {
default #780585
java-pkg-2_src_prepare
}

@ -0,0 +1,43 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
JAVA_PKG_IUSE="doc source test"
MAVEN_ID="jakarta.xml.bind:jakarta.xml.bind-api:${PV}"
JAVA_TESTING_FRAMEWORKS="junit-4"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Jakarta XML Binding API"
HOMEPAGE="https://github.com/jakartaee/jaxb-api"
SRC_URI="https://github.com/jakartaee/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P}"
LICENSE="EPL-1.0"
SLOT="4"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
CP_DEPEND="dev-java/jakarta-activation:2"
DEPEND="${CP_DEPEND}
>=virtual/jdk-11:*"
# reason: '<>' with anonymous inner classes is not supported in -source 8
# (use -source 9 or higher to enable '<>' with anonymous inner classes)
RDEPEND="${CP_DEPEND}
>=virtual/jre-11:*"
DOCS=( {CONTRIBUTING,NOTICE,README}.md )
PATCHES=( "${FILESDIR}/jaxb-api-4.0.2-dropSecurityManager.patch" )
JAVA_RESOURCE_DIRS="api/src/main/resources"
JAVA_SRC_DIR="api/src/main/java"
JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_RESOURCE_DIRS="jaxb-api-test/src/test/resources"
JAVA_TEST_SRC_DIR="jaxb-api-test/src/test/java"
src_prepare() {
default #780585
java-pkg-2_src_prepare
}

@ -5,7 +5,7 @@
<email>java@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">eclipse-ee4j/jaxb-api</remote-id>
<bugs-to>https://github.com/eclipse-ee4j/jaxb-api/issues</bugs-to>
<bugs-to>https://github.com/jakartaee/jaxb-api/issues</bugs-to>
<remote-id type="github">jakartaee/jaxb-api</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -30,7 +30,7 @@ SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
SLOT="stable"
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt"
DEPEND=""

@ -19,7 +19,7 @@ else
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
fi
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save