Sync with portage [Fri Apr 19 18:36:33 MSK 2024].

master 2560
root 2 weeks ago
parent ca2aac94e3
commit 45d612401c

Binary file not shown.

Binary file not shown.

@ -5,4 +5,7 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">aws/aws-cli</remote-id>
</upstream>
</pkgmetadata>

@ -1,3 +1,6 @@
DIST aws-cli-1.32.74.gh.tar.gz 2682208 BLAKE2B aba8be6e597a6d07197bd06d51f167f7a2dbed317c630572585cd006f6edfceac054726a20afe20faf6de381cbb75e352a7d6ab9e232b6e669fd59ca5888e122 SHA512 2f19b7c383c91528f15b93b00df285bdf32685c08e41e4f8f3a62cbbd5cff2615ca98c5eb925a5a2a2d13b452a0a08658749f4f7a48045a537ee7ec7e23cd663
DIST aws-cli-1.32.79.gh.tar.gz 2685785 BLAKE2B 3bbfad927d9d882e6b502f47919ce963df498c614a92730c5d6b1fb4efd7a8bd805a5c8cc82c705b97d8ee0ddbee4d6ddfa9cb46661fe7e9337add53bda3d9a1 SHA512 e0e369b6a5fca4d72365e54ef99c862e2d6f68caed61ac431516777e82ec8b292cf50516f379d8e94787b2a0ee58ad6e68d0951624f1ed742079295c4d2987ce
DIST aws-cli-1.32.84.gh.tar.gz 2691519 BLAKE2B 4cb78f14975d74013803af0f6397d959294cca6046ee19c1a907ca3e60fd224539d39535416ddcc2713b1de653b78ba03965dc78415dd915e80d11fcd6fbe02f SHA512 19d2030201806b336ede2c5e09f761e39959a156057d68316180145232e54013f2e5fa57023146488d407aa7e655fdb2245058e45eb5c4d6778eecd867f6eac1
DIST aws-cli-1.32.85.gh.tar.gz 2692681 BLAKE2B 1b74cd51dd71ce01b492f21de40d25e7ea4b2e3e3572cf2346b0fd293a4ba2dbb870acb1f0b2f41494f5fb065d5eb20c6e3f98a4035d7426bf6926535c8ef83e SHA512 7f471978f4a306944d30ad2cacd3feaea6a821be79aa814300a2833824328414f878ee2d0a6d42371d38e3d841530be7f25f0e14b81360e81182d9c9e35227b5
DIST aws-cli-1.32.86.gh.tar.gz 2692809 BLAKE2B b0c9956d7b2b81f05b8f59ccbcd14baca3acb9f006ac965d0df06d86309bdd4d71c430514d22ef5c5c871e6009a174e8abc25b47ab8cd4471230e301bc0e50a1 SHA512 ab689fc5997bd14223e76307c1c4609950b5e4a62932163bd68d8a4d7a9c09db55b17c4377cba3901cd9518ac2b6ccc191fd9c7692dd0e188bfdd475bfcfc0ac
DIST aws-cli-1.32.87.gh.tar.gz 2692945 BLAKE2B 5c22caaad9f9134013e96a665681de698510b77048dbbd2f84748b5dc3283dfc2f34aa62e8669265fe8e686e8497ab72d67bb401a343d9f036eb6ba2558cd0ff SHA512 48779efe4d2ee34e5f145fdf753619fd39ef48085705d7fe67e6b0d51c70fc2b0a43eb4a7d07c4d9befeb596d9c59b8725eea9b9619ac614b4cdd6dbdacc81a4

@ -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
}

@ -1,2 +1,3 @@
DIST Bitwarden-2024.2.0-amd64.deb 79917282 BLAKE2B 2066dc71bed9cddbcedccfd9129e3e81ac9f8a71217d2c651fb8a067b3e318574e26104b447a7ccd6734efded64ef3620cf4a7e36f0a577ed98f5468839540cb SHA512 c9394914fd6c82096fc5336e73b539e250727c6917af97961df0bd7de241f955b9eb87da154f32972c73ea1ce59bf0d79660658277185c89e099360ec4c3ea26
DIST Bitwarden-2024.3.0-amd64.deb 80463348 BLAKE2B 668fd4c18507b349e5892e7511b4898764a33d9da0a837379c7856caa054782fbf6a3337b03a779a8c8111d2458f560b31c32856850ff931694a8f18d889bdc9 SHA512 9297367e82e76870b7f12becfca6ec3bc0ce8f6515f4e17e9830d4df599891c839a8f5990c97b684528c8a4ad1c24ddd3bc99c1552620aee84b81c1cbf115771
DIST Bitwarden-2024.4.1-amd64.deb 80470012 BLAKE2B 64b451c3fbbac303782c68a366c66c32c49d0ecb52bcbc085451157216cc99fa888941e8c911c14f6a68aa6bb0413463b4296f108386e7b5b3ca8925c6dcc871 SHA512 e6edcd84f44062ccfa4152baf7dab230915d006f7f31de0ffcbe1acb62525777c7d653a7cb7c51509fb9ebcf5ba4219df97e5128853813a54aadbfd92ff2c819

@ -0,0 +1,87 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop unpacker xdg-utils
MY_PN="Bitwarden"
DESCRIPTION="Bitwarden password manager desktop client"
HOMEPAGE="https://bitwarden.com/"
SRC_URI="https://github.com/bitwarden/clients/releases/download/desktop-v${PV}/Bitwarden-${PV}-amd64.deb"
S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret
dev-libs/expat
dev-libs/glib
dev-libs/nspr
dev-libs/nss
dev-libs/wayland
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/dbus
sys-apps/util-linux
sys-libs/glibc
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libxkbcommon
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libxshmfence
x11-libs/libXtst
x11-libs/pango
"
IDEPEND="
dev-util/desktop-file-utils
dev-util/gtk-update-icon-cache
"
QA_PREBUILT="
opt/Bitwarden/*.so*
opt/Bitwarden/bitwarden
opt/Bitwarden/chrome-sandbox
opt/Bitwarden/chrome_crashpad_handler
"
src_install() {
insinto /opt
doins -r opt/${MY_PN}
fperms 755 /opt/Bitwarden/bitwarden
fperms 4755 /opt/Bitwarden/chrome-sandbox
domenu usr/share/applications/bitwarden.desktop
local x
for x in 16 32 64 128 256 512; do
doicon -s ${x} usr/share/icons/hicolor/${x}*/*
done
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}

@ -5,4 +5,7 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">viafintech/cronlocker</remote-id>
</upstream>
</pkgmetadata>

@ -16,7 +16,7 @@ if [[ "${PV}" != *9999 ]] ; then
else
SRC_URI="https://github.com/keepassxreboot/${PN}/releases/download/${PV}/${P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
fi
else
inherit git-r3

@ -1,2 +1,3 @@
DIST linode-cli-5.47.1.tar.gz 128364 BLAKE2B db21cdd9a1bfbe17fb17b8b0e27ca36bb15c7d3b16ddde4dcc59a9ce64cd34d644d3d5d120efb88bb146767cf9b2c3ee820a847a2fcff487a11bc3abd6973870 SHA512 b61ac1e7c97a1395b150227fe822bc2e7199ed15a44c6d93d71bfdbc2f919827e87e89cf41a47b069be06144a849f5ab11c9dd7f38d138f80ce80563f55bf75a
DIST linode-cli-5.48.3.tar.gz 142927 BLAKE2B 48ae197d780f77a7a4dbf54d4e9959d28c117d90e052f401f563f1557dc11155afc5d16da1140e9ed2828fa3e19243e91205759636247d2fb893383975d89f43 SHA512 9efd3f0392848ebcd896becff191e94c90cbec01cc2b805c0262ecb3c40c51346d0b42891ddaadb9191d75e379083f68e4c9aa35f9ba7c6309c74ae3febbde7a
DIST linode_cli-5.48.4.tar.gz 142928 BLAKE2B 28b1c90bb0709afc594b7023ef846b6d59e0376730f05d9701ebbc6744376f33536ad5a6f53b7b26a25805b258dc58378a76b0e6a4157e149f83e691d862dec8 SHA512 b07a3612afc329fc346b523412ac03932c84213d6bc23726f4c0e5edc737100bf65ec84f8131943439444fee268646789dc4d135cd61b2362311d1ab18601c3e

@ -0,0 +1,30 @@
# Copyright 2023-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
inherit distutils-r1 pypi
DESCRIPTION="Linode Command Line Interface"
HOMEPAGE="https://github.com/linode/linode-cli https://www.linode.com/"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
# Tests require network, a linode account and an API key.
# WARNING: tests will incur costs and will wipe the account.
RESTRICT="test"
RDEPEND="
dev-python/boto3[${PYTHON_USEDEP}]
dev-python/linode-metadata[${PYTHON_USEDEP}]
dev-python/openapi3[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/rich[${PYTHON_USEDEP}]
<dev-python/urllib3-3[${PYTHON_USEDEP}]
"

@ -17,7 +17,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_BRANCH="develop"
else
inherit pypi
KEYWORDS="~amd64 ~riscv ~x86"
KEYWORDS="amd64 ~riscv ~x86"
fi
LICENSE="Apache-2.0"

@ -17,7 +17,7 @@ if [[ ${PV} == 9999* ]]; then
EGIT_BRANCH="develop"
else
inherit pypi
KEYWORDS="~amd64 ~riscv ~x86"
KEYWORDS="amd64 ~riscv ~x86"
fi
LICENSE="Apache-2.0"

@ -0,0 +1,11 @@
--- a/WebappConfig/protect.py
+++ b/WebappConfig/protect.py
@@ -78,7 +78,7 @@
numbers = []
prefix = self.protect_prefix
- rep = re.compile(prefix.replace('.','\.') + '(\d{4})_')
+ rep = re.compile(prefix.replace('.',r'\.') + r'(\d{4})_')
for i in entries:
rem = rep.match(i)

@ -0,0 +1,91 @@
# 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 prefix
if [[ ${PV} = 9999* ]]
then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git"
inherit git-r3
else
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
DESCRIPTION="Gentoo's installer for web-based applications"
HOMEPAGE="https://sourceforge.net/projects/webapp-config/"
LICENSE="GPL-2"
SLOT="0"
IUSE="+portage"
DEPEND="app-text/xmlto
sys-apps/gentoo-functions"
RDEPEND="
portage? ( sys-apps/portage[${PYTHON_USEDEP}] )"
PATCHES=(
"${FILESDIR}"/webapp-config-1.55-py3.122-invalid-escape-sequence.patch
)
python_prepare_all() {
# make the source from svn mirror the one in the tarball
if [[ ${PV} == 9999* ]]; then
mkdir ../webapp-config || die "Cannot create temp directory."
cp -r * ../webapp-config || die "Cannot copy all into the temp directory."
mv ../webapp-config . || die "Cannot move temp directory to its final position."
# Installation fails if version is 1.55-git
sed -e 's/-git//' \
-i webapp-config/WebappConfig/version.py \
-i WebappConfig/version.py || die "Cannot fix version."
fi
distutils-r1_python_prepare_all
eprefixify WebappConfig/eprefix.py config/webapp-config
}
python_compile_all() {
emake -C doc/
}
python_test() {
PYTHONPATH="." "${EPYTHON}" WebappConfig/tests/external.py -v ||
die "Testing failed with ${EPYTHON}"
}
python_install() {
# According to this discussion:
# http://mail.python.org/pipermail/distutils-sig/2004-February/003713.html
# distutils does not provide for specifying two different script install
# locations. Since we only install one script here the following should
# be ok
distutils-r1_python_install --install-scripts="${EPREFIX}/usr/sbin"
}
python_install_all() {
distutils-r1_python_install_all
# distutils-r1 installs the scripts in /usr/bin in PEP517 mode
mv "${ED}"/usr/bin "${ED}"/usr/sbin || die "Cannot rename scripts directory to /usr/sbin"
insinto /etc/vhosts
doins config/webapp-config
keepdir /usr/share/webapps
keepdir /var/db/webapps
dodoc AUTHORS
doman doc/*.[58]
}
pkg_postinst() {
elog "Now that you have upgraded webapp-config, you **must** update your"
elog "config files in /etc/vhosts/webapp-config before you emerge any"
elog "packages that use webapp-config."
}

@ -1,10 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# 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..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 prefix
@ -29,6 +29,10 @@ DEPEND="app-text/xmlto
RDEPEND="
portage? ( sys-apps/portage[${PYTHON_USEDEP}] )"
PATCHES=(
"${FILESDIR}"/webapp-config-1.55-py3.122-invalid-escape-sequence.patch
)
python_prepare_all() {
# make the source from svn mirror the one in the tarball
if [[ ${PV} == 9999* ]]; then

@ -1,13 +0,0 @@
diff --git a/setup.py b/setup.py
index 2f35f86..eed1e7b 100644
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ setup(
description='Generate secure multiword passwords/passphrases, inspired by XKCD',
long_description=open('README.rst', encoding='utf-8').read(),
#packages=['xkcdpass'],
- packages=find_namespace_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
+ packages=find_namespace_packages(exclude=["examples", "*.tests", "*.tests.*", "tests.*", "tests"]),
zip_safe=False,
license='BSD',
include_package_data=True,

Binary file not shown.

@ -26,8 +26,11 @@ DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST clamav-0.103.11.tar.gz 16550978 BLAKE2B 9fba6d5b41ef07b017be26b7ebd832ca03146a68545f794924332c67429ba27603745e2ad7fc0f58c341c6d9267e5b5265c37525dba9cbb15ab616915ec2d605 SHA512 86241ee8058d9a3ccc13b89bb41aa16cfbeb65717fbcfeea6117b7885e8854f5673c22475e7d33ee4210a15d583e806f252657c07933f072455027f1531427b8
DIST clamav-1.0.5.tar.gz 10344955 BLAKE2B 1deceff859c9eec6185f6c83833333d1a030edd1c9dcc6788f669259b4922f332b564a7c6f3fa7f03ebe2051524132becb35cbd67526aac43e95ca3978793517 SHA512 7d46cf5555107d2856430a5f09f5dfd011b597d3dc7e691db3c956867b1314b50fd23008bf45b377d31493a12716c527159d163748d6ae759e97a041780da0d9
DIST clamav-1.0.6.tar.gz 10345779 BLAKE2B fbbef034a7bf6e2b323007a3de2464b60cc0a564551ddd4169a72af0328cfc2485c14395626e8d0258dfbb3bb41bc895d26622ff2dfb5fcd1181e6595da6489b SHA512 907cf51f8e6776a81ec5501026c240266b0eb8f7631fcbbcd0f8514446925dc731d819ae758217f9ed9414ca385b64e67f6de0e5133c04ba7590bd1e4445e09e
DIST clamav-1.2.2.tar.gz 10372690 BLAKE2B 47940236e38296ac908be4c5d1c5ce8bbc9ec5c69fa87b2472c941d2de9642e0ab6a59c63038aa706079e8efeb161083db69ad03eaaf27a6d05f4f1a5bb70aff SHA512 32562230f367a230f70dfca5ed5000ee8829a0da7452b0113e9dbaa47ef6b21901001f741b0e52ce52c02fe8f834bd559bcbdf1ea20495bead9c4976c3a4cc92
DIST clamav-1.2.3.tar.gz 10376162 BLAKE2B f881ca93143fc418a475bfd8bcfe26bc964fedc9f50267e60e36b92932232aa219ee61091f23b53882776d1de7faf111faf8b123058d7b0f8feee01d1884133c SHA512 1298107f7d567bfdb151c452acb33edfa99e13f26a711f2c8cb6149fa144a0b164c92f10c7fb592ac4ae3787600b4996e295c2dd31dfac11a8c2ef8c00c61161
DIST clamav-1.3.0.tar.gz 12937306 BLAKE2B 4db193bd4cbe66cf3e7b3ac6ce26a1e74bc73b6ab0d9ba3b2fe496bba061f4ac1a89d05b797a384343ed02864f5ea9530bedf4f1aea8c5ae33f9fc86ab8521a3 SHA512 7fe05abcd6c6fb76de44471b63a0f31ebbabf477800966e87bd187591f2f6f6b7d4a66f450f05bfeb3ec33253887c8115cb9ddbc2cd744adb5b19af249ae3333
DIST clamav-1.3.1.tar.gz 12938351 BLAKE2B d8fe1be274bcc8091ed4193967120201457d9a4eaaa27e8b5cdde279f25405882bd0cd5de80e7da041db28d3688f4270febda5ca70d69c7d36d1e099d03ddb3e SHA512 0693006c0f283862bf7f4eaeb39b409b92ac017a3d604df1340045c26dc47070d6f23dfb180dcb7753156d02c5e99cec23c53f6c56b007ed737be7060a4131f2
DIST clang-sys-1.4.0.crate 38679 BLAKE2B d15bdae2142ed26b4f6bd037bd2062e8c4b7b87fc5b749b872a95ff1952d000066c255aa0984e5f9c4a5c88066db4a20cfd048db4ba5a59b331d5ffa5e9a281d SHA512 062189bb0a341e2e85de4987f4b564c1fc69e4005c9c42cfedb61dee5f48db9126a8114d1d97be1b9c21b8c885243751232fbe8cf532e1d2be593308fe45216a
DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c
DIST color_quant-1.1.0.crate 6649 BLAKE2B 9a2488dd00b7a33e15e05531ea49ef1961131f0be0922ba41e2d74d2b1a047daed483ac3a9dd87c847a81cce70a347395c557cad8228ab9a8dc5be7cc0f1bcaa SHA512 690c928bda4b7b57425f38ea68ac89cde2473b7a91b7e62c04a8f2c5a0fa3505e26b065d48b7ad0a8bb491f92f600f896fefdad3ce0e86e43cbf4f9a89e94201
@ -64,6 +67,7 @@ DIST fastrand-2.0.0.crate 14402 BLAKE2B 8bf830151ec616dbc25f216265722e39f8a2cd9a
DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9
DIST fdeflate-0.3.0.crate 21790 BLAKE2B 3c96f6395fc42f66e436fbf6b747c2f3c2dfd8c38729bd0eb88be872ad55e5d964ba322b703fae122907d51892619687ac9b7a5e7546f8fe6eb7d80a91c1f398 SHA512 1a1862460745780407892c835b4e3431267044285fdd718dc6b316dbce9520d2955bf36e5e28257f2f758ba7bc3051b446e786d11ace83deec492e4c161664bc
DIST fdeflate-0.3.1.crate 26143 BLAKE2B 9decfc50a0d2961960f80e3c7e640c2f4a9c916fed3810031906548d60dc6edae4d32419b5fc7cb5ec9b6e9cadcb71cc723c6fdc6f94ac81e0272739b79277da SHA512 16aae554c5c629266c6b1d628076a7d67d9214988355a76c669152f1981ed12c35959cb1a81cc46a9fd000fe4c25266bcd0486931e8e4d91c47ff7001211fb39
DIST fdeflate-0.3.4.crate 25001 BLAKE2B 69bffdb689dc467bd62738299ea17295bf7dd9d51c78b17e1ef6eee265056308703646791676c44430a686e1d713a8f561c5db972de7ab7c5e7b21050cad70f8 SHA512 a38b493eba656beb97275faf5a2f32c8a2c2cb12c5d5c280d37bbcf1406fe404151fd6312ec496aafdce802ef08745a6927e571890f9b290010ca5ac45ac9bdf
DIST flate2-1.0.25.crate 70210 BLAKE2B 992525ffeeb4433a222487cdfb0c3927ad77f914e1db94f612d80e81faef4a2c955c755c2b800251e3416d0b22726d5f7d7e432a81c3582c54b7de95ab7a324e SHA512 d81a463360ee2778f609ff297e04548120d1fda1f9e020fb2f429ea51189b8fe6cae57252fcd924d71fb65ad0f93ff7cdc7235913f8b78fa82925939cf884af7
DIST flate2-1.0.27.crate 73460 BLAKE2B 5603848098ac02c9c83893df79ea9d9ad3df5b7e02ffa155ac74602bda7e28e14e6b7de2ff321b38d24fa3741ccea8a4c811abb47690cc295f90d4cf2bdd0bbf SHA512 e76e76444686433acabd16513e6e5860d4d6fa53a810f37266f36900f154acacac6dcd77b0373599a6d33a09175f5f02146d84726b982c59a78926950e19ff09
DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
@ -126,6 +130,7 @@ DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec
DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
DIST miniz_oxide-0.6.2.crate 54536 BLAKE2B 8127ebec5a2cee1c2101d9533da573e01ef1a0fcb169bb0fb1419973ddd2e6953d8dfe85f9509a5d1226643ad290f0ee1479fc68f1788ade7ddf9633d90bfe1e SHA512 250782e214572acdd11df87c2788cd5f78e8388d9b285d0a850918219678e262e8b9905cc88728f5b70d13920ef9d19c43d243dad8fbcc18f8c8462662ce1419
DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432
DIST nanorand-0.7.0.crate 18437 BLAKE2B f4aaf18b7cf32b385d97842cee234f0781bc2e55ca5662031204b999293d417e0ab2726eacff084dc6681ea5e46ce01335a1a5cfaa5e8bc6e602aacb1fd25252 SHA512 3ac650451d629852236eeb45dfee808acbea616036025676b47310100982d7e8317df647fe8649e7753dd0f57c501dcb3f7401c3d804af52ff2a2f50ace8cc69
DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
DIST num-complex-0.4.3.crate 29523 BLAKE2B 7f6af07ca78b00ba21f04931c473b2b725c61c78bb74b3bcef7b10a0fb00353c06283da02c056fa8cd4f9949476392054dda56ddacd330abc2d1aea3317e9ebe SHA512 64f1e6ee49f162a190b9aaccdebdf5d4f1712645eebda7877437f58859c5d8d4cfd10b67a39098dc964f9c842909b10e222aa8a2159575a7bb19352f753d3d99
@ -148,6 +153,7 @@ DIST pin-project-1.1.3.crate 57740 BLAKE2B 5201a01cee2e98caa0d3ed1ff25d4af8c4a74
DIST pin-project-internal-1.0.12.crate 27956 BLAKE2B ac5cf33b5981e32ecf802a9de1576f696006ffc035b33173b1606a1d12c7b12c53a217f5723e8ebd622a121345f440b200ab3972410a2f161a5ed83fa8769ed6 SHA512 f3f4839c5fa7e3232a323283ad9636cd03e1bab79b439cc2d2ea954d60a3dfd417aa4680b7a34a3baa48d7e02266cf16e56b719a905f04157c708c90c02e45a9
DIST pin-project-internal-1.1.3.crate 27824 BLAKE2B 23b59024481710102677ba35aa8db8e27f6ce0973941addc11bc8a994031c2a4fe04cac197f04fb13c61110e554953883f50b4df15dd632e4c59fc8422fb26b0 SHA512 d2aef23074cdce910fbed47130636dfe3fcb6ab255c6fb4ff822d364d54d181f007c80755ae6f8c7519054888c1a763738d523217a8157542aa35007a77f2288
DIST png-0.17.10.crate 89384 BLAKE2B 4202db161bd974cc9b08ef01adf3ed4cbcaf00a5b8c3c8a42846581976be44e4e0bcf025d0493d39bc395dbaba6bd1336553d00e58f4280e23f41a6027ff4bec SHA512 33fdf0365b3475d7384fac29bfcd95177e822ac33d3adb1d91a1d52ea90a88bcc5facd95daadf02a79190d406f8a855c4ca4b6e09a0012c63ccbe5285d050101
DIST png-0.17.13.crate 103176 BLAKE2B 99bfd1c444f5967b715b81607e3c3266fb3b1d8110897e4c93afb5b6e0e28df262f9c9d842aefed922c38a5ff9d16e75cca065d7cc14ddadb3a7e9ea4776e787 SHA512 064a932f4c48c2243286a9b4cdec0487cc976291bc8ecf4753691afdfe43acda4b17ea8d48ec933f309d158df28f40ee93b5b32b3ab5252e2e7aa1ee1c0e4e84
DIST png-0.17.7.crate 80979 BLAKE2B 37628fa2282c7195f983a95939eda1c73745f89d772904173775d7e1906b71615e45de8f59489d6842450ed6f7c7b809b28881c84d5a3399da38013fc3062c79 SHA512 f8009925a6948d8b9c82007f31eefd18d2173274816c0329673e48ef725aec52ca3aab2b91e8fc4f776c8f7f17475a3e065835e578a632445e1bd70794b18270
DIST prettyplease-0.2.15.crate 57034 BLAKE2B 251f4b19f2580c5503c7c1d1c47bb9fc125f5c9b8d41c960430c953ae83484049df0fcb1bed11693389c1fe48b9a41a5be35701c4f19cec90ee1cdee592f4e4c SHA512 789f9e381964f2da75e9def9f2474bc8a15adb598faae5044088543c9cd53f6f2fb70875263adaa7504e73a9fe1890949bdb9930dad199638c00196b24da6929
DIST prettyplease-0.2.4.crate 53478 BLAKE2B d83d392c7e7e0a4fa082d5c84615b012cf1988ec0a475be99313f95bcee47a11eb8c710fb992a18c0c6627b39e27b39fa767c4fa4c1c48f54cc4698f14577697 SHA512 68ea70cdbccad0e91c251bb66b317e126bda3c34fbd2d50f95549f7ee3e48566a7eafb77f58e40e3f298bc2a34f2a5b0d900067c717b117602dc57284d789480
@ -229,6 +235,7 @@ DIST tiff-0.8.1.crate 1417977 BLAKE2B 4beeb5c46cb598311cfbe486d54a99d99ee2bef5ae
DIST tiff-0.9.0.crate 1418215 BLAKE2B 4e472ecc8629e714b97ca492851b615c1b700f71de13f0b6efd94c621da5996698da062465a5933ad2f1ba2c0882a02f4d4cffc256db4699f275e4139989874d SHA512 cd13530a976cc8cb24e649568b1833ec7eed1709a41b02c298b68e406b78b6de622d3ce32123fbbbbf0e5fcfab9a6c319a356db352fa83fec819dd318cb1e6ff
DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
DIST transpose-0.2.2.crate 10816 BLAKE2B 87c6e1152858048fa188406a3683781b5af1f036c8236db2b4548a452327ba221a0c6ce71a6a191b2fe854a3292119cfe548a9b57266f4857fa0e517c331a6d4 SHA512 a08347773fba17586fd42f8e6ccd17c30f6d6c22faf391c6ff57ece99147754366b4273b41186a206f54b2be0bd3b29b2ef49182d23f0cfd11137cb49368338f
DIST transpose-0.2.3.crate 10913 BLAKE2B 5af25c7e404121acf68caaa5b4109f4f3cd56093575139ce54a68dc14bd2238ef1d3cd2c7626a1a9e860433b15d517b57af264dea1f16cd59827bfa3cc4e93f2 SHA512 1a624e7baf2c74da48489558f9327d935bde67812eec50e205a4060180612d7e6d7d18f18c1b118bd7b08650cd089d8c1574db3fbd504a6915c9cd3b4ec09b59
DIST typenum-1.16.0.crate 42477 BLAKE2B acc6dcd4521493c438a8a3d997ab0456fdbff3db66aee9b81ba219714d47522c3ca8fe26f8ce84edfda416ff9a22747caf3ecc9cc4bcd1e7647ac351d5aef407 SHA512 93da3ed62573acbc9d5d31257fb72ae9cfc7d59e4040c1f32d93e8fec94795e1aa20a3bf76ddc64c4b383184306bb2a66e51fd61b64dd4ce46a1bca8238b57b2
DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df

@ -0,0 +1,400 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{10..12} )
# Auto-Generated by cargo-ebuild 0.5.4-r1
CRATES="
adler@1.0.2
autocfg@1.1.0
bindgen@0.65.1
bit_field@0.10.1
bitflags@1.3.2
block-buffer@0.10.3
bumpalo@3.12.0
bytemuck@1.13.0
byteorder@1.4.3
cbindgen@0.20.0
cc@1.0.83
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.4.0
color_quant@1.1.0
cpufeatures@0.2.5
crc32fast@1.3.2
crossbeam-channel@0.5.8
crossbeam-deque@0.8.2
crossbeam-epoch@0.9.13
crossbeam-utils@0.8.14
crunchy@0.2.2
crypto-common@0.1.6
digest@0.10.6
either@1.8.1
errno@0.3.3
errno-dragonfly@0.1.2
exr@1.5.3
fastrand@1.8.0
fdeflate@0.3.4
flate2@1.0.25
flume@0.10.14
futures-core@0.3.26
futures-sink@0.3.26
generic-array@0.14.6
getrandom@0.2.8
gif@0.11.4
glob@0.3.1
half@2.2.1
hashbrown@0.12.3
heck@0.3.3
hermit-abi@0.2.6
hermit-abi@0.3.3
hex@0.4.3
image@0.24.5
indexmap@1.9.2
instant@0.1.12
io-lifetimes@1.0.11
itoa@1.0.5
jpeg-decoder@0.3.0
js-sys@0.3.61
lazy_static@1.4.0
lazycell@1.3.0
lebe@0.5.2
libc@0.2.139
libloading@0.7.4
linux-raw-sys@0.1.4
lock_api@0.4.9
log@0.4.17
memchr@2.5.0
memoffset@0.7.1
minimal-lexical@0.2.1
miniz_oxide@0.6.2
miniz_oxide@0.7.2
nanorand@0.7.0
nom@7.1.3
num-complex@0.4.3
num-integer@0.1.45
num-rational@0.4.1
num-traits@0.2.15
num_cpus@1.15.0
once_cell@1.17.0
peeking_take_while@0.1.2
pin-project@1.0.12
pin-project-internal@1.0.12
png@0.17.13
prettyplease@0.2.4
primal-check@0.3.3
proc-macro2@1.0.66
quote@1.0.26
rayon@1.6.1
rayon-core@1.10.2
redox_syscall@0.2.16
regex@1.7.1
regex-syntax@0.6.28
rustc-hash@1.1.0
rustdct@0.7.1
rustfft@6.1.0
rustix@0.36.15
ryu@1.0.12
scoped_threadpool@0.1.9
scopeguard@1.1.0
serde@1.0.152
serde_derive@1.0.152
serde_json@1.0.93
sha2@0.10.6
shlex@1.3.0
simd-adler32@0.3.4
smallvec@1.10.0
spin@0.9.8
strength_reduce@0.2.4
syn@1.0.107
syn@2.0.15
tempfile@3.4.0
thiserror@1.0.38
thiserror-impl@1.0.38
threadpool@1.8.1
tiff@0.8.1
toml@0.5.11
transpose@0.2.3
typenum@1.16.0
unicode-ident@1.0.6
unicode-segmentation@1.10.1
version_check@0.9.4
wasi@0.11.0+wasi-snapshot-preview1
wasm-bindgen@0.2.84
wasm-bindgen-backend@0.2.84
wasm-bindgen-macro@0.2.84
wasm-bindgen-macro-support@0.2.84
wasm-bindgen-shared@0.2.84
weezl@0.1.7
which@4.4.0
winapi@0.3.9
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
windows-sys@0.42.0
windows-sys@0.45.0
windows-sys@0.48.0
windows-targets@0.42.2
windows-targets@0.48.5
windows_aarch64_gnullvm@0.42.2
windows_aarch64_gnullvm@0.48.5
windows_aarch64_msvc@0.42.2
windows_aarch64_msvc@0.48.5
windows_i686_gnu@0.42.2
windows_i686_gnu@0.48.5
windows_i686_msvc@0.42.2
windows_i686_msvc@0.48.5
windows_x86_64_gnu@0.42.2
windows_x86_64_gnu@0.48.5
windows_x86_64_gnullvm@0.42.2
windows_x86_64_gnullvm@0.48.5
windows_x86_64_msvc@0.42.2
windows_x86_64_msvc@0.48.5
zune-inflate@0.2.42
"
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
MY_P=${P//_/-}
DESCRIPTION="Clam Anti-Virus Scanner"
HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
${CARGO_CRATE_URIS}"
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
SLOT="0/lts"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
fi
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
milter? ( clamapp )
test? ( !libclamav-only )"
RESTRICT="!test? ( test )"
# Require acct-{user,group}/clamav at build time so that we can set
# the permissions on /var/lib/clamav in src_install rather than in
# pkg_postinst; calling "chown" on the live filesystem scares me.
COMMON_DEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
>=sys-libs/zlib-1.2.2:=
virtual/libiconv
!libclamav-only? ( net-misc/curl )
clamapp? ( sys-libs/ncurses:= net-misc/curl )
elibc_musl? ( sys-libs/fts-standalone )
jit? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
milter? ( mail-filter/libmilter:= )
rar? ( app-arch/unrar )
system-mspack? ( dev-libs/libmspack )
test? ( dev-python/pytest )
"
# rust-bin < 1.71 has an executable stack
# which is not supported on selinux #911589
BDEPEND="
virtual/pkgconfig
>=virtual/rust-1.71
doc? ( app-text/doxygen )
test? (
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
"
DEPEND="${COMMON_DEPEND}
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-clamav )"
python_check_deps() {
python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use jit && llvm_pkg_setup
use test && python-any-r1_pkg_setup
}
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
local mycmakeargs=(
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
-DBYTECODE_RUNTIME=$(usex jit llvm interpreter)
-DCLAMAV_GROUP="clamav"
-DCLAMAV_USER="clamav"
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
-DENABLE_APP=$(usex clamapp ON OFF)
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
-DENABLE_SHARED_LIB=ON
-DENABLE_STATIC_LIB=OFF
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
-DENABLE_UNRAR=$(usex rar ON OFF)
-DOPTIMIZE=ON
)
if use test ; then
# https://bugs.gentoo.org/818673
# Used to enable some more tests but doesn't behave well in
# sandbox necessarily(?) + needs certain debug symbols present
# in e.g. glibc.
mycmakeargs+=(
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
-DPYTHON_FIND_VERSION="${EPYTHON#python}"
)
fi
if use jit ; then
# Suppress CMake warnings that variables aren't consumed if we aren't using LLVM
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#llvm-optional-see-bytecode-runtime-section
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#bytecode-runtime
mycmakeargs+=(
-DLLVM_ROOT_DIR="$(get_llvm_prefix -d ${LLVM_MAX_SLOT})"
-DLLVM_FIND_VERSION="$(best_version sys-devel/llvm:${LLVM_MAX_SLOT} | cut -c 16-)"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
# init scripts
newinitd "${FILESDIR}/clamd.initd" clamd
newinitd "${FILESDIR}/freshclam.initd" freshclam
use clamonacc && \
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
use milter && \
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
if ! use libclamav-only ; then
if use systemd ; then
# The tmpfiles entry is behind USE=systemd because the
# upstream OpenRC service files should (and do) ensure that
# the directories they need exist and have the correct
# permissions without the help of opentmpfiles. There are
# years-old root exploits in opentmpfiles, the design is
# fundamentally flawed, and the maintainer is not up to
# the task of fixing it.
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
systemd_dounit "${FILESDIR}/clamd.service"
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
"freshclamd.service"
fi
if use clamapp ; then
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(LocalSocket .*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
-e "s:^\#\(LogTime\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/clamd.conf.sample > \
"${ED}"/etc/clamav/clamd.conf || die
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(DatabaseOwner .*\)/\1/" \
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/freshclam.conf.sample > \
"${ED}"/etc/clamav/freshclam.conf || die
if use milter ; then
# Note: only keep the "unix" ClamdSocket and MilterSocket!
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
"${ED}"/etc/clamav/clamav-milter.conf || die
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
fi
local i
for i in clamd freshclam clamav-milter
do
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
mv "${ED}"/etc/"${i}".conf{.sample,} || die
fi
done
# These both need to be writable by the clamav user
# TODO: use syslog by default; that's what it's for.
diropts -o clamav -g clamav
keepdir /var/lib/clamav
keepdir /var/log/clamav
fi
fi
if use doc ; then
local HTML_DOCS=( docs/html/. )
einstalldocs
fi
# Don't install man pages for utilities we didn't install
if use libclamav-only ; then
rm -r "${ED}"/usr/share/man || die
fi
find "${ED}" -name '*.la' -delete || die
}
pkg_postinst() {
if ! use libclamav-only ; then
if use systemd ; then
tmpfiles_process clamav.conf
fi
fi
if use milter ; then
elog "For simple instructions how to setup the clamav-milter read the"
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
fi
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
if [[ ! -f "${databases}" ]] ; then
ewarn "You must run freshclam manually to populate the virus database"
ewarn "before starting clamav for the first time."
fi
if ! systemd_is_booted ; then
ewarn "This version of ClamAV provides separate OpenRC services"
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
ewarn "clamd service now starts only the clamd daemon itself. You"
ewarn "should add freshclam (and perhaps clamav-milter) to any"
ewarn "runlevels that previously contained clamd."
fi
}

@ -0,0 +1,394 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Upstream are working on updating clamav's LLVM bytecode interpreter to work
# with later versions of LLVM, but it's not ready yet. See:
# https://github.com/Cisco-Talos/clamav/issues/581
# This does not impact the ability of the package to build with llvm/clang otherwise.
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{10..12} )
# Autogenerated by pycargoebuild 0.13.2
CRATES="
adler@1.0.2
aho-corasick@1.0.5
autocfg@1.1.0
base64@0.21.3
bindgen@0.65.1
bit_field@0.10.2
bitflags@1.3.2
bitflags@2.4.0
block-buffer@0.10.4
bumpalo@3.13.0
bytemuck@1.14.0
byteorder@1.4.3
cbindgen@0.25.0
cc@1.0.83
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.6.1
color_quant@1.1.0
cpufeatures@0.2.9
crc32fast@1.3.2
crossbeam-channel@0.5.8
crossbeam-deque@0.8.3
crossbeam-epoch@0.9.15
crossbeam-utils@0.8.16
crunchy@0.2.2
crypto-common@0.1.6
digest@0.10.7
either@1.9.0
errno-dragonfly@0.1.2
errno@0.3.3
exr@1.7.0
fastrand@2.0.0
fdeflate@0.3.4
flate2@1.0.27
flume@0.10.14
futures-core@0.3.28
futures-sink@0.3.28
generic-array@0.14.7
getrandom@0.2.10
gif@0.12.0
glob@0.3.1
half@2.2.1
hashbrown@0.12.3
heck@0.4.1
hermit-abi@0.3.2
hex@0.4.3
home@0.5.5
image@0.24.7
indexmap@1.9.3
itoa@1.0.9
jpeg-decoder@0.3.0
js-sys@0.3.64
lazy_static@1.4.0
lazycell@1.3.0
lebe@0.5.2
libc@0.2.147
libloading@0.7.4
linux-raw-sys@0.4.5
lock_api@0.4.10
log@0.4.20
memchr@2.6.3
memoffset@0.9.0
minimal-lexical@0.2.1
miniz_oxide@0.7.1
nanorand@0.7.0
nom@7.1.3
num-complex@0.4.4
num-integer@0.1.45
num-rational@0.4.1
num-traits@0.2.16
num_cpus@1.16.0
once_cell@1.18.0
peeking_take_while@0.1.2
pin-project-internal@1.1.3
pin-project@1.1.3
png@0.17.13
prettyplease@0.2.15
primal-check@0.3.3
proc-macro2@1.0.66
qoi@0.4.1
quote@1.0.33
rayon-core@1.11.0
rayon@1.7.0
redox_syscall@0.3.5
regex-automata@0.3.8
regex-syntax@0.7.5
regex@1.9.5
rustc-hash@1.1.0
rustdct@0.7.1
rustfft@6.1.0
rustix@0.38.11
ryu@1.0.15
scopeguard@1.2.0
serde@1.0.188
serde_derive@1.0.188
serde_json@1.0.105
sha1@0.10.5
sha2@0.10.7
shlex@1.3.0
simd-adler32@0.3.7
smallvec@1.11.0
spin@0.9.8
strength_reduce@0.2.4
syn@1.0.109
syn@2.0.31
tempfile@3.8.0
thiserror-impl@1.0.48
thiserror@1.0.48
tiff@0.9.0
toml@0.5.11
transpose@0.2.3
typenum@1.16.0
unicode-ident@1.0.11
unicode-segmentation@1.10.1
version_check@0.9.4
wasi@0.11.0+wasi-snapshot-preview1
wasm-bindgen-backend@0.2.87
wasm-bindgen-macro-support@0.2.87
wasm-bindgen-macro@0.2.87
wasm-bindgen-shared@0.2.87
wasm-bindgen@0.2.87
weezl@0.1.7
which@4.4.2
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-sys@0.48.0
windows-targets@0.48.5
windows_aarch64_gnullvm@0.48.5
windows_aarch64_msvc@0.48.5
windows_i686_gnu@0.48.5
windows_i686_msvc@0.48.5
windows_x86_64_gnu@0.48.5
windows_x86_64_gnullvm@0.48.5
windows_x86_64_msvc@0.48.5
zune-inflate@0.2.54
"
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
MY_P=${P//_/-}
DESCRIPTION="Clam Anti-Virus Scanner"
HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
${CARGO_CRATE_URIS}"
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
# 0/sts (short term support) if not an LTS release
SLOT="0/sts"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
fi
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
milter? ( clamapp )
test? ( !libclamav-only )"
RESTRICT="!test? ( test )"
# Require acct-{user,group}/clamav at build time so that we can set
# the permissions on /var/lib/clamav in src_install rather than in
# pkg_postinst; calling "chown" on the live filesystem scares me.
COMMON_DEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
>=sys-libs/zlib-1.2.2:=
virtual/libiconv
!libclamav-only? ( net-misc/curl )
clamapp? ( sys-libs/ncurses:= net-misc/curl )
elibc_musl? ( sys-libs/fts-standalone )
jit? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
milter? ( mail-filter/libmilter:= )
rar? ( app-arch/unrar )
system-mspack? ( dev-libs/libmspack )
test? ( dev-python/pytest )
"
# rust-bin < 1.71 has an executable stack
# which is not supported on selinux #911589
BDEPEND="
virtual/pkgconfig
>=virtual/rust-1.71
doc? ( app-text/doxygen )
test? (
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
"
DEPEND="${COMMON_DEPEND}
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-clamav )"
python_check_deps() {
python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use jit && llvm_pkg_setup
use test && python-any-r1_pkg_setup
}
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
local mycmakeargs=(
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
-DBYTECODE_RUNTIME=$(usex jit llvm interpreter)
-DCLAMAV_GROUP="clamav"
-DCLAMAV_USER="clamav"
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
-DENABLE_APP=$(usex clamapp ON OFF)
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
-DENABLE_SHARED_LIB=ON
-DENABLE_STATIC_LIB=OFF
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
-DENABLE_UNRAR=$(usex rar ON OFF)
-DOPTIMIZE=ON
)
if use test ; then
# https://bugs.gentoo.org/818673
# Used to enable some more tests but doesn't behave well in
# sandbox necessarily(?) + needs certain debug symbols present
# in e.g. glibc.
mycmakeargs+=(
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
-DPYTHON_FIND_VERSION="${EPYTHON#python}"
)
fi
if use jit ; then
# Suppress CMake warnings that variables aren't consumed if we aren't using LLVM
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#llvm-optional-see-bytecode-runtime-section
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#bytecode-runtime
mycmakeargs+=(
-DLLVM_ROOT_DIR="$(get_llvm_prefix -d ${LLVM_MAX_SLOT})"
-DLLVM_FIND_VERSION="$(best_version sys-devel/llvm:${LLVM_MAX_SLOT} | cut -c 16-)"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
# init scripts
newinitd "${FILESDIR}/clamd.initd" clamd
newinitd "${FILESDIR}/freshclam.initd" freshclam
use clamonacc && \
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
use milter && \
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
if ! use libclamav-only ; then
if use systemd ; then
# The tmpfiles entry is behind USE=systemd because the
# upstream OpenRC service files should (and do) ensure that
# the directories they need exist and have the correct
# permissions without the help of opentmpfiles. There are
# years-old root exploits in opentmpfiles, the design is
# fundamentally flawed, and the maintainer is not up to
# the task of fixing it.
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
systemd_dounit "${FILESDIR}/clamd.service"
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
"freshclamd.service"
fi
if use clamapp ; then
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(LocalSocket .*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
-e "s:^\#\(LogTime\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/clamd.conf.sample > \
"${ED}"/etc/clamav/clamd.conf || die
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(DatabaseOwner .*\)/\1/" \
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/freshclam.conf.sample > \
"${ED}"/etc/clamav/freshclam.conf || die
if use milter ; then
# Note: only keep the "unix" ClamdSocket and MilterSocket!
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
"${ED}"/etc/clamav/clamav-milter.conf || die
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
fi
local i
for i in clamd freshclam clamav-milter
do
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
mv "${ED}"/etc/"${i}".conf{.sample,} || die
fi
done
# These both need to be writable by the clamav user
# TODO: use syslog by default; that's what it's for.
diropts -o clamav -g clamav
keepdir /var/lib/clamav
keepdir /var/log/clamav
fi
fi
if use doc ; then
local HTML_DOCS=( docs/html/. )
einstalldocs
fi
# Don't install man pages for utilities we didn't install
if use libclamav-only ; then
rm -r "${ED}"/usr/share/man || die
fi
find "${ED}" -name '*.la' -delete || die
}
pkg_postinst() {
if ! use libclamav-only ; then
if use systemd ; then
tmpfiles_process clamav.conf
fi
fi
if use milter ; then
elog "For simple instructions how to setup the clamav-milter read the"
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
fi
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
if [[ ! -f "${databases}" ]] ; then
ewarn "You must run freshclam manually to populate the virus database"
ewarn "before starting clamav for the first time."
fi
if ! systemd_is_booted ; then
ewarn "This version of ClamAV provides separate OpenRC services"
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
ewarn "clamd service now starts only the clamd daemon itself. You"
ewarn "should add freshclam (and perhaps clamav-milter) to any"
ewarn "runlevels that previously contained clamd."
fi
}

@ -0,0 +1,397 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Upstream are working on updating clamav's LLVM bytecode interpreter to work
# with later versions of LLVM, but it's not ready yet. See:
# https://github.com/Cisco-Talos/clamav/issues/581
# This does not impact the ability of the package to build with llvm/clang otherwise.
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{10..12} )
# Autogenerated by pycargoebuild 0.13.2
CRATES="
adler@1.0.2
aho-corasick@1.1.2
autocfg@1.1.0
base64@0.21.5
bindgen@0.65.1
bit_field@0.10.2
bitflags@1.3.2
bitflags@2.4.1
block-buffer@0.10.4
bytemuck@1.14.0
byteorder@1.5.0
bytes@1.5.0
cbindgen@0.25.0
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.6.1
color_quant@1.1.0
cpufeatures@0.2.11
crc32fast@1.3.2
crossbeam-deque@0.8.4
crossbeam-epoch@0.9.16
crossbeam-utils@0.8.17
crunchy@0.2.2
crypto-common@0.1.6
digest@0.10.7
either@1.9.0
encoding_rs@0.8.33
enum-primitive-derive@0.2.2
errno@0.3.8
exr@1.71.0
fastrand@2.0.1
fdeflate@0.3.4
flate2@1.0.28
flume@0.11.0
generic-array@0.14.7
gif@0.12.0
glob@0.3.1
half@2.2.1
hashbrown@0.12.3
heck@0.4.1
hex-literal@0.4.1
hex@0.4.3
home@0.5.5
image@0.24.7
indexmap@1.9.3
itertools@0.10.5
itoa@1.0.10
jpeg-decoder@0.3.0
lazy_static@1.4.0
lazycell@1.3.0
lebe@0.5.2
libc@0.2.151
libloading@0.7.4
linux-raw-sys@0.4.12
lock_api@0.4.11
log@0.4.20
memchr@2.6.4
memoffset@0.9.0
minimal-lexical@0.2.1
miniz_oxide@0.7.1
nom@7.1.3
num-complex@0.4.4
num-integer@0.1.45
num-rational@0.4.1
num-traits@0.2.17
once_cell@1.19.0
paste@1.0.14
peeking_take_while@0.1.2
png@0.17.13
prettyplease@0.2.15
primal-check@0.3.3
proc-macro2@1.0.70
qoi@0.4.1
quote@1.0.33
rayon-core@1.12.0
rayon@1.8.0
redox_syscall@0.4.1
regex-automata@0.4.3
regex-syntax@0.8.2
regex@1.10.2
rustc-hash@1.1.0
rustdct@0.7.1
rustfft@6.1.0
rustix@0.38.28
ryu@1.0.16
scopeguard@1.2.0
serde@1.0.193
serde_derive@1.0.193
serde_json@1.0.108
sha1@0.10.6
sha2@0.10.8
shlex@1.3.0
simd-adler32@0.3.7
smallvec@1.11.2
spin@0.9.8
strength_reduce@0.2.4
syn@1.0.109
syn@2.0.41
tempfile@3.8.1
thiserror-impl@1.0.50
thiserror@1.0.50
tiff@0.9.0
toml@0.5.11
transpose@0.2.3
typenum@1.17.0
unicode-ident@1.0.12
unicode-segmentation@1.10.1
uuid@1.6.1
version_check@0.9.4
weezl@0.1.7
which@4.4.2
widestring@1.0.2
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-sys@0.48.0
windows-sys@0.52.0
windows-targets@0.48.5
windows-targets@0.52.0
windows_aarch64_gnullvm@0.48.5
windows_aarch64_gnullvm@0.52.0
windows_aarch64_msvc@0.48.5
windows_aarch64_msvc@0.52.0
windows_i686_gnu@0.48.5
windows_i686_gnu@0.52.0
windows_i686_msvc@0.48.5
windows_i686_msvc@0.52.0
windows_x86_64_gnu@0.48.5
windows_x86_64_gnu@0.52.0
windows_x86_64_gnullvm@0.48.5
windows_x86_64_gnullvm@0.52.0
windows_x86_64_msvc@0.48.5
windows_x86_64_msvc@0.52.0
zune-inflate@0.2.54
"
# Get the commit from the CLAM-2329-new-from-slice branch
declare -A GIT_CRATES=(
[onenote_parser]="https://github.com/Cisco-Talos/onenote.rs;8b450447e58143004b68dd21c11b710fdb79be92;onenote.rs-%commit%"
)
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
MY_P=${P//_/-}
DESCRIPTION="Clam Anti-Virus Scanner"
HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
${CARGO_CRATE_URIS}"
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
# 0/sts (short term support) if not an LTS release
SLOT="0/sts"
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
fi
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
milter? ( clamapp )
test? ( !libclamav-only )"
RESTRICT="!test? ( test )"
# Require acct-{user,group}/clamav at build time so that we can set
# the permissions on /var/lib/clamav in src_install rather than in
# pkg_postinst; calling "chown" on the live filesystem scares me.
COMMON_DEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
>=sys-libs/zlib-1.2.2:=
virtual/libiconv
!libclamav-only? ( net-misc/curl )
clamapp? ( sys-libs/ncurses:= net-misc/curl )
elibc_musl? ( sys-libs/fts-standalone )
jit? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
milter? ( mail-filter/libmilter:= )
rar? ( app-arch/unrar )
system-mspack? ( dev-libs/libmspack )
test? ( dev-python/pytest )
"
# rust-bin < 1.71 has an executable stack
# which is not supported on selinux #911589
BDEPEND="
virtual/pkgconfig
>=virtual/rust-1.71
doc? ( app-text/doxygen )
test? (
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
"
DEPEND="${COMMON_DEPEND}
test? ( dev-libs/check )"
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-clamav )"
python_check_deps() {
python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
}
pkg_setup() {
use jit && llvm_pkg_setup
use test && python-any-r1_pkg_setup
}
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
local mycmakeargs=(
-DAPP_CONFIG_DIRECTORY="${EPREFIX}"/etc/clamav
-DBYTECODE_RUNTIME=$(usex jit llvm interpreter)
-DCLAMAV_GROUP="clamav"
-DCLAMAV_USER="clamav"
-DDATABASE_DIRECTORY="${EPREFIX}"/var/lib/clamav
-DENABLE_APP=$(usex clamapp ON OFF)
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
-DENABLE_SHARED_LIB=ON
-DENABLE_STATIC_LIB=OFF
-DENABLE_SYSTEMD=$(usex systemd ON OFF)
-DENABLE_TESTS=$(usex test ON OFF)
-DENABLE_UNRAR=$(usex rar ON OFF)
-DOPTIMIZE=ON
)
if use test ; then
# https://bugs.gentoo.org/818673
# Used to enable some more tests but doesn't behave well in
# sandbox necessarily(?) + needs certain debug symbols present
# in e.g. glibc.
mycmakeargs+=(
-DCMAKE_DISABLE_FIND_PACKAGE_Valgrind=ON
-DPYTHON_FIND_VERSION="${EPYTHON#python}"
)
fi
if use jit ; then
# Suppress CMake warnings that variables aren't consumed if we aren't using LLVM
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#llvm-optional-see-bytecode-runtime-section
# https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md#bytecode-runtime
mycmakeargs+=(
-DLLVM_ROOT_DIR="$(get_llvm_prefix -d ${LLVM_MAX_SLOT})"
-DLLVM_FIND_VERSION="$(best_version sys-devel/llvm:${LLVM_MAX_SLOT} | cut -c 16-)"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
# init scripts
newinitd "${FILESDIR}/clamd.initd" clamd
newinitd "${FILESDIR}/freshclam.initd" freshclam
use clamonacc && \
newinitd "${FILESDIR}/clamonacc.initd" clamonacc
use milter && \
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
if ! use libclamav-only ; then
if use systemd ; then
# The tmpfiles entry is behind USE=systemd because the
# upstream OpenRC service files should (and do) ensure that
# the directories they need exist and have the correct
# permissions without the help of opentmpfiles. There are
# years-old root exploits in opentmpfiles, the design is
# fundamentally flawed, and the maintainer is not up to
# the task of fixing it.
dotmpfiles "${FILESDIR}/tmpfiles.d/clamav.conf"
systemd_newunit "${FILESDIR}/clamd_at.service-0.104.0" "clamd@.service"
systemd_dounit "${FILESDIR}/clamd.service"
systemd_newunit "${FILESDIR}/freshclamd.service-r1" \
"freshclamd.service"
fi
if use clamapp ; then
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(LocalSocket .*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
-e "s:^\#\(LogTime\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/clamd.conf.sample > \
"${ED}"/etc/clamav/clamd.conf || die
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(DatabaseOwner .*\)/\1/" \
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
-e "s/^#\(DatabaseDirectory .*\)/\1/" \
"${ED}"/etc/clamav/freshclam.conf.sample > \
"${ED}"/etc/clamav/freshclam.conf || die
if use milter ; then
# Note: only keep the "unix" ClamdSocket and MilterSocket!
sed -e "s:^\(Example\):\# \1:" \
-e "s/^#\(PidFile .*\)/\1/" \
-e "s/^#\(ClamdSocket unix:.*\)/\1/" \
-e "s/^#\(User .*\)/\1/" \
-e "s/^#\(MilterSocket unix:.*\)/\1/" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
"${ED}"/etc/clamav/clamav-milter.conf.sample > \
"${ED}"/etc/clamav/clamav-milter.conf || die
systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service
fi
local i
for i in clamd freshclam clamav-milter
do
if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then
mv "${ED}"/etc/"${i}".conf{.sample,} || die
fi
done
# These both need to be writable by the clamav user
# TODO: use syslog by default; that's what it's for.
diropts -o clamav -g clamav
keepdir /var/lib/clamav
keepdir /var/log/clamav
fi
fi
if use doc ; then
local HTML_DOCS=( docs/html/. )
einstalldocs
fi
# Don't install man pages for utilities we didn't install
if use libclamav-only ; then
rm -r "${ED}"/usr/share/man || die
fi
find "${ED}" -name '*.la' -delete || die
}
pkg_postinst() {
if ! use libclamav-only ; then
if use systemd ; then
tmpfiles_process clamav.conf
fi
fi
if use milter ; then
elog "For simple instructions how to setup the clamav-milter read the"
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
fi
local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d )
if [[ ! -f "${databases}" ]] ; then
ewarn "You must run freshclam manually to populate the virus database"
ewarn "before starting clamav for the first time."
fi
if ! systemd_is_booted ; then
ewarn "This version of ClamAV provides separate OpenRC services"
ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The"
ewarn "clamd service now starts only the clamd daemon itself. You"
ewarn "should add freshclam (and perhaps clamav-milter) to any"
ewarn "runlevels that previously contained clamd."
fi
}

@ -1,4 +1,3 @@
DIST clamtk-6.17.tar.xz 288544 BLAKE2B 56dce01a74e4d81e683c53dd5a040a342ec0ac3dd441f5b1bc7e288999e6ce1f104fd75e03babee4e0f6a8b487b56a1b588a614f405833813240607861875f00 SHA512 8dd03af9a390f19881dd3e94c2687bc2927b3a731cd6756c944ba2bf92d54cc2a78cb1f7befbb5cda9d0f258d7a457deaa1b05874a9e1194b43ae08abaef5397
DIST clamtk-6.18.tar.xz 287692 BLAKE2B f33a0799550978859706b94f10e9125654cdbfa6384f4929f4a87cecc4a8524b65098d13a50215ca5155105200c09e0e6655b1f75f6ef7f72f1cb40214879472 SHA512 f126b61e2493473ecb4df1adbc0583a844b9abfd9e0c62e8f82a5b635b72690c91cc1a44f70aca46a7987edd63713ec2a67ac634241a33e5d993abe77026c323
DIST clamtk-gnome-6.14.tar.xz 15156 BLAKE2B ed87dc8317b60a63c4f8824b0e24568ab29874d1e62ef0f4eddeb636960d9b2753b12dfb8fb6f3eb27a6fbfb18dc88b6a480b532afd0d22f20955f4023278eb8 SHA512 3fd798a7d8dbea0e33db09f266b6ad74b96ae5097ecc4d54e00c30c2a5f76a93cd6f2cbaa2b83dc69eb295905c09db88dc2f364592a398786e473783d1ee2c4e
DIST clamtk-kde-0.19.tar.xz 18652 BLAKE2B 4ecb849c9312948d493938683310904c9bbe7f4e26514d76dbfee3afdd063eec2a0aa85a638f83130c8e3ff41cfabee1479885691cc484680d97d1f8fbb76f00 SHA512 57a99d50f171ada999723dc69c2d193e91a482533add4281c6aac96a23273b3eb5456bff6918f69c72edf1635d22be86beae4c434eb29fc3c27fb687fa716861

@ -1,151 +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 desktop perl-functions python-single-r1 xdg-utils
MY_PV_KDE="0.19"
MY_PV_NAUTILUS="6.14"
MY_PV_NEMO="0.05"
MY_PV_THUNAR="0.07"
DESCRIPTION="A graphical front-end for ClamAV"
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
SRC_URI="
https://github.com/dave-theunsub/${PN}/releases/download/v${PV}/${P}.tar.xz
kde? ( https://github.com/dave-theunsub/${PN}-kde/releases/download/v${MY_PV_KDE}/${PN}-kde-${MY_PV_KDE}.tar.xz )
nautilus? ( https://github.com/dave-theunsub/${PN}-gnome/releases/download/v${MY_PV_NAUTILUS}/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
nemo? ( https://github.com/dave-theunsub/nemo-sendto-${PN}/releases/download/v${MY_PV_NEMO}/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )
thunar? ( https://github.com/dave-theunsub/thunar-sendto-${PN}/releases/download/v${MY_PV_THUNAR}/thunar-sendto-${PN}-${MY_PV_THUNAR}.tar.xz )
"
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="kde nautilus nemo +nls thunar"
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-antivirus/clamav
dev-perl/File-chdir
dev-perl/Gtk3
dev-perl/JSON
dev-perl/LWP-Protocol-https
dev-perl/LWP-UserAgent-Cached
dev-perl/Locale-gettext
dev-perl/Text-CSV
dev-perl/glib-perl
dev-perl/libwww-perl
virtual/perl-Digest-MD5
virtual/perl-Digest-SHA
virtual/perl-Encode
virtual/perl-MIME-Base64
virtual/perl-Time-Piece
nautilus? (
${PYTHON_DEPS}
dev-python/nautilus-python[${PYTHON_SINGLE_USEDEP}]
)
"
BDEPEND="nls? ( sys-devel/gettext )"
DOCS=( "CHANGES" "credits.md" "DISCLAIMER.md" "README.md" )
pkg_setup() {
use nautilus && python-single-r1_pkg_setup
}
src_unpack() {
default
unpack "${S}"/clamtk.1.gz
use kde && unpack "${S}"/../clamtk-kde-${MY_PV_KDE}/clamtk-kde.1.gz
use nautilus && unpack "${S}"/../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.1.gz
use nemo && unpack "${S}"/../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.1.gz
use thunar && unpack "${S}"/../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.1.gz
}
src_install() {
dobin clamtk
perl_set_version
insinto "${VENDOR_LIB}"/ClamTk
doins lib/*.pm
use nls && domo po/*.mo
doicon images/clamtk.png images/clamtk.xpm
domenu clamtk.desktop
doman ../clamtk.1
if use kde; then
insinto /usr/share/kservices5/ServiceMenus
doins ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.desktop
doicon ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.png ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.xpm
doman ../clamtk-kde.1
docinto dolphin
dodoc ../clamtk-kde-${MY_PV_KDE}/CHANGES ../clamtk-kde-${MY_PV_KDE}/README.md
fi
if use nautilus; then
insinto /usr/share/nautilus-python/extensions
doins ../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.py
doicon ../clamtk-gnome-${MY_PV_NAUTILUS}/images/clamtk-gnome.png
doman ../clamtk-gnome.1
docinto nautilus
dodoc \
../clamtk-gnome-${MY_PV_NAUTILUS}/CHANGES \
../clamtk-gnome-${MY_PV_NAUTILUS}/DISCLAIMER \
../clamtk-gnome-${MY_PV_NAUTILUS}/README.md
fi
if use nemo; then
insinto /usr/share/nemo/actions/
doins ../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.nemo_action
doman ../nemo-sendto-clamtk.1
docinto nemo
dodoc \
../nemo-sendto-clamtk-${MY_PV_NEMO}/CHANGES \
../nemo-sendto-clamtk-${MY_PV_NEMO}/DISCLAIMER \
../nemo-sendto-clamtk-${MY_PV_NEMO}/README.md
fi
if use thunar; then
insinto /usr/share/Thunar/sendto
doins ../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.desktop
doman ../thunar-sendto-clamtk.1
docinto thunar
dodoc \
../thunar-sendto-clamtk-${MY_PV_THUNAR}/CHANGES \
../thunar-sendto-clamtk-${MY_PV_THUNAR}/DISCLAIMER \
../thunar-sendto-clamtk-${MY_PV_THUNAR}/README.md
fi
einstalldocs
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -24,7 +24,7 @@ SRC_URI="
LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="kde nautilus nemo +nls thunar"
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"

Binary file not shown.

@ -6,7 +6,7 @@
<name>Oz Tiram</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>immoloismm@gmail.com</email>
<email>immoloism@gmail.com</email>
<name>Ian Jordan</name>
</maintainer>
<maintainer type="project" proxied="proxy">

@ -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

@ -1,4 +1,2 @@
DIST lzip-1.24.1.tar.gz 123899 BLAKE2B b387577087af5596ea49af16c44e1dfc11f78cbcc1031fc480a4e7ef1a01f4d8fb35c03d8cbeb7f6feb51e427708b1ed0f9a160e80ff938555ea3cf34f28be7c SHA512 b67b3b8ab594306dd863b6f51525ab80e90cbff3af1faf190fd7a35eac895ef869e6a1f8f503d623c16ad5c1496816c8f851abf0be5983d53052bea80afc34bd
DIST lzip-1.24.1.tar.gz.sig 72 BLAKE2B 6b957524cbca62aed7eb1dc35284da24550d8d90c8bf95d0c84063afe5e0cc1fc6f70bd513dece615f286e0d49c1a7dfcf6940a443f293975380c8e3ada2cb2d SHA512 40cfa84a7c7e6b907d76560eae27b22cb11aea79a94a2231e041952fe0f452a4e291355f60965bd6ca712e03f4ebf5381b759409e66a4a12653a005a6a1d8395
DIST lzip-1.24.tar.gz 123850 BLAKE2B ef6b7b51e7369b7b07ca2d5bbdd57a287f3a96866f50b327237a35ce9a4d19b2e3f7586a099ff4191c3c793de2dfe59120a42b8d744e220c4f7652d049df87f5 SHA512 119de48deaedcbfdc0bf61c57ac54b463a3cf1ec064c70095b36d18784f59e5c80bb07ad69ad0e168443d6e73f7a506a65d80a2eeae111669b3194fa5dd0ca3c
DIST lzip-1.24.tar.gz.sig 72 BLAKE2B 629c25f2ae80932246657efeca0fcaf57024203d9739db9734e9b2df799809f7b3b9ac70afa4a47eb631865246674a2f269b2fba4fbaf58e0299efa74388c6cb SHA512 c1960f051393c26beb504e95a3e99335c3b700b3e8895bd6c3c733549a1cb56a2e51024f4d7c9655670db1877cb29680418b77642a9fdbe816d59bab1e0f2f72

@ -14,7 +14,7 @@ S="${WORKDIR}/${P/_/-}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"

@ -1,29 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
inherit toolchain-funcs verify-sig
DESCRIPTION="Lossless data compressor based on the LZMA algorithm"
HOMEPAGE="https://www.nongnu.org/lzip/lzip.html"
SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P/_/-}.tar.gz"
SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/${PN}/${P/_/-}.tar.gz.sig )"
S="${WORKDIR}/${P/_/-}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
src_configure() {
# not autotools-based
./configure \
--prefix="${EPREFIX}"/usr \
CXX="$(tc-getCXX)" \
CPPFLAGS="${CPPFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
LDFLAGS="${LDFLAGS}" || die
}

@ -1,6 +1,3 @@
DIST rarlinux-x32-624.tar.gz 627966 BLAKE2B 8069b5a33bbc229c1f64564bc483e98da8996388890defe03cd430571a269ec9a0d935bdb9ca24d97a5ca2d2eff078c50f2ed158a5d48a263312063ff56b073d SHA512 967ca151e2927f427738c49eedd0bd4a0c1e56bd43d417bfbfb1e940d553c30a4860b279b90a47151838312f8e788f0fee13c424ee3b31ab2574a077de957234
DIST rarlinux-x32-700.tar.gz 739081 BLAKE2B 3f0d18ba3c9ff6b606bbddd3aafcc70209d87a1aa08877fa8ee62e4c28a56b0dd0d38304d273abb708fa1a9fb1d2264df0dc7eb2ac6dbd1264b250df40f141c5 SHA512 a1f1d1f203ae2f98949346ad331a27ce2d120bf28f289fc42d286fae5c9392af033a4ff72fbe078a130b9267eb42e9739db35aa98ce07f4d97566299aa233934
DIST rarlinux-x64-624.tar.gz 614146 BLAKE2B 4cad338a68234a8223b63427fbb2d735b65012d79466c0ef799b5764e2df8e575c3e42dcaa37c8a3e5e51474633452dc4e832b05a7c13164e1778d4f741edc49 SHA512 04b935d918d7636bf7cececee2c306f6c586ac363932a30529dcf0e5e199823ca976269acf26456f9a91830dfe909d67ff0a13e55a68096e59875e46e0e0b0de
DIST rarlinux-x64-700.tar.gz 730268 BLAKE2B 6a3c4890232b6bdc24a6e321bff66c8a41c3c64b7da8dbcd40714de647edabb32f8719be882335895a09453f36e247b7ce96edf8089f8fa6ea08489d69eb7813 SHA512 988b755d1b52051f5d4115a64f598e5d6a6a9d1756e8136a00a159001199bf684c4961245c1010f0414e174f61964e1e3f32f437810708cd77742b9b89946166
DIST winrar-x64-624.exe 3589048 BLAKE2B 5afb3069bea3e73f6f8aca103a99fb83d09fc0bf692757e5213515423918a7219a86dc0a5936131a180a0e324b04c9685cb47a493cb69f61f7673d4f45bcac26 SHA512 f5f61a3cf4440d9fa59e7093341a293c0b42081b547992284e54cef61eee1f817fdbbbcc2cb921b077f8bce5b9280072c0f3b5a1bff266ef23c3d9a792d24b9f
DIST winrar-x64-700.exe 3911632 BLAKE2B f2191937e1e3d0938f0ca2c56467c838415401a20a0966efad050e9fde5fe7fc6e05694c98fd06daa6fe4d7c03f588e60d456d8d510c849929a52dab36d6a10a SHA512 bc94f526d4dd751a44071dd6f540f2957d96f5c6500d7e5bb41ec6581bb0a584a6bb91fe13f7a1d9c7749c4601b1fe95f2a12a204b73bdc9a37c83cff7ac35c3

@ -1,120 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="${PV/./}"
URI_AMD64="https://www.rarlab.com/rar/rarlinux-x64-${MY_PV}.tar.gz"
URI_X86="https://www.rarlab.com/rar/rarlinux-x32-${MY_PV}.tar.gz"
URI_WIN64="https://www.rarlab.com/rar/winrar-x64-${MY_PV}.exe"
inherit unpacker
DESCRIPTION="RAR compressor/uncompressor"
HOMEPAGE="https://www.rarlab.com/"
SRC_URI="
all-sfx? (
${URI_AMD64}
${URI_X86}
${URI_WIN64}
)
amd64? ( ${URI_AMD64} )
x86? ( ${URI_X86} )
"
S="${WORKDIR}/${PN}"
LICENSE="BSD BSD-2 RAR"
SLOT="0"
KEYWORDS="-* amd64 x86"
IUSE="all-sfx"
RESTRICT="bindist mirror"
RDEPEND="sys-libs/glibc"
BDEPEND="all-sfx? ( app-arch/unrar )"
DOCS=( "acknow.txt" "rar.txt" "readme.txt" "whatsnew.txt" )
QA_PREBUILT="
opt/rar/default.sfx
opt/rar/default-elf32.sfx
opt/rar/default-elf64.sfx
opt/rar/default-win32.sfx
opt/rar/default-win64.sfx
opt/rar/unrar
opt/rar/rar
opt/rar/WinCon.SFX
opt/rar/WinCon64.SFX
opt/rar/Zip.SFX
opt/rar/Zip64.SFX
"
src_unpack() {
local _file
for _file in ${A}; do
if [[ "${_file}" == rarli* ]]; then
if [[ "${_file}" =~ x64 ]]; then
if ! use amd64; then
continue
fi
unpack "${_file}"
elif [[ ! "${_file}" =~ x64 ]]; then
if ! use x86; then
continue
fi
unpack "${_file}"
else
die "Unknown SRC file '${_file}'!"
fi
fi
done
if use all-sfx ; then
mkdir sfx
cd sfx
for _file in ${A}; do
if [[ "${_file}" == rarli* ]]; then
unpack "${_file}"
if [[ "${_file}" =~ x64 ]]; then
mv rar/default.sfx default-elf64.sfx || die
else
mv rar/default.sfx default-elf32.sfx || die
fi
elif [[ "${_file}" == winrar* ]]; then
ln -s "${DISTDIR}"/${_file} w64.rar || die
unpack_rar ./w64.rar
mv Default.SFX default-win32.sfx || die
mv Default64.SFX default-win64.sfx || die
else
die "Unknown SFX file '${_file}'!"
fi
done
fi
}
src_compile() { :; }
src_install() {
exeinto /opt/rar
doexe rar unrar
insinto /opt/rar
doins rarfiles.lst
if use all-sfx; then
doins "${WORKDIR}"/sfx/*.{sfx,SFX}
else
doins default.sfx
fi
dodir /opt/bin
dosym ../rar/rar /opt/bin/rar
dosym ../rar/unrar /opt/bin/unrar
docinto html
dodoc order.htm
einstalldocs
}

@ -25,7 +25,7 @@ S="${WORKDIR}/${PN}"
LICENSE="BSD BSD-2 RAR"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
KEYWORDS="-* amd64 x86"
IUSE="all-sfx"
RESTRICT="bindist mirror"

@ -14,7 +14,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2+ ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"

@ -56,9 +56,6 @@ fi
src_prepare() {
default
# Delete known-compromised test data (bug #928134)
rm tests/files/bad-3-corrupt_lzma2.xz tests/files/good-large_compressed.lzma || die
if [[ ${PV} == 9999 ]] ; then
eautopoint
eautoreconf
@ -109,6 +106,7 @@ multilib_src_configure() {
multilib_src_compile() {
# -fprofile-partial-training because upstream note the test suite isn't super comprehensive
# TODO: revisit that now we have the tar/xz loop below?
# 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)")
@ -118,6 +116,43 @@ multilib_src_compile() {
if use pgo ; then
emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
if multilib_is_native_abi ; then
(
shopt -s globstar
tar \
--sort=name --mtime=@2718281828 \
-cf xz-pgo-test-01.tar \
{"${S}","${BUILD_DIR}"}/**/*.[cho] \
{"${S}","${BUILD_DIR}"}/**/*.so* \
{"${S}","${BUILD_DIR}"}/**/**.txt \
{"${S}","${BUILD_DIR}"}/tests/files \
stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar
md5sum xz-pgo-test-01.tar
)
local test_variants=(
# Borrowed from ALT Linux
# https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80
'-0 -C none'
'-2 -C crc32'
'-6 --arm --lzma2 -C crc64'
'-6 --x86 --lzma2=lc=4 -C sha256'
'-7e --format=lzma'
# Our own variants
''
'-9e'
'--x86 --lzma2=preset=9e'
)
local test_variant
for test_variant in "${test_variants[@]}" ; do
"${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null
assert "Testing '${test_variant}' variant failed"
done
fi
if tc-is-clang; then
llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
fi

Binary file not shown.

@ -1,2 +1 @@
DIST borgbackup-1.2.7.tar.gz 4370372 BLAKE2B 8d69f3e7890ee117e1fe2cdf6b92c548bc40b337de09850948150034fc4724bf05c51c852a268df2294e3657676920a1c663a421331fd6dba5fffa558429f11e SHA512 313f495d09bff9d2106a2354d02e8b5478dbce279ccfe863d22bbca40fe1bef94fc575e4ae45585a776689fa0058982c4c009c423ac948cc229e15bb5eb5f2bc
DIST borgbackup-1.2.8.tar.gz 4369117 BLAKE2B f230274189716e6ecb8f73d10caa13e683e63c9d9f50c5b6235fc666a0f64f3048421e76e5b57626144c37d37d28c4371b368f780f5e32055f62d5ff10954c19 SHA512 9a62e5eec894ebffe928a08c9a0cceebde084f16524d363a3c3be01d908a7eceaea8fa11eac422acc0fdb2534d79d1ee5ec5d9167e1086f334af6a28887616d5

@ -1,53 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 distutils-r1 pypi
DESCRIPTION="Deduplicating backup program with compression and authenticated encryption"
HOMEPAGE="https://borgbackup.readthedocs.io/"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
# "import file mismatch" when in S, "attempted relative import with no
# known parent package" when in BUILD_DIR/install/.../borg/testsuite.
# Needs work.
RESTRICT="test"
DEPEND="app-arch/lz4
app-arch/zstd
dev-libs/openssl:0=
>=dev-libs/xxhash-0.8.1
virtual/acl"
# borgbackup is *very* picky about which msgpack it work with,
# check setup.py on bumps.
RDEPEND="${DEPEND}
~dev-python/msgpack-1.0.7[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pyfuse3[${PYTHON_USEDEP}]"
BDEPEND="dev-python/cython[${PYTHON_USEDEP}]
dev-python/pkgconfig[${PYTHON_USEDEP}]
dev-python/setuptools-scm[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
doman docs/man/*
dobashcomp scripts/shell_completions/bash/borg
insinto /usr/share/zsh/site-functions
doins scripts/shell_completions/zsh/_borg
insinto /usr/share/fish/vendor_completions.d
doins scripts/shell_completions/fish/borg.fish
}

@ -14,7 +14,7 @@ HOMEPAGE="https://borgbackup.readthedocs.io/"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
# "import file mismatch" when in S, "attempted relative import with no
# known parent package" when in BUILD_DIR/install/.../borg/testsuite.

@ -1,2 +1,3 @@
DIST borgmatic-1.8.10.tar.gz 599453 BLAKE2B 1ae994d452d29139d23940500d7c9f01e7fc1ddbd36254bf0c36d7f56064ccba7fb8434741dd0114d42271eb241098a12f8a07b83046447ae2225f7cd2ab12ae SHA512 10f5d962f6d25ef42ba4d076e238e1986dcfcd9832b3eea08560f367524824fdb0f80f42962ea6a471d711c6a0e293669b85abdc160475c20eed851ce7ad7f42
DIST borgmatic-1.8.8.tar.gz 589575 BLAKE2B 09a3ca616bd1cf5fcc6c773d8066357d764b44230d691b7afa90bb1fdbce3aa3bfaac509e921adaa9086ba60310b24d1f2ba186849853c8f04e2a85c4b0ec94f SHA512 3984f6e34f8aed5c57df22799e60724903bfcec833e5c3215ad731977b7d376f36129fabd489c166f945d7103f272bcc132a9ea49010552001794b57f27fb5d5
DIST borgmatic-1.8.9.tar.gz 592715 BLAKE2B 3586404985b8cc0d5575f570ba6679c406e95b83453a7c2414872049067b1736010b9f8498fa92e91d281b1cdf75882bc09e40d6d9e443bff33c399ee1392ff9 SHA512 05386f6321d78e304030ebb78c495aee53a1b6f17241f101e73a097aa4208ac641d6105b1e8161cf714b2eab7c34fe682e082e9e997dc4ac6a6a4207253e8421

@ -0,0 +1,79 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 systemd pypi
DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
HOMEPAGE="https://torsion.org/borgmatic/"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
IUSE="apprise"
REQUIRED_USE="test? ( apprise )"
# borg is called as an external tool, hence no pythonic stuff
RDEPEND="app-backup/borgbackup
$(python_gen_cond_dep '
<dev-python/colorama-0.5[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/ruamel-yaml[${PYTHON_USEDEP}]
')
apprise? ( $(python_gen_cond_dep '
dev-python/apprise[${PYTHON_USEDEP}]
') )"
BDEPEND="
test? (
$(python_gen_cond_dep '
>=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
')
)"
PATCHES=(
"${FILESDIR}"/${PN}-1.7.13-no_test_coverage.patch
"${FILESDIR}"/${PN}-1.7.14-systemd_service_bin_path.patch
)
# A fragile test whose only purpose is to make sure the NEWS file
# has been updated for the current version.
EPYTEST_DESELECT=(
tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
)
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
systemd_dounit sample/systemd/borgmatic.{service,timer}
keepdir /etc/borgmatic
}
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
elog "To generate a sample configuration file, run:"
elog " ${PN} config generate"
else
local oldver
for oldver in ${REPLACING_VERSIONS}; do
if ver_test "${oldver}" -lt 1.8.0; then
ewarn "Please be warned that ${PN}-1.8.0 has introduced several breaking changes."
ewarn "For details, please see"
ewarn
ewarn " https://github.com/borgmatic-collective/borgmatic/releases/tag/1.8.0"
ewarn
break
fi
done
fi
elog
elog "Systemd users wishing to periodically run ${PN} can use the provided timer and service units."
}

@ -5,4 +5,7 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">myENA/consul-backinator</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -6,3 +6,5 @@ DIST Geekbench-5.5.1-Linux.tar.gz 93199992 BLAKE2B e2ff24da19134778dd1b3036ac3fb
DIST Geekbench-5.5.1-LinuxARMPreview.tar.gz 111581640 BLAKE2B be413e306a77c0612be380d0ec0d589067365ac1c4091b55a08b722d469180c9cf9126cc0597e3f3c8a75acf77d2a0423bc43b753f30a219924b1a7df640243d SHA512 1d76b9a7928f89f1fdfa0e3cc9859c305e109cbbe72b013b4c249b03722273c985ad1e5d818341a6e399e9e7b3c61136856df87c9f5e61bcc9e7e0455f80e61b
DIST Geekbench-6.2.2-Linux.tar.gz 227984666 BLAKE2B 0e7618de3717f2fbe251b003a808c8b736d2905c3ce04b3c64db848e2fb071f63466288a63dbcd92f55e83a718b7c510cfb41d53471dc52bfede5547ab855bde SHA512 e72d564a977718ccbf97a434049d74fd9f145056e394affaa1ce06c4190a8e7508f8f1a1207e1c4de7f8945842d05d713e87873a287df5b20ead36abc89aab2f
DIST Geekbench-6.2.2-LinuxARMPreview.tar.gz 191739279 BLAKE2B 723954d473825af66bc2755719a4fd113bb13d0efd3618b006646b90c6bdb8261ff41f7f284ba5c0c1c7aeeb6870a38f5679c196d85e59fa30c7a99e7a05cb59 SHA512 e2df2789abc77f9f076940f0dc5fcea811e279e603cd21ba976ba2ee078e3f421f53ea5d7ef5fc27c9a5887aa9bab2b6962bd4410fb434d6fc2dfd4b3a2935ec
DIST Geekbench-6.3.0-Linux.tar.gz 228034734 BLAKE2B fada4628e67ffa61caf77129865ea98871633cc8b197f41fbd8558539fd0b92be803f65c6590ee597b67642998661701fb58089dfe606e98a2219ea838ee3f5c SHA512 0c0d89adea5c25cd6b9cc804fdbb5f3e53178ca3cf7b9505ab9c194f84f7d38274c1bc57651a073c50490e731ae1bbd56d13e388144a2529e9a556cef181ab6a
DIST Geekbench-6.3.0-LinuxARMPreview.tar.gz 191781760 BLAKE2B a99009396a761f9bbcf3a4c32f1afcbed9938d865615da696dc2cdae83a81a1d3bb06aeb11aa26a803caa22479e4d8bb5cf8a52c3260abe07e792b312d29443c SHA512 e9992eb5c7038efdb721fd970bfcf8b0ee3e9d323a9e7cd98588514798560f16428c3e7c4d1d235d2a28320dc629305f29ec56a504923826d09136f4cfb7b775

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,9 +8,9 @@ HOMEPAGE="https://www.geekbench.com"
SRC_URI="https://cdn.primatelabs.com/Geekbench-${PV}-LinuxARM.tar.gz"
S="${WORKDIR}/dist/Geekbench-${PV}-LinuxARM"
KEYWORDS="-* arm"
LICENSE="geekbench"
SLOT="2"
KEYWORDS="-* arm"
RESTRICT="bindist mirror"

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,9 +8,9 @@ HOMEPAGE="https://www.geekbench.com"
SRC_URI="https://cdn.primatelabs.com/Geekbench-${PV}-Linux.tar.gz"
S="${WORKDIR}/dist/Geekbench-${PV}-Linux"
KEYWORDS="-* amd64 x86"
LICENSE="geekbench"
SLOT="2"
KEYWORDS="-* amd64 x86"
RESTRICT="bindist mirror"

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,9 +8,9 @@ HOMEPAGE="https://www.geekbench.com"
SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
S="${WORKDIR}/dist/Geekbench-${PV}-Linux"
KEYWORDS="-* amd64 x86"
LICENSE="geekbench"
SLOT="3"
KEYWORDS="-* amd64 x86"
RESTRICT="bindist mirror"

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,9 +8,9 @@ HOMEPAGE="https://www.geekbench.com"
SRC_URI="https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz"
S="${WORKDIR}/Geekbench-${PV}-Linux"
KEYWORDS="-* amd64 x86"
LICENSE="geekbench"
SLOT="4"
KEYWORDS="-* amd64 x86"
RESTRICT="bindist mirror"

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -11,9 +11,9 @@ SRC_URI="
"
S="${WORKDIR}"
KEYWORDS="-* amd64 ~arm64"
LICENSE="geekbench"
SLOT="5"
KEYWORDS="-* amd64 ~arm64"
RESTRICT="bindist mirror"

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -11,9 +11,9 @@ SRC_URI="
"
S="${WORKDIR}"
KEYWORDS="-* amd64 ~arm64"
LICENSE="geekbench"
SLOT="6"
KEYWORDS="-* amd64 ~arm64"
RESTRICT="bindist mirror"

@ -0,0 +1,51 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
HOMEPAGE="https://www.geekbench.com/"
SRC_URI="
amd64? ( https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz )
arm64? ( https://cdn.geekbench.com/Geekbench-${PV}-LinuxARMPreview.tar.gz )
"
S="${WORKDIR}"
LICENSE="geekbench"
SLOT="6"
KEYWORDS="-* ~amd64 ~arm64"
RESTRICT="bindist mirror"
QA_PREBUILT="
opt/geekbench6/geekbench_aarch64
opt/geekbench6/geekbench_avx2
opt/geekbench6/geekbench_x86_64
opt/geekbench6/geekbench6
"
pkg_nofetch() {
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
elog "and place it in your DISTDIR directory."
}
src_install() {
local MY_S="Geekbench-${PV}-Linux$(usex arm64 'ARMPreview' '')"
exeinto /opt/geekbench6
use amd64 && doexe "${MY_S}"/geekbench_avx2 "${MY_S}"/geekbench_x86_64
use arm64 && doexe "${MY_S}"/geekbench_aarch64
doexe "${MY_S}"/geekbench6
insinto /opt/geekbench6
doins "${MY_S}"/geekbench.plar "${MY_S}"/geekbench-workload.plar
dodir /opt/bin
dosym ../geekbench6/geekbench6 /opt/bin/geekbench6
}
pkg_postinst() {
elog "If you have purchased a commercial license, you can enter"
elog "your email address and your license key with the following command:"
elog "geekbench6 -r <email address> <license key>"
}

@ -1 +1 @@
DIST stress-ng-0.17.06.tar.gz 6244583 BLAKE2B cb5285d5ca12957d9eab7df1e6e011be35cc87a7d43d4d99ec7433588c1c9c959ac05f97b6dde4483ed6c3ad4b9317e299e0650aa8c0cb50f5bd38f8e9bd4ace SHA512 ba59321305a1e3d9ba49f7d71bf8287f1ed37db1b9b54603b2f209272d959ac21a583c5810db5019db0a56c12c7d29e8485d0088c9c3a2e5355657da3ffd4c9f
DIST stress-ng-0.17.07.tar.gz 6260811 BLAKE2B f56dc22ca55a3b4e9c22f179653b4f832d164fd61968af146bedd3a9242509f7ede070d5cf9392ba494025682f6dfed33bd6034244c0731716977e2179514929 SHA512 5bd6dc8175d2d410447559c489e7bb1187fdce7657018ac48a2744be6e8998bc21e84b7bc536477b5db170ca9bd2aba0992127af90e3ff2312bd6130061dce6c

Binary file not shown.

@ -0,0 +1,35 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Creates CD-Covers via LaTeX by fetching cd-info from freedb.org or local file"
HOMEPAGE="https://web.archive.org/web/20151104062521/http://www.vanhemert.co.uk/disc-cover.html"
SRC_URI="http://www.vanhemert.co.uk/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc sparc x86"
BDEPEND="dev-lang/perl"
RDEPEND="${BDEPEND}
dev-perl/Audio-CD-disc-cover
virtual/latex-base"
PATCHES=(
"${FILESDIR}/${P}-defined-error.patch"
)
src_compile() {
pod2man disc-cover > disc-cover.1 || die
}
src_install() {
dobin disc-cover
einstalldocs
doman disc-cover.1
insinto /usr/share/disc-cover/templates
doins -r templates/.
}

@ -0,0 +1,10 @@
--- disc-cover-1.5.6.orig/disc-cover 2006-06-20 14:16:24.000000000 +0200
+++ disc-cover-1.5.6/disc-cover 2023-12-26 00:27:51.511140810 +0100
@@ -743,7 +743,7 @@
{
my ($error) = defined($_[0]) ? $_[0] : undef ;
shift;
- my (@solutions) = defined(@_) ? @_ : undef;
+ my (@solutions) = @_;
warn "Error: $error\n" if defined ($error);

Binary file not shown.

@ -6,3 +6,5 @@ DIST earthly-0.8.6-deps.tar.xz 157843872 BLAKE2B aade314abdcd8aaf18737908df1a90d
DIST earthly-0.8.6.tar.gz 8052646 BLAKE2B 43cb74b7ad198d6418a60dd8b3bac61c1bf67f460b73ca3627647ce71778178e69075bc5122a24cfe33c075c40e962db60845ae6d0933782432eb56087ed83f2 SHA512 4c5ae65452ff940bbeeff7ec489882c5db82597977d18ac3f187ae6a444f6b78222f16f3e0ff10250100195227b925d1a73e24c2ffce618b8675fd826302a47a
DIST earthly-0.8.7-deps.tar.zst 180209748 BLAKE2B e4c5f4b856d0ed3a0c757128c144f6267fd763118de12a51877781e82ea15722420c871f5d66a4dd797cc67b85b7c7cd26a1d2e8f417bd5517f1109e376bbefc SHA512 b8dc56b302aca63837a87cfcced4d0387adaea5433b72eb7c7056dab8a486208d06fff39b4ecd753a30f27878b1497eb1892456876e7632ee2c44926747a12d6
DIST earthly-0.8.7.tar.gz 8062437 BLAKE2B 82796711c13cb7fd2bf957148ddd7ff31d14b9888b30a910682b956ecb8cd9c66539a71b558f92f972b54c566411257c769dadfe2e1d720d9a4e496292185d48 SHA512 c8bddfc2c4e5702abb5c119a022ab5cc875b460535fb5af4364ee7bd89e950768f71fe1ccf1860d0826d8934b283745ca22abae147852a7b779081373b40be4f
DIST earthly-0.8.8-deps.tar.zst 180214607 BLAKE2B f407dcc4cb8daee7ac53433af830b6c872b0c9e1e05004b2bc4c8706eb98b65e457f7bea2b221e6c4cf4dfe8bb218a5ca60e85beb1f7839cb0ffaadaf8110ad3 SHA512 6a9d0eb7a69b36cca2f79d3f92e21f9f97d858451308f7151e4810c479105b7dad3fe2ad1b8a90a6ca9f0c7d3d06a8f89cd3eab4fde54e10fae2e3ea98fbb7bb
DIST earthly-0.8.8.tar.gz 8069650 BLAKE2B 05dca12e206a22c522d36711cb960525bb20c51439dd73c8ec4a96151c306022483ade55ebe80f30d85acba3c1531b0c9b97115702c6bfc96daa615d9b798d31 SHA512 9a19ddfcaa40720b1cbab166e40a6300a79d38245074bd111082eaa04206ae8020c7596ad5801f3048e3a411cbcd88b161d8c01375e4b00192b8cf2b23e62e77

@ -23,7 +23,7 @@ SRC_URI="
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
RDEPEND="
|| (

@ -0,0 +1,77 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Git commit SHA is needed at runtime by earthly to pull and bootstrap images.
if [[ "${PV}" == 0.8.8 ]] ; then
COMMIT_SHA=2718b793272cf8f80fa61071b41fec8469a7427b
else
die 'Could not detect "COMMIT_SHA", please update the ebuild.'
fi
inherit go-module unpacker
DESCRIPTION="Build automation tool that executes in containers"
HOMEPAGE="https://earthly.dev/
https://github.com/earthly/earthly/"
SRC_URI="
https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz
https://dev.gentoo.org/~xgqt/distfiles/deps/${P}-deps.tar.zst
"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
|| (
app-containers/docker
app-containers/podman
)
"
DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
src_unpack() {
unpacker "${P}-deps.tar.zst"
go-module_src_unpack
}
src_compile() {
local go_tags="dfrunmount,dfrunsecurity,dfsecrets,dfssh,dfrunnetwork,dfheredoc,forceposix"
local go_ldflags="
-X main.DefaultBuildkitdImage=docker.io/earthly/buildkitd:v${PV}
-X main.GitSha=${COMMIT_SHA}
-X main.Version=v${PV}
"
local -a go_buildargs=(
-tags "${go_tags}"
-ldflags "${go_ldflags}"
-o ./bin/
)
ego build "${go_buildargs[@]}" ./cmd/...
}
src_install() {
exeinto /usr/bin
doexe bin/earthly
newexe bin/debugger earthly-debugger
einstalldocs
}
pkg_postinst() {
if has_version "app-containers/podman" ; then
ewarn "Podman is supported but not recommended."
ewarn "If issues arise, then please try running earthly with docker."
fi
if has_version "app-containers/podman[rootless]" ; then
ewarn "Running podman in rootless mode is not supported because"
ewarn "earthly/dind and earthly/buildkit require privileged access."
ewarn "For more info see: https://docs.earthly.dev/docs/guides/podman/"
fi
}

@ -1,3 +1,3 @@
DIST podman-4.9.4.tar.gz 21733620 BLAKE2B 17d099c0a13fbbb77556742313c39995127fc97b4086ef3c2d74a92cc0a4f825a6c729dd099c6d4f4cd3d2ebfd470494babdeaa85a5653b327ea1a16fb5ea993 SHA512 7b52555789a1c214fcf26b0826bdda6cf0ccca588f87c0f15ac5e8358ddac625e17cafbe6a43de07cad964e1418b5ee0d2e38a5cb5dc6f6d4e638399749a7f7b
DIST podman-5.0.0.tar.gz 21861935 BLAKE2B 1ec7006f272f5da7f93929bc543cd8988d6f9596cb868e9561578ebef85d51cbd6baa4b66571872fc9748c639ca636ce27f6d90303707f04caa321c7b71db81a SHA512 8800d96d668cbc7a7ff85a09c71b3307a280c124513fd02fe478f415cf8db43ee47dc7e9c3b75046c6bda9f916937a2cc59887c2c4b26766c2f770abb87fd7ce
DIST podman-5.0.1.tar.gz 21863115 BLAKE2B 433949d70e7984a278d5231fe4a480d0c758a67e6df30f587f25da727440ba944cf38bb979ab6b6375f0ba65038c6b4c5a8ca73c6bc73df57b92089c5f6c072e SHA512 4ab64beea9b23839caa35bf8ec0f097ed16b4d2f448ce16039bb55672ac8b1d8d8cadf86c21eb32dc2c1d30dabb5b57a141823aa5fc3f14f09741f76cffa6023
DIST podman-5.0.2.tar.gz 23811875 BLAKE2B e943eb36eb0b80332223afc5d971c0886f6eaffeb7133c634d28c0a38e9aae6a54266691067dbca7684882f8b6dad72c3d5de2287ec5a7e8fb4b1cfd96df0b4d SHA512 70dbac9fc81d66eb9b0a5174f5776b805397005cacca917674d2b001591fadd05a776c956e693bad932e9eefe591c35da5c566e8e9e01db8be42bc454cd03104

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="https://github.com/p11-glue/p11-kit/releases/download/${PV}/${P}.tar.xz
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+libffi gtk-doc nls systemd test"
RESTRICT="!test? ( test )"

@ -0,0 +1,68 @@
From 4dec5295361d753c3466bc9e8b0ae3a3cc58dff5 Mon Sep 17 00:00:00 2001
From: Juergen Repp <juergen_repp@web.de>
Date: Thu, 4 Apr 2024 09:42:51 +0200
Subject: [PATCH] test eventlog.sh Fix accidental deletions.
* Accidental deletions made in commit 196e3d439407e81040ced054a8ed302489348a9d
are undone.
* python3 is used as default instead of python.
Signed-off-by: Juergen Repp <juergen_repp@web.de>
---
test/integration/tests/eventlog.sh | 33 ++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/test/integration/tests/eventlog.sh b/test/integration/tests/eventlog.sh
index 9d5290f0..e7c13706 100755
--- a/test/integration/tests/eventlog.sh
+++ b/test/integration/tests/eventlog.sh
@@ -3,7 +3,7 @@
set -E
shopt -s expand_aliases
-alias python=${PYTHON-python}
+alias python=${PYTHON-python3}
yaml_validate() {
cmd=$1
@@ -88,7 +88,36 @@ expect_pass() {
expect_fail
expect_fail foo
expect_fail foo bar
-expect_fail ${srcdir}/test/integration/fix
+expect_fail ${srcdir}/test/integration/fixtures/event-bad.bin
+
+expect_pass ${srcdir}/test/integration/fixtures/specid-vendordata.bin
+expect_pass ${srcdir}/test/integration/fixtures/event.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-uefivar.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-uefiaction.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-uefiservices.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-uefi-sha1-log.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-bootorder.bin
+expect_pass ${srcdir}/test/integration/fixtures/event-postcode.bin
+
+# Make sure that --eventlog-version=2 works on complete TPM2 logs
+expect_pass ${srcdir}/test/integration/fixtures/event-arch-linux.bin --eventlog-version=2
+expect_pass ${srcdir}/test/integration/fixtures/event-gce-ubuntu-2104-log.bin --eventlog-version=2
+expect_pass ${srcdir}/test/integration/fixtures/event-sd-boot-fedora37.bin --eventlog-version=2
+expect_pass ${srcdir}/test/integration/fixtures/event-moklisttrusted.bin --eventlog-version=2
+
+# Pick an event with leading whitespace and validate we have
+# preserved it correctly after parsing the YAML
+event=$(yaml_validate "print(y['events'][80]['Event']['String'])" < ${srcdir}/test/integration/fixtures/event-moklisttrusted.bin.yaml | tr -d '\0')
+expect=$(echo -e "grub_cmd: menuentry UEFI Firmware Settings --id uefi-firmware {\n\t\tfwsetup\n\t}")
+if test "$event" != "$expect"
+then
+ echo "Got $event"
+ echo "Want $expect"
+ exit 1
+fi
+
+# Compare strings generated by tpm2_eventlog with binary data of the corresponding
+# events.
hex_file="${srcdir}/test/integration/fixtures/event-moklisttrusted-hex.yaml"
tool_file="${srcdir}/test/integration/fixtures/event-moklisttrusted.bin.yaml"
--
2.43.2

@ -42,6 +42,7 @@ PATCHES=(
"${WORKDIR}/${PN}-5.6-tpm2_eventlog-Create-raw-and-pretty-print-format-for.patch"
"${FILESDIR}/${PN}-5.6-Makefile-am-Dont-require-pandoc-for-tests.patch"
"${FILESDIR}/${PN}-5.6-bashism.patch"
"${FILESDIR}/${PN}-5.6-test-eventlog.sh-Fix-accidental-deletions.patch"
)
python_check_deps() {
@ -73,7 +74,8 @@ src_install() {
local utils=( "${ED}"/usr/bin/tpm2_* )
utils=("${utils[@]##*/}")
# these utiltites don't have bash completions
local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest tpm2_sessionconfig )
local nobashcomp=( tpm2_encodeobject tpm2_getpolicydigest\
tpm2_sessionconfig tpm2_tr_encode)
mapfile -d $'\0' -t utils < <(printf '%s\0' "${utils[@]}" | grep -Ezvw "${nobashcomp[@]/#/-e}")
bashcomp_alias tpm2 "${utils[@]}"
}

Binary file not shown.

@ -23,7 +23,7 @@ RDEPEND="
dev-qt/qtsingleapplication[X]
dev-qt/qtwidgets:5
dev-qt/qtxml:5
x11-libs/qscintilla
x11-libs/qscintilla[qt5(+)]
"
DEPEND="${RDEPEND}"
BDEPEND="dev-qt/linguist-tools:5"

@ -1,9 +1,3 @@
DIST vscode-1.87.2-amd64.tar.gz 140710466 BLAKE2B 576be13495b91cbb0a0e9033a3872a311293a1dfc579d52e9eedd28ffbc40d4949e420e7b5439263b6ecce3f2b175247647732e6057f98367eb294b9aa8a8945 SHA512 c9f4a1cccf7df1cc152b41f77f9fed8752aacd848060464165a12f161d2df88cbae8ba447f43ca0285777e6e05125e79d054557fbe4b26e660a9544ba9a26c75
DIST vscode-1.87.2-arm.tar.gz 126088523 BLAKE2B bf319c10c244387ec5f1f4fa21951b497bed1757e51fa90f54e50376f991daff54b2dba9bb410d27183c4598c187d12ed45794ad32b97c83fb2173d9fac2dc09 SHA512 a41a9f200cecc3dbe7c30c13b3d3a8c564dd3f526dd7969c1c6d83313ce1bdd052a94295897a4f2c5810b7a6bf36255234523477990c0db821d6913c50eda6a2
DIST vscode-1.87.2-arm64.tar.gz 137662384 BLAKE2B af725963c3dc71d50efa5ff3cc7a3995a45a9d2846f736b1a26c02b2c9b7f1567831a75bb4896398c45f9cb5fcadf6e7d17114b50065155d9f80d8015ce25d1d SHA512 b99be940c5d5ebc8c39e1c52eaa49930bffcbaae41bd071e8aca2d1b08ff14c2ce8fda75f8f2e74a495ca59218045643ec91e7b2c4fe4b2ffeaaf33fddb5ed7c
DIST vscode-1.88.0-amd64.tar.gz 142821004 BLAKE2B 77a683594fe68b95c2525b1fc6095f5ada366e17113ef324f6e3bf4ebe9b1e2f642bdca1c59a284538b5e868840e4a075ab6bc899a6687a773e1f7001363c956 SHA512 56c8f8e3b84e1332c094b65fe66b1d73e5bf15312d49dcd9dce43f722c71522bbd538c333c9cb6c48151d54ed71d0bcf4ba724a6977a0610ff7f40728ba310eb
DIST vscode-1.88.0-arm.tar.gz 128137355 BLAKE2B 84264085419b461b6ab50096c8c1f07945b22bb32afcd03e26e340259052889cfe333244ae387ebbdc236b18081e7f7ac3fd02421614e7877cd0bfa6e7dbc088 SHA512 65a3765327b61233f36f856ae674e516a5049e4013c08e7be37fdf6e8c529b3c3910bac31f0c4e0998f96c03b5ac61d0aac98b9d1f3cfc53b302697ab41257d1
DIST vscode-1.88.0-arm64.tar.gz 139085528 BLAKE2B 7f002d28e92f1b372f488616cd9e1c7169c3bd3d07b47ec448a9adc2cc87e829bd1d5a067c40b4792bef93e3daee9b4457104e6dd527f36505615af00a86138c SHA512 7ce8ab674c16de100041ea2bdbb0fa4033c1b28154a67e6ee1b8cb68063b60f5d5ed3bc95c311081a78f1ee29e504aa7977564a43e76576709dcf2213d7acdf0
DIST vscode-1.88.1-amd64.tar.gz 142835966 BLAKE2B f78ed2a0a68d9c632ac1b8c811647696da2f9d86d1c171fdc1a0ea75f77872bb5e9a860020a49c0e3a3cfcafd85f9cf9da3300326b1e08077bc6f1eeb1c53f64 SHA512 5730981a13d72a317c180b566ec0d3408e75bb80eb37dd7de58e2beb4492ab59df9009cff92b3ac1cb4283f66868d793bdffc0689248fb3630e9cf55bfcc7bab
DIST vscode-1.88.1-arm.tar.gz 128139341 BLAKE2B 36da83b891554c2e4090e70635f7c241e20dd5be0beddcf15df32563ef47e20e5de3f4cef874b2b0ebf49702582cb604e7a4e2355d5a46ecc8f934de42b49c1e SHA512 79e181b0c8603c06605eaa1901527bb5da593c40ce2a830b36f80911648736125c5f12ec98fe9ca61edeea051f5ab8cd172983a0228800b32a718ef4a00ef089
DIST vscode-1.88.1-arm64.tar.gz 139073832 BLAKE2B 884231acc011963151ca6121243c459415b261158ee01056cbc7316f4ac7f05fe65583500d6f2cc9967975fd5ff063b02c2b7bd85aa2e2614d844f72385cb672 SHA512 af02536c815e78c12ffeb5f472e63f7390cb619e772256d00cf130898fb836a853fe9fd6362540d1dd1384949e13ca261a98da6abdf8781e62e981ab47847eaf

@ -1,132 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop pax-utils xdg optfeature
DESCRIPTION="Multiplatform Visual Studio Code from Microsoft"
HOMEPAGE="https://code.visualstudio.com"
SRC_URI="
amd64? ( https://update.code.visualstudio.com/${PV}/linux-x64/stable -> ${P}-amd64.tar.gz )
arm? ( https://update.code.visualstudio.com/${PV}/linux-armhf/stable -> ${P}-arm.tar.gz )
arm64? ( https://update.code.visualstudio.com/${PV}/linux-arm64/stable -> ${P}-arm64.tar.gz )
"
S="${WORKDIR}"
LICENSE="
Apache-2.0
BSD
BSD-1
BSD-2
BSD-4
CC-BY-4.0
ISC
LGPL-2.1+
Microsoft-vscode
MIT
MPL-2.0
openssl
PYTHON
TextMate-bundle
Unlicense
UoI-NCSA
W3C
"
SLOT="0"
KEYWORDS="-* amd64 ~arm ~arm64"
IUSE="egl kerberos wayland"
RESTRICT="mirror strip bindist"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libcanberra[gtk3]
media-libs/libglvnd
media-libs/mesa
net-misc/curl
sys-apps/dbus
sys-libs/zlib
sys-process/lsof
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/pango
x11-misc/xdg-utils
kerberos? ( app-crypt/mit-krb5 )
"
QA_PREBUILT="*"
src_install() {
if use amd64; then
cd "${WORKDIR}/VSCode-linux-x64" || die
elif use arm; then
cd "${WORKDIR}/VSCode-linux-armhf" || die
elif use arm64; then
cd "${WORKDIR}/VSCode-linux-arm64" || die
else
die "Visual Studio Code only supports amd64, arm and arm64"
fi
# Cleanup
rm -r ./resources/app/ThirdPartyNotices.txt || die
# Disable update server
sed -e "/updateUrl/d" -i ./resources/app/product.json || die
if ! use kerberos; then
rm -r ./resources/app/node_modules.asar.unpacked/kerberos || die
fi
# Install
pax-mark m code
mkdir -p "${ED}/opt/${PN}" || die
cp -r . "${ED}/opt/${PN}" || die
fperms 4711 /opt/${PN}/chrome-sandbox
dosym -r "/opt/${PN}/bin/code" "usr/bin/vscode"
dosym -r "/opt/${PN}/bin/code" "usr/bin/code"
local EXEC_EXTRA_FLAGS=()
if use wayland; then
EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" "--enable-wayland-ime" )
fi
if use egl; then
EXEC_EXTRA_FLAGS+=( "--use-gl=egl" )
fi
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/code-url-handler.desktop" \
> "${T}/code-url-handler.desktop" || die
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/code.desktop" \
> "${T}/code.desktop" || die
domenu "${T}/code.desktop"
domenu "${T}/code-url-handler.desktop"
newicon "resources/app/resources/linux/code.png" "vscode.png"
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "desktop notifications" x11-libs/libnotify
optfeature "keyring support inside vscode" "virtual/secret-service"
}

@ -1,132 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop pax-utils xdg optfeature
DESCRIPTION="Multiplatform Visual Studio Code from Microsoft"
HOMEPAGE="https://code.visualstudio.com"
SRC_URI="
amd64? ( https://update.code.visualstudio.com/${PV}/linux-x64/stable -> ${P}-amd64.tar.gz )
arm? ( https://update.code.visualstudio.com/${PV}/linux-armhf/stable -> ${P}-arm.tar.gz )
arm64? ( https://update.code.visualstudio.com/${PV}/linux-arm64/stable -> ${P}-arm64.tar.gz )
"
S="${WORKDIR}"
LICENSE="
Apache-2.0
BSD
BSD-1
BSD-2
BSD-4
CC-BY-4.0
ISC
LGPL-2.1+
Microsoft-vscode
MIT
MPL-2.0
openssl
PYTHON
TextMate-bundle
Unlicense
UoI-NCSA
W3C
"
SLOT="0"
KEYWORDS="-* amd64 ~arm ~arm64"
IUSE="egl kerberos wayland"
RESTRICT="mirror strip bindist"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libcanberra[gtk3]
media-libs/libglvnd
media-libs/mesa
net-misc/curl
sys-apps/dbus
sys-libs/zlib
sys-process/lsof
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/pango
x11-misc/xdg-utils
kerberos? ( app-crypt/mit-krb5 )
"
QA_PREBUILT="*"
src_install() {
if use amd64; then
cd "${WORKDIR}/VSCode-linux-x64" || die
elif use arm; then
cd "${WORKDIR}/VSCode-linux-armhf" || die
elif use arm64; then
cd "${WORKDIR}/VSCode-linux-arm64" || die
else
die "Visual Studio Code only supports amd64, arm and arm64"
fi
# Cleanup
rm -r ./resources/app/ThirdPartyNotices.txt || die
# Disable update server
sed -e "/updateUrl/d" -i ./resources/app/product.json || die
if ! use kerberos; then
rm -r ./resources/app/node_modules.asar.unpacked/kerberos || die
fi
# Install
pax-mark m code
mkdir -p "${ED}/opt/${PN}" || die
cp -r . "${ED}/opt/${PN}" || die
fperms 4711 /opt/${PN}/chrome-sandbox
dosym -r "/opt/${PN}/bin/code" "usr/bin/vscode"
dosym -r "/opt/${PN}/bin/code" "usr/bin/code"
local EXEC_EXTRA_FLAGS=()
if use wayland; then
EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" "--enable-wayland-ime" )
fi
if use egl; then
EXEC_EXTRA_FLAGS+=( "--use-gl=egl" )
fi
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/code-url-handler.desktop" \
> "${T}/code-url-handler.desktop" || die
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/code.desktop" \
> "${T}/code.desktop" || die
domenu "${T}/code.desktop"
domenu "${T}/code-url-handler.desktop"
newicon "resources/app/resources/linux/code.png" "vscode.png"
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "desktop notifications" x11-libs/libnotify
optfeature "keyring support inside vscode" "virtual/secret-service"
}

@ -34,7 +34,7 @@ LICENSE="
W3C
"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm ~arm64"
KEYWORDS="-* amd64 ~arm ~arm64"
IUSE="egl kerberos wayland"
RESTRICT="mirror strip bindist"

@ -1,9 +1,6 @@
DIST vscodium-1.87.2.24072-amd64.tar.gz 129360253 BLAKE2B ba23577ac6bca179521e817980deece287774fe6124cd8795ac1332773991b17c53ec4ad459616c62e0eb28612e9489321ab350cc3b84659ebecef508c3d474b SHA512 ad1a069f8b27045b200f8816a310b91e03b9c8d6cee7f5983fe7498111dcc9a3f2ec542d40adf0e61421757553e0fc6c43386d294f09c1c321a9c3efa95eca6e
DIST vscodium-1.87.2.24072-arm.tar.gz 116213887 BLAKE2B 49700f4be28780e61d1d82f606a07f5053399ca045da04a9764c69c9cbac25e4fc9b6e4eadc73b107c01d6ee2133fd353dfc352c05e7bebbfc4224c72a0ad8e6 SHA512 f926a74a4c83b5686f71488cb9a97dcd425a68252425b45000219f5cd5c4bc614ef2497310031142cc5af9cfc4eadc82e63f546f2c8eae6e04f513b2a7ab7a8e
DIST vscodium-1.87.2.24072-arm64.tar.gz 127551847 BLAKE2B 7f8bcc64d094f7d88cb34abfa67530933a4e4452321a979a9c8b718fe728dfa0c5c67448e7f10c5bdb68b255521fa677b0fc0d8576b5281daf91ec38e2dcbb9a SHA512 8140c021fd2730b25428d7beb03db679c25bf0e8678a4641f9db55015faf79377c2c23b03121d51ea063162e4dc93872f92ac1d4e2dead36722d44e4a802790b
DIST vscodium-1.88.0.24096-amd64.tar.gz 129277895 BLAKE2B 8f7b2315fd55595c0d9b1e8925ed057847b08a3bc872a46dd99798af4e3a8b13dc45b6acf603b82b08b2756d6a944b848d27347ebc2a818b9a8ceedb577d20cc SHA512 53627ff4715e85142ea5b021a38af254d279a15046e4153538043ec2bfb82dbd8a7490f7dda4ebc6eac56f54fb435cfeb3b7ddddf08539855a055d4cbed13da1
DIST vscodium-1.88.0.24096-arm.tar.gz 118180248 BLAKE2B b9ab1f070541b56534c0568609428d24930bb3729e659677aaa48e11890ce91fa5c3ad487cc60927caf84fa90ff79e791181e7047cb6f8f2e55608cb929d4ad6 SHA512 eaa29c3793dae51cde6a5b9f1194fa58ec800e3eb68be2ff3178a05b78690d47b86884a8f8b155198ba8ec7bbd2fdc4d4e1d71875c2469c64189fad6c7fb53bb
DIST vscodium-1.88.0.24096-arm64.tar.gz 128995233 BLAKE2B 0e566579e2fc11a017ca9e5d0fc21d9298b87ea5a6232bbb008d196bf943fcd4c06fe1308a0a181f6a5d497cb7e35c7ecc1901f76d73895bc572fe01c82edd84 SHA512 74f2f9504806d0d7cbb2dc4a51ef7e518b96e17e8d9f87fc569285493a2a3eb828dd15c56a773ca067590821ad27f6ecbe0ec89386cdd814ec5d6dbf524ccfe2
DIST vscodium-1.88.1.24102-amd64.tar.gz 129277427 BLAKE2B 5b1584a4b1707e4616515cf242d097a09b83fde6326d2d6ca43bf4f321b299d930e0d3744603ee1a1b6affa72aeecb7a231423116a631aa10b2660efc1f72638 SHA512 e30b983f11ed7567c4e3f21fa9d3574cb60675ac0c1a1b4764c4eea8baa40099d54377a398ad13972f77aab72880789deefbf9f559a8773c62be4fafe954ae48
DIST vscodium-1.88.1.24102-arm.tar.gz 118175032 BLAKE2B e1d53eecbfed89f48cbc65674261bb76470dbcac2c4a4a2e5a554beae42643d9a3b4a629872d9f220db0ac0fe7115385ce56663ef86b2d25d940b5ec000c8c21 SHA512 52ea09c2d761860febc1aa7bbb5edc0c6b6a2b8225e49d1c863de774bb6600cecc90bcdad25489d9eb99d4e2cf94f638d4482d539631126603ef5ffa8af1548d
DIST vscodium-1.88.1.24102-arm64.tar.gz 128995378 BLAKE2B 1a44737c071687a8126789caae088230c593a39bd49d915fc5b65431a36ccb7685c2f0ddeab8cc7a090acb6264c2b7fac0d6b8fcd270f4ba2ddfd0e3f3c1e02d SHA512 7c9d4f2acf07474fff03d129a8c63a9e663cb0ad0dc9a88020ea04c616f0bbd50586d690e2f7b4ebce6e0dcb5fdae8d620ef566abb5af14e1f7d0b6cc30968b1
DIST vscodium-1.88.1.24104-amd64.tar.gz 129280084 BLAKE2B 2d08d9008ef1c0f5890ddce171823cb6dd91b6b5cfdc4136783b8b97a50e7826e95b947b67bcdffb5900dea8718d20ccde6f46d73de295e48444790582ee7805 SHA512 0f7bfb93dabe29ae008d6bc8c571fa3fc7bc97b68eb5725a485dca283c019a7b9dd9ded5c55a9ce7e6ca58f48de1390a542068734acca1060b481cb1e3cb553c
DIST vscodium-1.88.1.24104-arm.tar.gz 118167766 BLAKE2B 3b992242adbb8271f7b647ebe2f36c3e3fb30539e69b921cbe981fe92c345f272b465123c4eb789e9e830b2517759deefa8d0bf0cd6ec75a72664a67c4499c53 SHA512 d8a63d8c78931937f487f35f3e4f56405b32d2813855c9752478639cb9abea374749cb22cad54bc5c395c6841032b4b42ce26b754161f91de9b1711ef1fdf1f1
DIST vscodium-1.88.1.24104-arm64.tar.gz 128990828 BLAKE2B 4cc567c7c6923a171a133a3176a24855cf5162a35f7d4160812f403fc66367950ee5dad58c08ae3028038dec850af9f42ef542e8698e0bb38b9c45873b3bec74 SHA512 d1e59e057d8882878260630bbf8373445c7c2812068af501a4f883d521f6868866d78a87423f96e51273f8c3f76169dbc4ed408c4c9cf085768e74a0c2d9d092

@ -1,129 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop pax-utils xdg optfeature
# Usage: arch_src_uri <gentoo arch> <upstream arch>
arch_src_uri() {
echo "${1}? (
https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-${2}-${PV}.tar.gz
-> ${P}-${1}.tar.gz
)"
}
DESCRIPTION="A community-driven, freely-licensed binary distribution of Microsoft's VSCode"
HOMEPAGE="https://vscodium.com/"
SRC_URI="
$(arch_src_uri amd64 x64)
$(arch_src_uri arm armhf)
$(arch_src_uri arm64 arm64)
"
S="${WORKDIR}"
LICENSE="
Apache-2.0
BSD
BSD-1
BSD-2
BSD-4
CC-BY-4.0
ISC
LGPL-2.1+
MIT
MPL-2.0
openssl
PYTHON
TextMate-bundle
Unlicense
UoI-NCSA
W3C
"
SLOT="0"
KEYWORDS="-* amd64 ~arm ~arm64"
IUSE="egl kerberos wayland"
RESTRICT="strip bindist"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/libcanberra[gtk3]
media-libs/libglvnd
media-libs/mesa
net-misc/curl
net-print/cups
sys-apps/dbus
sys-libs/zlib
sys-process/lsof
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libXScrnSaver
x11-libs/pango
x11-misc/xdg-utils
kerberos? ( app-crypt/mit-krb5 )
"
QA_PREBUILT="*"
src_install() {
# Cleanup license file - it exists only in amd64 tarball
rm -f "${S}/resources/app/LICENSE.txt" || die
if ! use kerberos; then
rm -rf "${S}/resources/app/node_modules.asar.unpacked/kerberos" || die
fi
# Install
pax-mark m codium
mkdir -p "${ED}/opt/${PN}" || die
cp -r . "${ED}/opt/${PN}" || die
fperms 4711 /opt/${PN}/chrome-sandbox
dosym -r "/opt/${PN}/bin/codium" "usr/bin/vscodium"
dosym -r "/opt/${PN}/bin/codium" "usr/bin/codium"
local EXEC_EXTRA_FLAGS=()
if use wayland; then
EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" )
fi
if use egl; then
EXEC_EXTRA_FLAGS+=( "--use-gl=egl" )
fi
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/vscodium-url-handler.desktop" \
> "${T}/vscodium-url-handler.desktop" || die
sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \
"${FILESDIR}/vscodium.desktop" \
> "${T}/vscodium.desktop" || die
domenu "${T}/vscodium.desktop"
domenu "${T}/vscodium-url-handler.desktop"
newicon "resources/app/resources/linux/code.png" "vscodium.png"
}
pkg_postinst() {
xdg_pkg_postinst
elog "When compared to the regular VSCode, VSCodium has a few quirks"
elog "More information at: https://github.com/VSCodium/vscodium/blob/master/DOCS.md"
optfeature "desktop notifications" x11-libs/libnotify
optfeature "keyring support inside vscode" "virtual/secret-service"
}

Binary file not shown.

@ -16,7 +16,7 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/minad/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+"

@ -17,7 +17,7 @@ else
SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~x86"
fi
LICENSE="GPL-3+"

@ -15,7 +15,7 @@ SRC_URI="
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
RDEPEND="
app-text/enchant:2

@ -11,7 +11,7 @@ SRC_URI="https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}.tar.xz"
LICENSE="GPL-3+ FDL-1.2+ GPL-2 MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
KEYWORDS="amd64 ppc x86"
RDEPEND="
app-emacs/htmlize

@ -1,2 +1,3 @@
DIST org-mode-release_9.6.23.tar.gz 2212912 BLAKE2B 50f387e72650561c0d76068d4c98c406560f3523e9680b4eebc8a2baa0c445a64eeb3934062f721325afe02ab0ec46d7cdff7bdf2f4f19740c130beee496d26f SHA512 60e9abdaa195a21707dbcb44cf0a30f330307455ecf63ea67db09e19efc171bb670dc31c70baca191c2a35890004871f6513fbeeff890bb18cf92b251dae8ec1
DIST org-mode-release_9.6.24.tar.gz 2212983 BLAKE2B 3b780973b68853738b6d74162c100eff4ddb7777c13e9c2a927edbeabebf7763c6a32abc43f7e38fae986a9cbc20926d4b40b54131f0e4acd1fc16f5d62b4b5c SHA512 85696fb49a9764d8163316ae03db02a3324ac828fd11cfda509aaef4ff3af6c7c4aaad0857d225216bc7dd672cf89817b007b63ea78092804abf93475e56e171
DIST org-mode-release_9.6.26.tar.gz 2213217 BLAKE2B a4972b4c9647fc816506cc8aebab8d21e0ef461dbf8a0dcaed789c6451ee54464eaa99f59581bc39256b68c8d66c133c60c3c523ac4a31725e7002ccdc6e51b5 SHA512 3b612b3af272c0633d8e11ed210c16218250c3f5b6be7f800659a767ebfc77ebb01bdaf649045ac9ab7edf1bb8a9c7386a8c04eaafe12d943bf48989670ca20d

@ -0,0 +1,50 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp readme.gentoo-r1
DESCRIPTION="An Emacs mode for notes and project planning"
HOMEPAGE="https://www.orgmode.org/"
MY_P="${PN}-release_${PV}"
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,26 +0,0 @@
index 2ecaef5..8178375 100644
--- a/package-lint.el
+++ b/package-lint.el
@@ -106,13 +106,15 @@ a backport library shipping the feature and VERSION is an
optional minimum version containing the feature.")
(defconst package-lint-symbol-info
- (let* ((stdlib-changes (with-temp-buffer
- (insert-file-contents
- (expand-file-name "data/stdlib-changes"
- (if load-file-name
- (file-name-directory load-file-name)
- default-directory)))
- (read (current-buffer))))
+ (let* ((stdlib-changes
+ (with-temp-buffer
+ (insert-file-contents
+ (let ((siteetc-stdlib-changes
+ (expand-file-name "data/stdlib-changes" "@SITEETC@")))
+ (if (file-exists-p siteetc-stdlib-changes)
+ siteetc-stdlib-changes
+ (expand-file-name "data/stdlib-changes" default-directory))))
+ (read (current-buffer))))
(info (make-hash-table)))
(pcase-dolist (`(,version . ,data) stdlib-changes)
(pcase-dolist (`(,syms . ,action)

Binary file not shown.

@ -2,3 +2,4 @@ DIST VBoxGuestAdditions_6.1.48.iso 63969280 BLAKE2B 7bba272d427a6a91cd4d63c5d494
DIST VBoxGuestAdditions_6.1.50.iso 64051200 BLAKE2B 9eff4a3643579ee0426dbe2b62247b8c89321be495e61469628574445fedc06ff2fb9afa108705cbaf24a13db99b4e6e850c61e5c97343095549f444831fcf62 SHA512 d74ce912dbbcef7f644a9f3ba9917782336cbee8e0756727a8753ffc17486a75e833adaa869e205531bc3b81b9cb26aa9b50f44210e78dceece966687122f6c6
DIST VBoxGuestAdditions_7.0.12.iso 53448704 BLAKE2B 1b738c648c902c1a98d83dc9525c7e091cd2234aa67f464a4beb3d6bd9bbb6893fe02eee4a37a05eae8e880efc6c834931a7ec7f08ae7b1615b1a622117767a2 SHA512 7f5db8f73bc2c89ad798fd2ec3543c460aa3fd3e44f02c04c334539172699af08c16312d96b6fdd5c561bc3d8133fc7a3662e51a86f82980d692f050286e0e7e
DIST VBoxGuestAdditions_7.0.14.iso 53526528 BLAKE2B 2ec95d9261d3a7f762f333c1e3eb36f7b75cfd7cf722d1bdcd5c0b38a3a311db82b728fe800aed79b41b979ec345cd2586e3fd8c2d2c54f8b83516061d81d304 SHA512 5aa80b04c567d383793c560eb535babd1ebc4f472aaa51753867dbee00e1f5a3efeb5dd4c9eb1a48149ff0fa2e7598aa68792d3da9959709b619d234c2b57544
DIST VBoxGuestAdditions_7.0.16.iso 53528576 BLAKE2B a57b056f540e949574f78cee476240b9bab8a151a32f90412d9dd8acfaa40407c45bee037eb14192a0304a30ff0938625df586c48be9997cf545809cb30fa300 SHA512 12aead8c363d7ca33c3cc52d84ee86cfbd2db98ab84942d24fd5aa841dd2aaa0fb3075aa9b7188db3df1cac11de475c4e56d270ea9dc9f6663c9e9e7236bf9fe

@ -0,0 +1,25 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PN=VBoxGuestAdditions
MY_P=${MY_PN}_${PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso"
S="${WORKDIR}"
LICENSE="GPL-3 || ( GPL-3 CDDL )"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -2,3 +2,4 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.48.tar.gz 11166368 BLAKE2B 5c1ced17
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.50.tar.gz 11175855 BLAKE2B 898ef92a91dbfb39079f8dfa5f4c1e6d91df66e92deb00849ba1da8a2278e3adcfd5754bf70acc6d8b6d7d6273923999860b71c01de3eaabf4d487d718aa14ef SHA512 818f0564a8ee1266f2d03d6e0d5df44278746067ae86279f6e884f519ad3e923382c7b987b3a58fe95e2aa4f0a53b98d553106b0250923e88989e5fdaa9dc3ae
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.12.tar.gz 18245684 BLAKE2B 6a55307034da5510d47bbf57bf557308be5c0459bbb21d0c79cc769a0f1ebae1e26c3202e23da17cd900b0ca88dbc653d2be0297817b79b61f426c6c5880c43a SHA512 0d311ed94a52d02634050f309886d6c5b627151b7e85a50e81a602c02c9400f01c1dfc21a7f52f33e50c2e27df96213f5b97cb3edc82f784ef171796c3ae6d56
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.14.tar.gz 18331089 BLAKE2B 278341be074c7bb276b90034355da3a55e2ef5efd89ad9a26a8f53b6743890772e1486ed5552ec131a8c80a710405dac284789d71a6c3bbec2dd79cf0e7e0459 SHA512 9301300dd1c2a178c730045128574b99a4a6cd1c2dd3f6a5782a78fa08588a4c5fd9c9ff6b2dbeba04747de915e3342ebbd08a4b9ed4641ff60f90f6a5c7fc3d
DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.16.tar.gz 18331063 BLAKE2B efacd03316b4a71e98fe41509851fe00227d6a935dbf5f8834e6aa32d5b0added25bc9282fdeff9f046ffba7775dc49d8ebc3fef497f88dc6cdbcc720f92c077 SHA512 50ca8f0961fcb7a7db1864faad99b9e0b00e06f9f7e1e377897d92353029e3d7d4a9acf07a2f7abd304fed1fa38e2acdad67b4ca73d645196feddf81c54366eb

@ -0,0 +1,33 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PV="$(ver_cut 1-3)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
S="${WORKDIR}"
LICENSE="PUEL-11"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
RESTRICT="bindist mirror strip"
RDEPEND="
|| (
=app-emulation/virtualbox-${MY_PV}*
=app-emulation/virtualbox-kvm-${MY_PV}*
)
"
QA_PREBUILT="usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -2,6 +2,8 @@ DIST VirtualBox-6.1.48.tar.bz2 165960987 BLAKE2B c981e390ae518b829970827f6032fb1
DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
DIST VirtualBox-7.0.12.tar.bz2 175644088 BLAKE2B 507cbf7b1a8a807bd2602e74bc19a59cb177b9b2bdefa1be582e520666360a42510ca501f20c354746a0f1dadf61fe29135e3edc867e611bfe60a9405cb2bbce SHA512 9fe4511442eba788d02f932f5e98cfcc5aa4ebed41c00bd7333cf7e3f5de787e458f1f56930978283f041f403652c803143335fe9120ab63a2c113ca7b3f588f
DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0efef5de2ac1eacec73571bc658955f23fff347fa60c37ec78c58bf94b82b8f9a95fb26c07ef4becc7e9f535af069151f5 SHA512 1b8ba08bec144cbd1f2e9aa0929cdf60a0b99930f1dd80567094fba75097d87661aef3da2cc24f4abff6b6db8f186e251c5f693a2a93943cc39909d5f1e1bce5
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
DIST virtualbox-patches-7.0.8.tar.bz2 2733 BLAKE2B 044dfe02a5bd5e757091318b394b0e5918677b5bbce9caef4a18d4d8df54821559f0df6ffbdd6f52d4934bc4018e9c9d908571c5d3d8804fd3b0f22a7a1aed84 SHA512 93a06aa3f9508d3a8743ca8494a958159b5bc3fd7a0a08ff23414d05c4f31084cf0f1c82a3866e222c83e6996ba004546f0bd33c6eb9a90eec8e548b8b3f2fbf

@ -0,0 +1,290 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
MY_PN="VirtualBox"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2"
S="${WORKDIR}/${MY_PN}-${PV}"
# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64 ~x86"
IUSE="+dbus gui"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
# TODO: find out what this is, remove comment if obsolete
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
sys-libs/pam
sys-libs/zlib
dbus? ( sys-apps/dbus )
gui? (
x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libX11
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
)
"
# some libs here are indirect dependencies, and also needed at compile time.
# keeping them in DEPEND to avoid warnings from qa-vdb.
DEPEND="
${RDEPEND}
gui? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libXau
x11-libs/libXdmcp
x11-base/xorg-proto
)
"
BDEPEND="
>=dev-lang/yasm-0.6.2
>=dev-build/kbuild-0.1.9998.3127
sys-devel/bin86
sys-power/iasl
"
DOCS=() # Don't install the default README file during einstalldocs
VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
DOC_CONTENTS="\n
Please add users to the \"vboxguest\" group so they can\n
benefit from seamless mode, auto-resize and clipboard.\n
\n
The vboxsf group has been added to make automount services work.\n
These services are part of the shared folders support.\n
\n
Please add:\n
/etc/init.d/virtualbox-guest-additions\n
to the default runlevel in order to start\n
needed services.\n
\n
An autostart .desktop file has been installed to start\n
VBoxClient in desktop sessions.\n
\n
You can mount shared folders with:\n
mount -t vboxsf <shared_folder_name> <mount_point>\n
\n
Warning:\n
this ebuild is only needed if you are running gentoo\n
inside a VirtualBox Virtual Machine, you don't need\n
it to run VirtualBox itself.\n
\n"
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Provide kernel sources
pushd src/VBox/Additions &>/dev/null || die
ebegin "Extracting guest kernel module sources"
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null
eend $? || die
popd &>/dev/null || die
# PaX fixes (see bug #298988)
eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
if ! use gui; then
echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
fi
# Remove pointless GCC version check
sed -e '/ check_gcc$/d' -i configure || die
# Respect LDFLAGS (bug #759100)
sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die
eapply "${WORKDIR}/virtualbox-patches-7.0.16/patches"
eapply_user
}
src_configure() {
tc-export AR CC CXX LD RANLIB
# Build the user-space tools, warnings are harmless
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
$(usev !dbus --disable-dbus)
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
# bug #843437
# Respect LDFLAGS (bug #759100)
# Cannot use LDFLAGS here because they also get passed to $(LD)
cat >> LocalConfig.kmk <<-EOF || die
CFLAGS=${CFLAGS}
CXXFLAGS=${CXXFLAGS}
CCLDFLAGS=${LDFLAGS}
EOF
edo ./configure "${myconf[@]}"
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
local myemakeargs=(
VBOX_BUILD_PUBLISHER=_Gentoo
VBOX_ONLY_ADDITIONS=1
KBUILD_VERBOSE=2
AS="$(tc-getCC)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
LD="$(tc-getCC)"
TOOL_GCC3_CC="$(tc-getCC)"
TOOL_GCC3_CXX="$(tc-getCXX)"
TOOL_GCC3_LD="$(tc-getCC)"
TOOL_GCC3_AS="$(tc-getCC)"
TOOL_GCC3_AR="$(tc-getAR)"
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
#TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
TOOL_GXX3_CC="$(tc-getCC)"
TOOL_GXX3_CXX="$(tc-getCXX)"
TOOL_GXX3_LD="$(tc-getCXX)"
TOOL_GXX3_AS="$(tc-getCXX)"
TOOL_GXX3_AR="$(tc-getAR)"
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
#TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)"
TOOL_GCC3_CFLAGS="${CFLAGS}"
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
VBOX_GCC_OPT="${CXXFLAGS}"
VBOX_NM="$(tc-getNM)"
TOOL_YASM_AS=yasm
)
MAKE="kmk" emake "${myemakeargs[@]}"
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
# Move this here for bug 836037
local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
local modlist=( vboxguest vboxsf )
use gui && modlist+=( vboxvideo )
modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
linux-mod-r1_src_compile
}
src_install() {
linux-mod-r1_src_install
insinto /etc/modprobe.d # 485996
newins - vboxsf.conf <<-EOF
# modprobe.d configuration file for VBOXSF
# Internal Aliases - Do not edit
# ------------------------------
alias fs-vboxsf vboxsf
EOF
cd out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
if use dbus; then
newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
else
newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN}
fi
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use gui ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
doins VBoxDRMClient
fperms 4755 /usr/bin/VBoxDRMClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
readme.gentoo_create_doc
}
pkg_postinst() {
linux-mod-r1_pkg_postinst
udev_reload
if ! use gui ; then
elog "The use flag \"gui\" is off, enable it to install the"
elog "X Window System drivers and integration."
fi
readme.gentoo_print_elog
}
pkg_postrm() {
udev_reload
}

@ -1,4 +1,8 @@
DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0efef5de2ac1eacec73571bc658955f23fff347fa60c37ec78c58bf94b82b8f9a95fb26c07ef4becc7e9f535af069151f5 SHA512 1b8ba08bec144cbd1f2e9aa0929cdf60a0b99930f1dd80567094fba75097d87661aef3da2cc24f4abff6b6db8f186e251c5f693a2a93943cc39909d5f1e1bce5
DIST virtualbox-help-7.0.14.tar.xz 3944832 BLAKE2B 95079e4da8c960c41cee799142779a6c2587e0e8af7956ca551cb5a4c0f36f313189dfe08afba83a0c32886866a7f9903b5e370008d6b3ce6283fb2288866b06 SHA512 e2f1acdd7577a93047e220300b1996d2855ddef20053c01294f8295fde0840645c41b75632d71dd2fc276219084fe4105fd057623f39375542358796425a2d03
DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
DIST virtualbox-kvm-7.0.14_pre20240325.tar.gz 134926 BLAKE2B 3e707b272219b2c5703d91d1f6a2f0a6c54fe29eeb6e91e5830949f7260e5b409e3425c38daea568725cb7fd10ddee234af6b72d747206e0a98ac1e33a10028c SHA512 e30291e1d7e2649057a9b38ea907f22f62b0367f33d88af10fdaaa49333890be2b719626103f9800836a3833368a018f5fc63a46577dd1d83178d7406bf8c494
DIST virtualbox-kvm-7.0.16_pre20240325.tar.gz 134926 BLAKE2B 3e707b272219b2c5703d91d1f6a2f0a6c54fe29eeb6e91e5830949f7260e5b409e3425c38daea568725cb7fd10ddee234af6b72d747206e0a98ac1e33a10028c SHA512 e30291e1d7e2649057a9b38ea907f22f62b0367f33d88af10fdaaa49333890be2b719626103f9800836a3833368a018f5fc63a46577dd1d83178d7406bf8c494
DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992

@ -0,0 +1,768 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# To add a new Python here:
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
# Do NOT skip this part. It'll end up silently not-building the Python extension
# or otherwise misbehaving if you do.
#
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
#
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
# Python versions as upstream tends to lag. Upstream may have patches on their
# trunk branch but not release branch.
#
# See bug #785835, bug #856121.
PYTHON_COMPAT=( python3_{10..11} )
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
python-single-r1 tmpfiles toolchain-funcs udev xdg
PATCHES_PV="7.0.16"
ORIGIN_PN="VirtualBox"
ORIGIN_PV=${PATCHES_PV}
MY_PN=virtualbox
MY_PV=${PV#*_pre}
PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
ORIGIN_PV=${PATCHES_PV}
EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
else
ORIGIN_PV=${PV%_pre*}
PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
fi
MY_P=${ORIGIN_PN}-${ORIGIN_PV}
SRC_URI+="
https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
"
S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
SLOT="0"
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
unset WATCOM #856769
COMMON_DEPEND="
${PYTHON_DEPS}
acct-group/vboxusers
dev-libs/libtpms
dev-libs/libxml2
dev-libs/openssl:0=
media-libs/libpng:0=
media-libs/libvpx:0=
net-misc/curl
sys-libs/zlib
dbus? ( sys-apps/dbus )
gui? (
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qthelp:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtxml:5
x11-libs/libX11
x11-libs/libXt
opengl? ( dev-qt/qtopengl:5 )
)
lvm? ( sys-fs/lvm2 )
opengl? (
media-libs/libglvnd[X]
media-libs/vulkan-loader
x11-libs/libX11
x11-libs/libXt
)
pam? ( sys-libs/pam )
sdl? (
media-libs/libsdl2[X,video]
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXt
)
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
vde? ( net-misc/vde )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
# based on *DEPEND doesn't work for BDEPEND at least right now.
#
# There's a comment in Config.kmk about it
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
# but it needs more investigation.
#
# See bug #878299 to track this issue.
DEPEND="
${COMMON_DEPEND}
>=dev-libs/libxslt-1.1.19
virtual/libcrypt:=
alsa? ( >=media-libs/alsa-lib-1.0.13 )
gui? (
x11-base/xorg-proto
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
)
java? ( virtual/jdk:1.8 )
opengl? (
x11-base/xorg-proto
x11-libs/libXcursor
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
virtual/glu
)
sdl? ( x11-libs/libXinerama )
pulseaudio? ( media-libs/libpulse )
udev? ( >=virtual/udev-171 )
"
RDEPEND="
!app-emulation/virtualbox
${COMMON_DEPEND}
gui? ( x11-libs/libxcb:= )
java? ( virtual/jre:1.8 )
"
BDEPEND="
${PYTHON_DEPS}
>=app-arch/tar-1.34-r2
>=dev-lang/yasm-0.6.2
dev-libs/libIDL
dev-util/glslang
>=dev-build/kbuild-0.1.9998.3592
sys-apps/which
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
app-text/docbook-xsl-ns-stylesheets
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
dev-qt/qthelp:5
)
gui? ( dev-qt/linguist-tools:5 )
nls? ( dev-qt/linguist-tools:5 )
java? ( virtual/jdk:1.8 )
"
QA_FLAGS_IGNORED="
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_TEXTRELS="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
QA_EXECSTACK="
usr/lib64/virtualbox/iPxeBaseBin
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_WX_LOAD="
usr/lib64/virtualbox/iPxeBaseBin
"
QA_PRESTRIPPED="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
PATCHES=(
# Downloaded patchset
"${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
"${PATCHES_DIR}"/patches
)
pkg_pretend() {
if ! use gui; then
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
fi
if ! use opengl; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
if ! use nls && use gui; then
einfo "USE=\"gui\" also selects USE=\"nls\". This build"
einfo "will have NLS support."
fi
# 749273
local d=${ROOT}
for i in usr "$(get_libdir)"; do
d="${d}/$i"
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
die "${d} should be owned by root, VirtualBox will not start otherwise"
fi
done
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
}
src_unpack() {
[[ ${PV} == *9999* ]] && git-r3_src_unpack
default
}
src_prepare() {
default
# Only add nopie patch when we're on hardened
if gcc-specs-pie; then
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
fi
# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
rm -r kBuild/bin || die
# Remove everything in tools except kBuildUnits
find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${MY_PN}-5-localconfig > LocalConfig.kmk || die
if ! use pch; then
# bug #753323
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
>> LocalConfig.kmk || die
fi
# bug #916002, #488176
tc-ld-force-bfd
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam; then
einfo "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
fi
# add correct java path
if use java; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
#856811 #864274
# cannot filter out only one flag, some combinations of these flags produce buggy executables
for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
append-cflags $(test-flags-CC -mno-$i)
append-cxxflags $(test-flags-CXX -mno-$i)
done
# bug #908814
filter-lto
# bug #843437
cat >> LocalConfig.kmk <<-EOF || die
CXXFLAGS=${CXXFLAGS}
CFLAGS=${CFLAGS}
EOF
if use sdl; then
sed -i 's/sdl-config/sdl2-config/' configure || die
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
fi
#443830
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
if tc-is-clang; then
# clang assembler chokes on comments starting with /
sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
# clang does not support this extension
eapply "${FILESDIR}"/${MY_PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
fi
# fix doc generation
echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
# replace xhtml names with numeric equivalents
find doc/manual -name \*.xml -exec sed -i \
-e 's/&nbsp;/\&#160;/g' \
-e 's/&ndash;/\&#8211;/g' \
-e 's/&larr;/\&#8592;/g' \
-e 's/&rarr;/\&#8594;/g' \
-e 's/&harr;/\&#8596;/g' {} \+ || die
# fix help path #891879
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
# 489208
# Cannot patch the whole text, many translations. Use sed instead to replace the command
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
src/VBox/Frontends/VirtualBox/src/main.cpp \
src/VBox/VMM/VMMR3/VM.cpp || die
# 890561
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
if ! use nls && ! use gui; then
cat >> LocalConfig.kmk <<-EOF || die
VBOX_WITH_NLS :=
VBOX_WITH_MAIN_NLS :=
VBOX_WITH_PUEL_NLS :=
VBOX_WITH_VBOXMANAGE_NLS :=
EOF
fi
}
src_configure() {
tc-export AR CC CXX LD RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-kmods
--with-kvm
# this is required for kvm to work.
# also this prohibits installation with suid.
--disable-hardening
$(usev !alsa --disable-alsa)
$(usev !dbus --disable-dbus)
$(usev debug --build-debug)
$(usev !doc --disable-docs)
$(usev !java --disable-java)
$(usev !lvm --disable-devmapper)
$(usev !pulseaudio --disable-pulse)
$(usev !python --disable-python)
$(usev vboxwebsrv --enable-webservice)
$(usev vde --enable-vde)
$(usev vnc --enable-vnc)
)
if use gui || use sdl || use opengl; then
myconf+=(
$(usev !opengl --disable-opengl)
$(usev !gui --disable-qt)
$(usev !sdl --disable-sdl)
)
else
myconf+=(
--build-headless
)
fi
if use amd64 && ! has_multilib_profile; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
edo ./configure "${myconf[@]}"
# Force usage of chosen Python implementation
# bug #856121, bug #785835
sed -i \
-e '/VBOX_WITH_PYTHON.*=/d' \
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
-e '/VBOX_LIB_PYTHON.*=/d' \
AutoConfig.kmk || die
cat >> AutoConfig.kmk <<-EOF || die
VBOX_WITH_PYTHON=$(usev python 1)
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
VBOX_LIB_PYTHON=$(python_get_library_path)
EOF
if use python; then
local mangled_python="${EPYTHON#python}"
mangled_python="${mangled_python/.}"
# Stub out the script which defines what the Makefile ends up
# building for. gen_python_deps.py gets called by the Makefile
# with some args and it spits out a bunch of paths for a hardcoded
# list of Pythons. We just override it with what we're actually using.
# This minimises the amount of patching we have to do for new Pythons.
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
EOF
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
fi
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
local myemakeargs=(
VBOX_BUILD_PUBLISHER=_Gentoo
VBOX_WITH_VBOXIMGMOUNT=1
KBUILD_VERBOSE=2
AS="$(tc-getCC)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
TOOL_GCC3_CC="$(tc-getCC)"
TOOL_GCC3_LD="$(tc-getCC)"
TOOL_GCC3_AS="$(tc-getCC)"
TOOL_GCC3_AR="$(tc-getAR)"
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX3_CC="$(tc-getCC)"
TOOL_GXX3_CXX="$(tc-getCXX)"
TOOL_GXX3_LD="$(tc-getCXX)"
TOOL_GXX3_AS="$(tc-getCXX)"
TOOL_GXX3_AR="$(tc-getAR)"
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GCC3_CFLAGS="${CFLAGS}"
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
VBOX_GCC_OPT="${CXXFLAGS}"
VBOX_NM="$(tc-getNM)"
TOOL_YASM_AS=yasm
)
if use amd64 && has_multilib_profile; then
myemakeargs+=(
CC32="$(tc-getCC) -m32"
CXX32="$(tc-getCXX) -m32"
TOOL_GCC32_CC="$(tc-getCC) -m32"
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
TOOL_GCC32_LD="$(tc-getCC) -m32"
TOOL_GCC32_AS="$(tc-getCC) -m32"
TOOL_GCC32_AR="$(tc-getAR)"
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX32_CC="$(tc-getCC) -m32"
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
TOOL_GXX32_LD="$(tc-getCXX) -m32"
TOOL_GXX32_AS="$(tc-getCXX) -m32"
TOOL_GXX32_AR="$(tc-getAR)"
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
)
fi
MAKE="kmk" emake "${myemakeargs[@]}" all
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${MY_PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${MY_PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${MY_PN}-ose-6-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload,XPCOMIPCD} \
vboximg-mount vbox-img *so *r0; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 0750
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
if use pam; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
# environment variables used during SDK binding installation
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if use sdl; then
vbox_inst VBoxSDL 0750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
fi
if use gui; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 0750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu ${MY_PN}.desktop ${PN}.desktop
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
done
newicon ${MY_PN}-48px.png ${PN}.png
newicon -s scalable ${MY_PN}.svg ${PN}.png
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${MY_PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]]; then
newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm; then
vbox_inst VBoxVolInfo 0750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk; then
insinto ${vbox_inst_path}
doins -r sdk
if use java; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev; then
local udevdir="$(get_udevdir)"
local udev_file="VBoxCreateUSBNode.sh"
local rules_file="10-virtualbox.rules"
insinto ${udevdir}
doins ${udev_file}
fowners root:vboxusers ${udevdir}/${udev_file}
fperms 0750 ${udevdir}/${udev_file}
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
> "${T}"/${rules_file} || die
doins "${T}"/${rules_file}
fi
if use vboxwebsrv; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Remove dead symlinks (bug #715338)
find "${ED}"/usr/$(get_libdir)/${MY_PN} -xtype l -delete || die
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc; then
dodoc UserManual.pdf UserManual.q{ch,hc}
docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
elif use gui; then
dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
fi
dodoc ${PATCHES_DIR}/README.*
if use python; then
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
if [[ ! -x "${python_path_ext}" ]]; then
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
eerror "but none were installed. This may happen if support for a Python target"
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
fi
# 378871
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
pushd "${installer_dir}" &> /dev/null || die
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
-i vboxapi/__init__.py || die
# insert shebang, the files come without one
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
python_domodule vboxapi
popd &> /dev/null || die
python_doscript vboxshell.py
# do not install the installer
rm -r "${installer_dir}" || die
fi
newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-vboxusb.conf
}
pkg_postinst() {
xdg_pkg_postinst
if use udev; then
udev_reload
udevadm trigger --subsystem-match=usb
fi
tmpfiles_process virtualbox-vboxusb.conf
if use gui; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/UserManual.pdf"
elog ""
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
if ! use udev; then
ewarn "Without USE=udev, USB devices will likely not work in ${MY_PN}."
fi
}
pkg_postrm() {
xdg_pkg_postrm
use udev && udev_reload
}

@ -20,7 +20,7 @@ PYTHON_COMPAT=( python3_{10..11} )
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
python-single-r1 tmpfiles toolchain-funcs udev xdg
PATCHES_PV="7.0.14"
PATCHES_PV="7.0.16"
ORIGIN_PN="VirtualBox"
ORIGIN_PV=${PATCHES_PV}

@ -2,3 +2,4 @@ DIST vbox-kernel-module-src-6.1.48.tar.xz 680552 BLAKE2B 243cd013a7e027634b7f633
DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592
DIST vbox-kernel-module-src-7.0.12.tar.xz 718284 BLAKE2B 8b427f9764ad7cb216d3b8dcfa05e8b564a8b67cf3beb7ec048b2529a31580eb59eb0e41a887bb85503542cae18d873d91108a522fc0ba106d119a73ce629f34 SHA512 0b64ad2ddc6eaf56759e636aa6c8e5dba998e232ec42a7bf0cf92dc00e7a6c0ebb11e9d7500a8a407e0c92a162ebb71cdb15cbfd4f570c1860641a7fdba21bd0
DIST vbox-kernel-module-src-7.0.14.tar.xz 718532 BLAKE2B 64df92802ab5e9fa3fdf9ba3e3b13004dc687dd2d5f3d41d24354f116a79000fe6ea07bfa8877113ab263d4f75210b600e61d983616f66b6e96324b3ea6a4b2d SHA512 2a0b9a0bbcb0a21a580000309be3a71722ee3cb9a63a5e12cd0d8a391b3832a6cc92ff806f8ca4b5fcb80fed02a44aa4de6a2d49f4583d704cec0902572a68bb
DIST vbox-kernel-module-src-7.0.16.tar.xz 719888 BLAKE2B df78a70f677384be47f9ca28c1d473680dfbc491f2c4dcdccf05e0d80f46177db808adf81bc2af4539aeca10046edbc67a561a62870d2233af5e8fbeccc3ee43 SHA512 c4858c20f557bec7893d3604a9a572068999e60bceeceb65b1ccc9dc92ad2531a8e5bded91b55caa1d55ddf06c0f72672bccf73f5e86546a804ff1ecee413164

@ -0,0 +1,34 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from VirtualBox-*.run
# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
EAPI=8
inherit linux-mod-r1
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
src_compile() {
local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
linux-mod-r1_src_compile
}
src_install() {
linux-mod-r1_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}

@ -2,9 +2,11 @@ DIST VirtualBox-6.1.48.tar.bz2 165960987 BLAKE2B c981e390ae518b829970827f6032fb1
DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
DIST VirtualBox-7.0.12.tar.bz2 175644088 BLAKE2B 507cbf7b1a8a807bd2602e74bc19a59cb177b9b2bdefa1be582e520666360a42510ca501f20c354746a0f1dadf61fe29135e3edc867e611bfe60a9405cb2bbce SHA512 9fe4511442eba788d02f932f5e98cfcc5aa4ebed41c00bd7333cf7e3f5de787e458f1f56930978283f041f403652c803143335fe9120ab63a2c113ca7b3f588f
DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
DIST virtualbox-help-7.0.10.tar.xz 3941196 BLAKE2B fa6667e0cf12e2e05b896a7d9d7e1f78d43bb4618f35b3c81f5ccf5f227d1181b0c8fb1f6dc02a8619550b193a73d4094c5d3f0d43514392f9ed563085068789 SHA512 fab2dff812a438f3e78dbace24741d91b317bbbc7362f082a18f3871e3c6fd8af7744cf1b3fd3b82cf5135e03d521de05a7a5bc98ec19aacfa1b4e5392e60f30
DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0efef5de2ac1eacec73571bc658955f23fff347fa60c37ec78c58bf94b82b8f9a95fb26c07ef4becc7e9f535af069151f5 SHA512 1b8ba08bec144cbd1f2e9aa0929cdf60a0b99930f1dd80567094fba75097d87661aef3da2cc24f4abff6b6db8f186e251c5f693a2a93943cc39909d5f1e1bce5
DIST virtualbox-help-7.0.12.tar.xz 3945920 BLAKE2B 7f2201f3baf6d27d95dc9f878426e34a27c9f9e113d55348f57703b1bd4878df8c6f02492412b779896c48224fb2df224c953b425dde9c99d2b4dbfda1d80d4f SHA512 ddf429a984fe433c4bcbdf87930b3cc16075d4f4725d2e571e9bf05d820d26eb6f88dd6f2bd3992927b261377c84ac4e35a929113b3294e3b2887760fe7a0b52
DIST virtualbox-help-7.0.14.tar.xz 3944832 BLAKE2B 95079e4da8c960c41cee799142779a6c2587e0e8af7956ca551cb5a4c0f36f313189dfe08afba83a0c32886866a7f9903b5e370008d6b3ce6283fb2288866b06 SHA512 e2f1acdd7577a93047e220300b1996d2855ddef20053c01294f8295fde0840645c41b75632d71dd2fc276219084fe4105fd057623f39375542358796425a2d03
DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
DIST virtualbox-patches-7.1.0_pre20240210.tar.bz2 5479 BLAKE2B 98bfc9391e756df139e0dd88ca2dd5c9f6cd9c0ce5b5e770dbe28d2e6acbfd04a26b06414c2640894bd3bbd2f10a80f6053d0c6f18d27752a05cadf773e50f19 SHA512 51b0fe68f23a73d20ec3a93b1fc8c073e0bc2bfe4e2e267de6ee6f103abc44c35bb50a96f3842a1e46049418336a3327ab291972a17b8a29b596ba9be4bdb962
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
DIST virtualbox-patches-7.1.0_pre20240419.tar.bz2 5316 BLAKE2B 1a890b7d19cb252c7801b68c299676e2cd7a209a57a03cb39025e1a969a1c73142eb96154dae8469405f93d61969154428ea0fe3950a00d8a0a69dc8aefb4fc9 SHA512 ce4f850ce87652ef4eab039332048333949c94f0627bec8eb00d9689d7f8edcce372e2185ef8bbda9aef97781a2008b7c6464468cc38f3454dee862efc0ecdc9

@ -0,0 +1,740 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# To add a new Python here:
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
# Do NOT skip this part. It'll end up silently not-building the Python extension
# or otherwise misbehaving if you do.
#
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
#
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
# Python versions as upstream tends to lag. Upstream may have patches on their
# trunk branch but not release branch.
#
# See bug #785835, bug #856121.
PYTHON_COMPAT=( python3_{10..11} )
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PN="VirtualBox"
MY_P=${MY_PN}-${PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="
https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
unset WATCOM #856769
COMMON_DEPEND="
${PYTHON_DEPS}
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libtpms
dev-libs/libxml2
dev-libs/openssl:0=
media-libs/libpng:0=
media-libs/libvpx:0=
net-misc/curl
sys-libs/zlib
dbus? ( sys-apps/dbus )
gui? (
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qthelp:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtxml:5
x11-libs/libX11
x11-libs/libXt
opengl? ( dev-qt/qtopengl:5 )
)
lvm? ( sys-fs/lvm2 )
opengl? (
media-libs/libglvnd[X]
media-libs/vulkan-loader
x11-libs/libX11
x11-libs/libXt
)
pam? ( sys-libs/pam )
sdl? (
media-libs/libsdl2[X,video]
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXt
)
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
vde? ( net-misc/vde )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
# based on *DEPEND doesn't work for BDEPEND at least right now.
#
# There's a comment in Config.kmk about it
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
# but it needs more investigation.
#
# See bug #878299 to track this issue.
DEPEND="
${COMMON_DEPEND}
>=dev-libs/libxslt-1.1.19
virtual/libcrypt:=
alsa? ( >=media-libs/alsa-lib-1.0.13 )
gui? (
x11-base/xorg-proto
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
)
java? ( virtual/jdk:1.8 )
opengl? (
x11-base/xorg-proto
x11-libs/libXcursor
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
virtual/glu
)
sdl? ( x11-libs/libXinerama )
pulseaudio? ( media-libs/libpulse )
udev? ( >=virtual/udev-171 )
"
RDEPEND="
${COMMON_DEPEND}
gui? ( x11-libs/libxcb:= )
java? ( virtual/jre:1.8 )
"
BDEPEND="
${PYTHON_DEPS}
>=app-arch/tar-1.34-r2
>=dev-lang/yasm-0.6.2
dev-libs/libIDL
dev-util/glslang
>=dev-build/kbuild-0.1.9998.3592
sys-apps/which
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
app-text/docbook-xsl-ns-stylesheets
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
dev-qt/qthelp:5
)
gui? ( dev-qt/linguist-tools:5 )
nls? ( dev-qt/linguist-tools:5 )
java? ( virtual/jdk:1.8 )
"
QA_FLAGS_IGNORED="
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_TEXTRELS="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
QA_EXECSTACK="
usr/lib64/virtualbox/iPxeBaseBin
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_WX_LOAD="
usr/lib64/virtualbox/iPxeBaseBin
"
QA_PRESTRIPPED="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
PATCHES=(
# Downloaded patchset
"${WORKDIR}"/virtualbox-patches-7.0.16/patches
)
pkg_pretend() {
if ! use gui; then
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
fi
if ! use opengl; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
if ! use nls && use gui; then
einfo "USE=\"gui\" also selects USE=\"nls\". This build"
einfo "will have NLS support."
fi
# 749273
local d=${ROOT}
for i in usr "$(get_libdir)"; do
d="${d}/$i"
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
die "${d} should be owned by root, VirtualBox will not start otherwise"
fi
done
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
}
src_prepare() {
default
# Only add nopie patch when we're on hardened
if gcc-specs-pie; then
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
fi
# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
rm -r kBuild/bin || die
# Remove everything in tools except kBuildUnits
find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
if ! use pch; then
# bug #753323
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
>> LocalConfig.kmk || die
fi
# bug #916002, #488176
tc-ld-force-bfd
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam; then
einfo "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
fi
# add correct java path
if use java; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
#856811 #864274
# cannot filter out only one flag, some combinations of these flags produce buggy executables
for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
append-cflags $(test-flags-CC -mno-$i)
append-cxxflags $(test-flags-CXX -mno-$i)
done
# bug #908814
filter-lto
# bug #843437
cat >> LocalConfig.kmk <<-EOF || die
CXXFLAGS=${CXXFLAGS}
CFLAGS=${CFLAGS}
EOF
if use sdl; then
sed -i 's/sdl-config/sdl2-config/' configure || die
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
fi
#443830
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
if tc-is-clang; then
# clang assembler chokes on comments starting with /
sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
# clang does not support this extension
eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
fi
# fix doc generation
echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
# replace xhtml names with numeric equivalents
find doc/manual -name \*.xml -exec sed -i \
-e 's/&nbsp;/\&#160;/g' \
-e 's/&ndash;/\&#8211;/g' \
-e 's/&larr;/\&#8592;/g' \
-e 's/&rarr;/\&#8594;/g' \
-e 's/&harr;/\&#8596;/g' {} \+ || die
# fix help path #891879
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
# 489208
# Cannot patch the whole text, many translations. Use sed instead to replace the command
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
src/VBox/Frontends/VirtualBox/src/main.cpp \
src/VBox/VMM/VMMR3/VM.cpp || die
# 890561
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
if ! use nls && ! use gui; then
cat >> LocalConfig.kmk <<-EOF || die
VBOX_WITH_NLS :=
VBOX_WITH_MAIN_NLS :=
VBOX_WITH_PUEL_NLS :=
VBOX_WITH_VBOXMANAGE_NLS :=
EOF
fi
}
src_configure() {
tc-export AR CC CXX LD RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-kmods
$(usev !alsa --disable-alsa)
$(usev !dbus --disable-dbus)
$(usev debug --build-debug)
$(usev !doc --disable-docs)
$(usev !java --disable-java)
$(usev !lvm --disable-devmapper)
$(usev !pulseaudio --disable-pulse)
$(usev !python --disable-python)
$(usev vboxwebsrv --enable-webservice)
$(usev vde --enable-vde)
$(usev vnc --enable-vnc)
)
if use gui || use sdl || use opengl; then
myconf+=(
$(usev !opengl --disable-opengl)
$(usev !gui --disable-qt)
$(usev !sdl --disable-sdl)
)
else
myconf+=(
--build-headless
)
fi
if use amd64 && ! has_multilib_profile; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
edo ./configure "${myconf[@]}"
# Force usage of chosen Python implementation
# bug #856121, bug #785835
sed -i \
-e '/VBOX_WITH_PYTHON.*=/d' \
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
-e '/VBOX_LIB_PYTHON.*=/d' \
AutoConfig.kmk || die
cat >> AutoConfig.kmk <<-EOF || die
VBOX_WITH_PYTHON=$(usev python 1)
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
VBOX_LIB_PYTHON=$(python_get_library_path)
EOF
if use python; then
local mangled_python="${EPYTHON#python}"
mangled_python="${mangled_python/.}"
# Stub out the script which defines what the Makefile ends up
# building for. gen_python_deps.py gets called by the Makefile
# with some args and it spits out a bunch of paths for a hardcoded
# list of Pythons. We just override it with what we're actually using.
# This minimises the amount of patching we have to do for new Pythons.
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
EOF
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
fi
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
local myemakeargs=(
VBOX_BUILD_PUBLISHER=_Gentoo
VBOX_WITH_VBOXIMGMOUNT=1
KBUILD_VERBOSE=2
AS="$(tc-getCC)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
TOOL_GCC3_CC="$(tc-getCC)"
TOOL_GCC3_LD="$(tc-getCC)"
TOOL_GCC3_AS="$(tc-getCC)"
TOOL_GCC3_AR="$(tc-getAR)"
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX3_CC="$(tc-getCC)"
TOOL_GXX3_CXX="$(tc-getCXX)"
TOOL_GXX3_LD="$(tc-getCXX)"
TOOL_GXX3_AS="$(tc-getCXX)"
TOOL_GXX3_AR="$(tc-getAR)"
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GCC3_CFLAGS="${CFLAGS}"
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
VBOX_GCC_OPT="${CXXFLAGS}"
VBOX_NM="$(tc-getNM)"
TOOL_YASM_AS=yasm
)
if use amd64 && has_multilib_profile; then
myemakeargs+=(
CC32="$(tc-getCC) -m32"
CXX32="$(tc-getCXX) -m32"
TOOL_GCC32_CC="$(tc-getCC) -m32"
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
TOOL_GCC32_LD="$(tc-getCC) -m32"
TOOL_GCC32_AS="$(tc-getCC) -m32"
TOOL_GCC32_AR="$(tc-getAR)"
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX32_CC="$(tc-getCC) -m32"
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
TOOL_GXX32_LD="$(tc-getCXX) -m32"
TOOL_GXX32_AS="$(tc-getCXX) -m32"
TOOL_GXX32_AR="$(tc-getAR)"
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
)
fi
MAKE="kmk" emake "${myemakeargs[@]}" all
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload,XPCOMIPCD} \
vboximg-mount vbox-img *so *r0; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
if use pam; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
# environment variables used during SDK binding installation
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if use sdl; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
fi
if use gui; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
domenu ${PN}.desktop
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]]; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk; then
insinto ${vbox_inst_path}
doins -r sdk
if use java; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev; then
local udevdir="$(get_udevdir)"
local udev_file="VBoxCreateUSBNode.sh"
local rules_file="10-virtualbox.rules"
insinto ${udevdir}
doins ${udev_file}
fowners root:vboxusers ${udevdir}/${udev_file}
fperms 0750 ${udevdir}/${udev_file}
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
> "${T}"/${rules_file} || die
doins "${T}"/${rules_file}
fi
if use vboxwebsrv; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Remove dead symlinks (bug #715338)
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc; then
dodoc UserManual.pdf UserManual.q{ch,hc}
docompress -x /usr/share/doc/${PF}
elif use gui; then
dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
docompress -x /usr/share/doc/${PF}
fi
if use python; then
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
if [[ ! -x "${python_path_ext}" ]]; then
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
eerror "but none were installed. This may happen if support for a Python target"
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
fi
# 378871
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
pushd "${installer_dir}" &> /dev/null || die
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
-i vboxapi/__init__.py || die
# insert shebang, the files come without one
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
python_domodule vboxapi
popd &> /dev/null || die
python_doscript vboxshell.py
# do not install the installer
rm -r "${installer_dir}" || die
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
xdg_pkg_postinst
if use udev; then
udev_reload
udevadm trigger --subsystem-match=usb
fi
tmpfiles_process virtualbox-vboxusb.conf
if use gui; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
if ! use udev; then
ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
fi
}
pkg_postrm() {
xdg_pkg_postrm
use udev && udev_reload
}

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

Loading…
Cancel
Save