Sync with portage [Mon Aug 28 12:59:52 MSK 2023].

master 2466
root 8 months ago
parent 4f3e5026f0
commit 4bf2027b2e

Binary file not shown.

Binary file not shown.

@ -68,7 +68,7 @@ BDEPEND="
virtual/pkgconfig
java? ( >=virtual/jdk-1.8:* )
nls? ( virtual/libintl )
python? ( >=dev-python/cython-0.16[${PYTHON_USEDEP}] )
python? ( <dev-python/cython-3[${PYTHON_USEDEP}] )
"
HTML_DOCS=( "${S}"/Documents/Manual-BrlAPI/. )

@ -64,11 +64,14 @@ DEPEND="
RDEPEND="${DEPEND}
java? ( >=virtual/jre-1.8:* )
"
# <cython-3:
# * see https://brltty.app/pipermail/brltty/2023-August/020046.html
# * https://discourse.gnome.org/t/psa-for-distros-brltty-should-be-built-using-cython-0-29-x-not-cython-3/16715
BDEPEND="
virtual/pkgconfig
java? ( >=virtual/jdk-1.8:* )
nls? ( virtual/libintl )
python? ( >=dev-python/cython-0.16[${PYTHON_USEDEP}] )
python? ( <dev-python/cython-3[${PYTHON_USEDEP}] )
"
HTML_DOCS=( "${S}"/Documents/Manual-BrlAPI/. )

@ -1 +1,2 @@
DIST kontrast-23.04.3.tar.xz 205832 BLAKE2B cd85476a137c19b00fd86686d1adf76ff9942208c5b5f435d352a949f11d1d34c75dbcb7d235869bed5aa2152f19e70e801eb6ab0c8c40350118b2a4ad144407 SHA512 f4c00bcee75999008a227156f169cb642646ff7e4ca2496103502011a6637c35c42d48bdc04aa630f119d03fc4d07cbb3619670fa45e1f03f7bfa9620805c24c
DIST kontrast-23.08.0.tar.xz 209816 BLAKE2B 4bef29478b6dabb050a0c31fd3f2f912c52ff4e500e18205db89b208d9f77dca062ee122aa6de1e3b4a51d26bccdd40b7e4e272d22ff3524d200e0ea656d78fa SHA512 d6de006beebce7a946c418e3f0d4d4b20208642646e9962b50451f9c3cf271ff58af86d04d2ff99e451e4e08cc49b6d9449d598115324e62af9e93d4ea7d3d18

@ -0,0 +1,35 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="forceoptional"
KFMIN=5.106.0
QTMIN=5.15.9
inherit ecm gear.kde.org
DESCRIPTION="Tool to check contrast for colors to verify they are correctly accessible"
HOMEPAGE="https://apps.kde.org/kontrast/"
LICENSE="GPL-3+"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
IUSE=""
DEPEND="
dev-db/futuresql5
dev-libs/qcoro5
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtdeclarative-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtquickcontrols2-${QTMIN}:5
>=dev-qt/qtsql-${QTMIN}:5
>=dev-qt/qtsvg-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kirigami-${KFMIN}:5
"
RDEPEND="${DEPEND}
kde-plasma/xdg-desktop-portal-kde
"

Binary file not shown.

@ -9,3 +9,5 @@ DIST aws-cli-1.29.30.gh.tar.gz 2509672 BLAKE2B 4c81e02da68497cbf91ca407389707e21
DIST aws-cli-1.29.31.gh.tar.gz 2510291 BLAKE2B 9b28bd5b22cbcde62f1375920f97a53a152a89d67b68788cbcecc3534932e037f94f6427324431c6f063a5cbf2fd4903a43a6129cb052198baefefed38b6e763 SHA512 3f56edd418556e4575f44ef08d631e1b36a4d1f77e6d189ed5d9e46acde0c02e561d22df9d7063efc3011561816b99ad8faaf12855d7eaef76b16f47d77f8c65
DIST aws-cli-1.29.32.gh.tar.gz 2510913 BLAKE2B bd22cc1fc38963f97a51c6c881986a48de072c9a4b5e4d59cee0b3df04f3f006660a194968d0114d803532572c7b229633802f0875fb891f7c58732894f97f92 SHA512 7951fe240f39f72fe3ddc03f350515ac441a836c6b943c6347672a228d7dfb4fbb3ab8a6a765e3346f2ff59a71620ee0cff146525057757e64ca1265f011332d
DIST aws-cli-1.29.33.gh.tar.gz 2511146 BLAKE2B bd719f8789fd0861ecab4d2ac7def020c90d3f990e8465ce910904ea21f174fef764467374e98537f102658bc3e79b383b8cc12b595874bfa3331cae10880788 SHA512 3d0d55507c9b2cf6a0e088b0338d1a32d3f5377c24833db6001ddc6e0c92d91b5849a66038dd82238a9a98b2d20f8da78daa08ca82c475fa9f0a5190d89e0b60
DIST aws-cli-1.29.34.gh.tar.gz 2513018 BLAKE2B 74eaa3b94f28d995f8a789421d5a0e8be3dc21359aaf70c932c610239c941361aa62ff0fb43dc4a848a225f42d8d6d88a0a17df793f600ed7db95dfe81f5b917 SHA512 115f82078770c27e1a2e5754505f1712cce7a8ebd83e87e7a3f7fbeac7f552005e7c5a0471914fa584ff4bf6f8394dc9df0779270d162abc4c1a9464d06d9c31
DIST aws-cli-1.29.35.gh.tar.gz 2513024 BLAKE2B 7802c0eda498235938c5f409076b7706fd3e20e5f337d81366a25bacff9564326acb3edd0d8b1fd36518623a1e6d48d7ee2ee897c8669a3c1b41b8ff202fe9ba SHA512 63a4c20c494dd935dc8f52ddc1d610dfd9fb513f0d262acdb0c85265558d103962c42c757e1e4fd18a70af725186fda7b3caececef574ffa71e89f4c7164d01b

@ -0,0 +1,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
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.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
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 EPYTEST_DESELECT=(
# TODO
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
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,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
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.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
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 EPYTEST_DESELECT=(
# TODO
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
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 @@
DIST cpulimit-2.4.tar.gz 24669 BLAKE2B e0fe0d6766e76e6e2a68dcdc553039400233daabbb14ce4a9dae46a7b694d2ecd660f4c1d13f417a74b12365c719780c732a03bd91c6384d1e7118d0fce521fb SHA512 008dc3fbdcbd8afd875a2a1ce03d609db595c6e110803140c676d3713ea60f4877a1bb8e7aa0e8b669dce31522ad81e2703f616341a0f4cbc69a6b01865b66d0
DIST cpulimit-2.8.tar.gz 24860 BLAKE2B 6d4002d2cbc46da9ce102da77b701e6a99c2e7d16e2e7989baa1e07ef335b126a8c717c4779d121aee1e580ebf057a16b4f83c1bc6a29c904a7532debc4c490a SHA512 aeb121739a5dc9f94c6ddb0905ed05eb7d146c9d0e71c34ba46aad798bda2c30b7ccc548338b4c468f9885f09d97a4565c00199c8df6af74dc9b6f23940c540e

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit toolchain-funcs
DESCRIPTION="Limits the CPU usage of a process"
HOMEPAGE="http://cpulimit.sourceforge.net"
SRC_URI="mirror://sourceforge/limitcpu/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc ~riscv x86"
IUSE=""
DEPEND=""
RDEPEND=""
src_prepare() {
tc-export CC
# set correct VERSION
#sed -i -e "/^#define VERSION/s@[[:digit:]\.]\+\$@${PV}@" cpulimit.c \
# || die 'sed on VERSION string failed'
default
}
src_install() {
local DOCS=( CHANGELOG README )
dosbin ${PN}
doman ${PN}.1
einstalldocs
}

@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/limitcpu/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~riscv ~x86"
KEYWORDS="amd64 ~ppc ~riscv x86"
PATCHES=(
"${FILESDIR}/${P}-makefile.patch"

@ -2,3 +2,5 @@ DIST puppet-agent_7.24.0-1focal_amd64.deb 31418478 BLAKE2B 201c0a5adbeca2b6f572d
DIST puppet-agent_7.24.0-1focal_arm64.deb 31160744 BLAKE2B 22dfc3f0855c2e88c7202f2a9d98efd4ad9ef3a191ab9b5b8c37a6869306a47d1225d568fec9f0fc52cdf236f8258b5ca206a360049cc39e1825f1f8afc5d4af SHA512 db1b7cb25a04d6aeedd7f3bb125fe0fcac420c2881f9f3aba729143e253908376cd118073753de018d8fd1a6d7f38139766b4ec4bfb23f840ca7ee32143a8a48
DIST puppet-agent_8.1.0-1focal_amd64.deb 35868180 BLAKE2B 9c3c952a35670883aae31e05a47b5d23e79c3e53cf54760444a8d0dbf7d7ca6385b043ec82eb748d0b6e9573fcb79de457323ec46441f3dd5a60c14cc51aeaae SHA512 450b37c556f39d02d124009d276c70e8b8f46f75ff14df4ab13656a54ace2612441202e8fcf5a266ec25998ad05271eda2f1088580091009b8f2c98b1b8462d8
DIST puppet-agent_8.1.0-1focal_arm64.deb 35364600 BLAKE2B 25965e453f13b936962bf8a786171dc7fce3fe4868f856352a6a46c463f8e84d32d44f3a7ca7f4d9ce21880a9d38a623b7dffe1c0dbcff5c4e48971776dce960 SHA512 1d77cb14600d38547deac90a57218d0559797f011b9acae708d745946a20299c6a802276aac9e06eba2b8e5ae631e2f9da030b11fdfa26ab656ed7c2db631d7b
DIST puppet-agent_8.2.0-1focal_amd64.deb 35899030 BLAKE2B 67af546a361c5ff2284eacac49c395baf693fe16a185f63a1e656fc47a6420395f0d26ab27fa2c944e9cb3e520fae32168ba35ff46e8b8d4239bd8fe322154db SHA512 b5f869cfb39e23e401eb1d8ddde0e2d4c07660e4fd8753e53ccfa08c82c51d6d525637e7fbfdf01ee98d776781837fe7dc6e10d2d5a6dcc635479468194e2900
DIST puppet-agent_8.2.0-1focal_arm64.deb 35390104 BLAKE2B a4dad98dfb0779ebece815f17174fe119c22ccd06d19a678b2cca2ecd46330b609eb6d6ce834c5cad57f1a81417914f9bd98a3bdd8697b1dc7eb6ef115834865 SHA512 24b458205f8420a2a4168c9eb397d2c8a871a2837b34d10ffc3d43e5e3bf6c94c87856c396ea86826b107daa6aafa4b37b1524bd32f98b11f17627a60a69068d

@ -0,0 +1,91 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit systemd unpacker tmpfiles
DESCRIPTION="general puppet client utils along with hiera and facter"
HOMEPAGE="https://puppetlabs.com/"
SRC_URI="amd64? ( http://apt.puppetlabs.com/pool/focal/puppet8/${PN:0:1}/${PN}/${PN}_${PV}-1focal_amd64.deb )
arm64? ( http://apt.puppetlabs.com/pool/focal/puppet8/${PN:0:1}/${PN}/${PN}_${PV}-1focal_arm64.deb )"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="puppetdb selinux"
RESTRICT="strip"
# virtual/libcrypt:= is in here despite being a pre-built package
# to ensure that the has_version logic for the symlink doesn't become stale
CDEPEND="!app-admin/puppet
!dev-ruby/hiera
!dev-ruby/facter
app-emulation/virt-what
acct-user/puppet
acct-group/puppet
virtual/libcrypt:="
DEPEND="
${CDEPEND}
app-admin/augeas"
RDEPEND="${CDEPEND}
app-portage/eix
sys-apps/dmidecode
sys-libs/libselinux
sys-libs/glibc
sys-libs/readline:0/8
sys-libs/libxcrypt[compat]
sys-libs/ncurses:0[tinfo]
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
puppetdb? ( >=dev-ruby/puppetdb-termini-5.0.1 )"
S=${WORKDIR}
QA_PREBUILT="*"
src_install() {
# conf.d
doconfd etc/default/puppet
doconfd etc/default/pxp-agent
# logrotate.d
insinto /etc/logrotate.d
doins etc/logrotate.d/pxp-agent
# puppet itself
insinto /etc/puppetlabs
doins -r etc/puppetlabs/*
# logdir for systemd
keepdir var/log/puppetlabs/puppet/
chmod 0750 var/log/puppetlabs/puppet/
# the rest
insinto /opt
dodir opt/puppetlabs/puppet/cache
doins -r opt/*
fperms 0750 /opt/puppetlabs/puppet/cache
# init
newinitd "${FILESDIR}/puppet.initd2" puppet
systemd_dounit lib/systemd/system/puppet.service
systemd_dounit lib/systemd/system/pxp-agent.service
newtmpfiles usr/lib/tmpfiles.d/puppet-agent.conf puppet-agent.conf
# symlinks
chmod 0755 -R "${D}/opt/puppetlabs/puppet/bin/"
dosym ../../opt/puppetlabs/bin/facter /usr/bin/facter
dosym ../../opt/puppetlabs/bin/hiera /usr/bin/hiera
dosym ../../opt/puppetlabs/bin/puppet /usr/bin/puppet
# Handling of the path to the crypt library during the ongoing migration
# from glibc[crypt] to libxcrypt
# https://www.gentoo.org/support/news-items/2021-07-23-libxcrypt-migration.html
if has_version "sys-libs/glibc[crypt]"; then
local crypt_target='../../../../usr/lib64/xcrypt/libcrypt.so.1'
else
local crypt_target='../../../../usr/lib/libcrypt.so.1'
fi
dosym $crypt_target /opt/puppetlabs/puppet/lib/libcrypt.so.1
}
pkg_postinst() {
tmpfiles_process puppet-agent.conf
}

@ -1,3 +1,4 @@
DIST puppet-lint-3.4.0.gem 83456 BLAKE2B fa6b274b3e6e84095fdaff6f024864dc301f0afc605198cc40b4dd8df7a9de66adfb91982195af9a0ad35301409c23e99d8d6ba5d3c43d3ee4dd57235de2b8cc SHA512 47c025ef925618cba3c1f579a3ef62bd5f9fd8ee7f8f9a68ed84daafeb7f9071e558619b24f0a249fcbe85d8c1b27e715938cc352792f9aa91de131820103e9c
DIST puppet-lint-4.0.0.gem 80896 BLAKE2B 6e674deaec43c3b45e2c162ef3d09648bd3cdd589a3ae6ce92e21617633529705fe9999f4c6c361c3c1f041a3d25d1a03079f2f97705c01199253661bc9355dc SHA512 a23d316f60cb7d34c394bdaee0ad08070098d732210a92294a3d330cff7330aefe2be6bd9a60219d7538173c2f187c1ed427c6671a345f868286986164ea3a33
DIST puppet-lint-4.0.1.gem 81408 BLAKE2B 2e202cf99e496336d5a8f23bf8581211b74e8ce25532edb82169b2aa484e14763087d5c6b966c1be50665ab723b72c9b21a74867b8e0c2296b06ea5e246531d6 SHA512 1709cbcae4db082dbe89b65ba6f5679684f3ed9d89955be0706228bcf0036a0bbfb58abb5ac12d8c2602ea9108386ba3e9b83627ca9c8fa0a813d19dc08f995d
DIST puppet-lint-4.1.0.gem 82944 BLAKE2B 42bd99b1a6331c6fedf54a7b5e0100bedbb6543c1476ed82538caf371cb4e48ddaa89f4313e2bac42b1c12e5ea6c03a3dc7fb3566979c22c051152a921bf5c72 SHA512 04a8ed8b73b209db1634f3a7accb0ec18d735914b7faa2b89446e96300e586760dd0b606ebd4a5ae71b49a8f10d16f9199ee065aa12b911f8692af68e4aac321

@ -0,0 +1,33 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby31 ruby32"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_BINWRAP="puppet-lint"
inherit ruby-fakegem
DESCRIPTION="A linter for puppet DSL"
HOMEPAGE="https://github.com/puppetlabs/puppet-lint"
LICENSE="MIT"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~x86"
ruby_add_bdepend "test? (
dev-ruby/rspec-its:1
dev-ruby/rspec-collection_matchers:1
dev-ruby/rspec-json_expectations )"
all_ruby_prepare() {
# Skip acceptance tests due to unpackages puppet_litmus which in turn
# has a number of unpackaged dependencies.
rm -rf spec/acceptance || die
rm -f spec/spec_helper_acceptance.rb || die
}

@ -1,2 +1,3 @@
DIST puppet-7.24.0.tar.gz 2823083 BLAKE2B f4a3862153a01b1d5ce1cc9d72a2446d91346c5e8ed762f8aeae260a67bd583c277cd4ea0f207021057d40c69078add06af88978522706dea59796bdd6071070 SHA512 bb881e7523fce72ca8941d363ebc12f0172aff61a28d49465b7977fdf0d004575f5677fad3f0858db109b1cf85e4d870becdaa7c6687db32eb6eecf849ed25e9
DIST puppet-8.1.0.tar.gz 2877086 BLAKE2B 24fde48d04790ca308ef80ca51021b69dd08f703eec49724f753aabe36b824d338d135e985a5741b7e412f807ee35edf7898d2bc12d61bd9243e3fc1540808e2 SHA512 7811d67f83c72d67d5d463ccddece8889868f302217229f748a1d95df8b64213d9ee86a34e42af3beed9fc55cf70a14f63e6b8a6fcd18feb259e1d027dc35259
DIST puppet-8.2.0.tar.gz 2882267 BLAKE2B b109e5cc9fddfa96ebc3be6b892d46a4616a5c1cec677937d02e16d0de6e39c147a9b117514e37ce29b39203f167a33dfe3a6c849fc7ebabecd48925b0d2595b SHA512 40e46350aadd19e187cc2a3c46cfa9f85bb2ffb944b0dcb18d084b10a8baca4c3c830e1361c840490c4f6257930a3ccb556d76b1a933e579ef37103556991b0e

@ -0,0 +1,128 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
USE_RUBY="ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC="doc:all"
RUBY_FAKEGEM_EXTRAINSTALL="locales"
inherit ruby-fakegem systemd tmpfiles
DESCRIPTION="A system automation and configuration management software"
HOMEPAGE="https://puppet.com/"
SRC_URI="http://downloads.puppetlabs.com/puppet/${P}.tar.gz"
LICENSE="Apache-2.0 GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
IUSE="augeas diff doc emacs hiera ldap rrdtool selinux shadow sqlite vim-syntax"
RESTRICT="test"
# <dev-ruby/concurrent-ruby-1.2 for bug #900206
# - https://tickets.puppetlabs.com/browse/PUP-11722 (workaround, pinning)
# - https://tickets.puppetlabs.com/browse/PUP-11723 (bug for fixing the pinning)
ruby_add_rdepend "
hiera? ( dev-ruby/hiera )
dev-ruby/json:=
dev-ruby/semantic_puppet
>=dev-ruby/facter-3.0.0
dev-ruby/deep_merge
<dev-ruby/concurrent-ruby-1.2
augeas? ( dev-ruby/ruby-augeas )
diff? ( dev-ruby/diff-lcs )
doc? ( dev-ruby/rdoc )
ldap? ( dev-ruby/ruby-ldap )
shadow? ( dev-ruby/ruby-shadow )
sqlite? ( dev-ruby/sqlite3 )
virtual/ruby-ssl
dev-ruby/hocon"
ruby_add_bdepend "
doc? ( dev-ruby/yard )
test? (
dev-ruby/mocha
dev-ruby/rack
dev-ruby/rspec-its
)"
# this should go in the above lists, but isn't because of test deps not being keyworded
# dev-ruby/rspec-collection_matchers
RDEPEND+=" ${RDEPEND}
rrdtool? ( >=net-analyzer/rrdtool-1.2.23[ruby] )
selinux? (
sys-libs/libselinux[ruby]
sec-policy/selinux-puppet
)
vim-syntax? ( >=app-vim/puppet-syntax-3.0.1 )
>=app-portage/eix-0.18.0
acct-user/puppet
acct-group/puppet"
PDEPEND="emacs? ( >=app-emacs/puppet-mode-0.3-r1 )"
all_ruby_prepare() {
# Avoid spec that require unpackaged json-schema.
rm spec/lib/matchers/json.rb $( grep -Rl matchers/json spec) || die
# fix systemd path
eapply -p0 "${FILESDIR}/puppet-systemd.patch"
# Avoid specs that can only run in the puppet.git repository. This
# should be narrowed down to the specific specs.
rm spec/integration/parser/compiler_spec.rb || die
# Avoid failing spec that need further investigation.
rm spec/unit/module_tool/metadata_spec.rb || die
}
each_ruby_install() {
each_fakegem_install
# dosym "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${P}" \
# "/usr/$(get_libdir)/ruby/gems/$(ruby_get_version)/gems/${PN}"
}
all_ruby_install() {
all_fakegem_install
# systemd stuffs
systemd_dounit "${WORKDIR}/all/${P}/ext/systemd/puppet.service"
# tmpfiles stuff
newtmpfiles "${FILESDIR}/tmpfiles.d-2" "puppet.conf"
# openrc init stuff
newinitd "${FILESDIR}"/puppet.init puppet
keepdir /etc/puppetlabs/puppet/ssl
keepdir /var/lib/puppet/facts
keepdir /var/lib/puppet/files
fowners -R puppet:puppet /var/lib/puppet
fperms 0750 /var/lib/puppet
fperms 0750 /etc/puppetlabs
fperms 0750 /etc/puppetlabs/puppet
fperms 0750 /etc/puppetlabs/puppet/ssl
fowners -R :puppet /etc/puppetlabs
fowners -R :puppet /var/lib/puppet
# ext and examples files
for f in $(find ext examples -type f) ; do
docinto "$(dirname ${f})"
dodoc "${f}"
done
}
pkg_postinst() {
tmpfiles_process puppet.conf
elog
elog "Please, *don't* include the --ask option in EMERGE_EXTRA_OPTS as this could"
elog "cause puppet to hang while installing packages."
elog
elog "Portage Puppet module with Gentoo-specific resources:"
elog "http://forge.puppetlabs.com/gentoo/portage"
elog
}

@ -1,2 +1,3 @@
DIST puppetdb-7.13.0.tar.gz 49917440 BLAKE2B 7cb01b2dbd6b6b22aad11a7fbcabff1c8452d51437bd0b3db3c8afe9d72bb853b66a9c8056c4c7c33f284efc4a90c788a05411fe6f80ae081ef817bb7f609bf3 SHA512 ba94031b3c15d38a2719390145e034be453a5f8368b5c53420bf3b371cc36a49f0b416447ec4d9de41ef0618b32ec806b9bae996ec3c4ca0ce05fb152940c2f2
DIST puppetdb-8.0.0.tar.gz 50152833 BLAKE2B 89ed62b107f97252aaaffe6124e6f6627b19092fd161b51c8e27d703896d4c7f0c86c0f8ca79f26995abcb29e756f3670f82aa1c6c9b84c6c411451399c6f2de SHA512 7beeaed5b26361c306d8e6319747fc1eb809a82aac503f17b5ca1caebb1972a718e19c118da4b6717914e25aa7bdf410925865bad6a34deba411e1032538b19a
DIST puppetdb-8.1.0.tar.gz 56647151 BLAKE2B ba1fa54db6413ab45780546a33039799e2e1fbb16f99c5e3e54a382d2f6d1c2a2b8a65d0dbfe881284b9218f4b0f0b105e6c2d8ade12a7d2c25c3505bb9f4d07 SHA512 76ee2b616373c60496d4bc1f90a01b6d30fa6254ce8788a8438e28cabe55358a10653cfcb78ceda00c90c499c77cf2f77138a3f49daf9b4ebe77255fd134e017

@ -0,0 +1,90 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit systemd tmpfiles
DESCRIPTION="PuppetDB collects data generated by Puppet"
HOMEPAGE="http://docs.puppetlabs.com/puppetdb/"
SRC_URI="https://downloads.puppetlabs.com/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~x86"
RDEPEND+=">=virtual/jdk-11"
DEPEND+="acct-user/puppetdb
acct-group/puppetdb"
src_prepare() {
sed -i 's/sysconfig/conf\.d/g' ext/redhat/puppetdb.service || die
sed -i 's/sysconfig/conf\.d/g' ext/bin/puppetdb || die
sed -i 's/sysconfig/conf\.d/g' install.sh || die
sed -i 's/var\/run/run/g' ext/puppetdb.tmpfiles.conf || die
sed -i 's/var\/run/run/g' install.sh || die
default
}
src_compile() {
einfo "not compiling"
}
src_install() {
dodir /opt/puppetlabs/server/data/puppetdb
insinto /opt/puppetlabs/server/apps/puppetdb
insopts -m0744
doins ext/ezbake-functions.sh
insopts -m0644
doins ext/ezbake.manifest
doins puppetdb.jar
insinto /etc/puppetlabs/puppetdb
doins ext/config/logback.xml
doins ext/config/bootstrap.cfg
doins ext/config/request-logging.xml
insinto /etc/puppetlabs/puppetdb/conf.d
doins ext/config/conf.d/jetty.ini
doins ext/config/conf.d/repl.ini
doins ext/config/conf.d/database.ini
doins ext/config/conf.d/config.ini
doins ext/config/conf.d/auth.conf
insopts -m0755
insinto /opt/puppetlabs/server/apps/puppetdb/scripts
doins install.sh
insinto /opt/puppetlabs/server/apps/puppetdb/cli/apps
doins ext/cli/foreground
doins ext/cli/ssl-setup
doins ext/cli/config-migration
doins ext/cli/foreground
doins ext/cli/anonymize
doins ext/cli/reload
doins ext/cli/start
doins ext/cli/stop
insinto /opt/puppetlabs/server/apps/puppetdb/bin
doins ext/bin/puppetdb
insopts -m0644
dodir /opt/puppetlabs/server/bin
dosym ../apps/puppetdb/bin/puppetdb /opt/puppetlabs/server/bin/puppetdb
dodir /opt/puppetlabs/bin
dosym ../server/apps/puppetdb/bin/puppetdb /opt/puppetlabs/bin/puppetdb
dosym ../../opt/puppetlabs/server/apps/puppetdb/bin/puppetdb /usr/bin/puppetdb
# init type tasks
newconfd ext/default puppetdb
systemd_dounit ext/redhat/puppetdb.service
newtmpfiles ext/puppetdb.tmpfiles.conf puppetdb.conf
newinitd "${FILESDIR}/puppetdb.initd-r2" puppetdb
# misc
insinto /etc/logrotate.d
newins ext/puppetdb.logrotate.conf puppetdb
fowners -R puppetdb:puppetdb /opt/puppetlabs/server/data/puppetdb
fperms -R 770 /opt/puppetlabs/server/data/puppetdb
}
pkg_postinst() {
tmpfiles_process puppetdb.conf
elog "to install please run '/opt/puppetlabs/server/bin/puppetdb ssl-setup'"
elog
elog "to upgrade please run '/opt/puppetlabs/server/bin/puppetdb config-migration'"
}

@ -8,7 +8,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/speed47/spectre-meltdown-checker.git"
else
SRC_URI="https://github.com/speed47/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
KEYWORDS="amd64 arm arm64 x86"
fi
DESCRIPTION="Spectre & Meltdown vulnerability/mitigation checker for Linux"

@ -1,72 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 prefix
if [[ ${PV} = 9999* ]]
then
EGIT_REPO_URI="https://anongit.gentoo.org/proj/${PN}.git"
inherit git-r3
else
SRC_URI="https://dev.gentoo.org/~blueness/${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}] )"
python_prepare_all() {
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
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."
}

@ -14,7 +14,7 @@ then
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"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="Gentoo's installer for web-based applications"

Binary file not shown.

@ -26,7 +26,6 @@ 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.8.tar.gz 16524716 BLAKE2B 207a6087de9134586215a4f3fe02cb071135c38fac792f6cb2d4c4a3c9e596bff5dd0a0ac3dd9f6018771d866fa9e64223933f96cec3ee6e8ce17a743c3d952f SHA512 8e030fef5788cf4df8f4d878363df1e5d9abcaa209b9f998f57334ede481d755b33958b5e9bb82be9643cb7442814711e4c9978314cadd7eb9161fee03b74439
DIST clamav-0.103.9.tar.gz 16530718 BLAKE2B 3eb4fb366769c46700e7fa3b2d508875b3c670436585c047fb399e02e2b89f289b56c0f412f85f0a125e98dd2b56e2f798747dd642897cd857ea984336cd641f SHA512 198b596144273e1113f69ad45776746c6cc444d3a5c0931ad74de16b18b3a901b2b5366327a26e53865cdd807a8c17115bd55fe33921bea53bfa8527048eea99
DIST clamav-1.0.1.tar.gz 10320098 BLAKE2B f7672e4a5870e39d589c655215202f4a8beb3ec82e898086105452f6fcb55cb888fe33879fb04b85a290244aa9c556cbe96a379b4e790b04a5dcbed712f49c33 SHA512 521ebcc19e149b76e1d95c3d4e313ad83ec89703d68ef9b0bd74251bdb115c2d48b7cf0bf183f502118e495c7e1fb91665ff861642acd178c5b60f22e9e24433
DIST clamav-1.0.2.tar.gz 10332308 BLAKE2B 98b95079bab6d4072fb301837d2c2a4f1c1b0f4feebc9c04a97f23408e7a17ee3d401c5ed087c70d8c324d49e9ee83afb363e884f62f8e4747d9c9306f8edc50 SHA512 6d3f52633e9a33c2608c3f8f33cf175e4ad5ed1639594f6683d23e47b9ef01305ff4f21643fcc7aacd5462bae1cc8022f609fe24c8181a148b545db84d8035c8
DIST clamav-1.1.0.tar.gz 10297532 BLAKE2B 36629f9bf23a55591002517ecbad798484d351f060220ab554797d4acd356b89cc68f83f81a415d532c51fde33f1882ddaaa847c1935abb6b12d571b3976d66f SHA512 1a1cfd2e43518eafa127304704193e96162410d676fca6c868fd42f871412bbe91f379bb5c74abd89c14cfa3d580339bb79c10868776e46427a7afd9b55dc851
DIST clamav-1.1.1.tar.gz 10297961 BLAKE2B 329743cfa232bbd5e05af08a243edbed121a416c16dd121aac18e193618dda525725bc2b8475282ca6fc20ae1908fa02aeb3253e9509c3dbf3ceb3a588174725 SHA512 c5426d4e3861996a784bda86bb7ef70a834313c57aa09c6225939a4908e67266312e0cf8e709a0a808fb0a6f48c6c8708c4e2f6e1930f8283b5453ed37424d9c
@ -148,12 +147,10 @@ DIST png-0.17.9.crate 88839 BLAKE2B b218fcaa166f142ced8ae75a47bb587015d0a449210f
DIST prettyplease-0.2.10.crate 56634 BLAKE2B f49c4fa42369d366f88656fbb716bacfc442b59d8ff47fa39e74238eca33f07aefd78289eea5a53055aed2522dff530de5130b0b319633b902fc895b03b47925 SHA512 80b10b3460cd37928d638f1223ced0c1b56047cd5be98722ee1cd37cfa3c991c8a78b3603d89349c22e201d653526e0321c5d685e0377bc75d5995e2428926f7
DIST prettyplease-0.2.4.crate 53478 BLAKE2B d83d392c7e7e0a4fa082d5c84615b012cf1988ec0a475be99313f95bcee47a11eb8c710fb992a18c0c6627b39e27b39fa767c4fa4c1c48f54cc4698f14577697 SHA512 68ea70cdbccad0e91c251bb66b317e126bda3c34fbd2d50f95549f7ee3e48566a7eafb77f58e40e3f298bc2a34f2a5b0d900067c717b117602dc57284d789480
DIST primal-check-0.3.3.crate 8720 BLAKE2B 9c7b5273a5df414c57b4104b9bf795b853b433da3a5d91a1b878ef9b7cdb6a810572dfb8fae11543a106760e449b886f6e10a12347f043171f5d7947b30f2b20 SHA512 d56fcee65802b1ca272515589574786dfd066099c55a536cb1076193242859074918651c4fa3c1a7dab4fd13ba91c8f6a2a5b0789a6cd24faffc092edf27d75e
DIST proc-macro2-1.0.51.crate 41804 BLAKE2B 579e5a157da81cd8350a6407603e5f8102bb9b6618ea8e81ced1692a6a6f4b57bec35aeb965b643f2542f65a3b9965fbbcf7e0ade35cf159270583d34665a628 SHA512 10ad77a5d05437c1b2c40a8f82389d081e64993171aa6259e8dca98d9afb04f5fb870f2037ad626a280d59c1a89fd4482bead701d744d6fb7c893bd9e78dfc1f
DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
DIST qoi-0.4.1.crate 71135 BLAKE2B 8b4e2ebfdd6df425efb1326912e8db02258e570320fdeef465aa8b03f3248cd811bedaa17c15902f851083cc1db06a2b500aeddf734345eb25af0d835300b2f0 SHA512 884cde33bfb2d02716daa5f309890093bdb7b3f53eb06aca0b6eff0b7a66fd67cb8b9acd510d19e3ae7718930add971e871532a1605e4989639bf72f59329377
DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
DIST rayon-1.6.1.crate 166330 BLAKE2B 5bbc439e0c88780b8d80cb36d4b4164e698a1189bd140e8c84d9f6a466023de0cd69a1f24c4217d595ae9af1f61aca6829461648152116c6bebeef0f0e686e50 SHA512 2e03585170e59f4388359817d67a43cd10a2244382615ae39bf84210db03a6dfec3b75d8a23800b8faaa31f45e8df4c44fbc343f02e18dd3dc0572c207791e73
@ -267,6 +264,5 @@ DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d15799780
DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
DIST zune-inflate-0.2.42.crate 37288 BLAKE2B 2d60c589607583826570c2877e1deae1a4dcf2c76ef705efc792cbf0f8bef2a1f4c4e75380efa890479b2cf168c34c7054b520aa799ccb20d43ae94526752458 SHA512 ea2c070a3df93c519f4360ee17fd1c51d8c6e194c61b391ab8c40d81c86bc7d2021bf08f97a106710806cdb16797d710b7722197edc9cce25de3c3752549bf09
DIST zune-inflate-0.2.50.crate 37058 BLAKE2B 6e6686708ce4f83dc753cf93af7304e177568fe77dbef5b1feec6b38731da7ff077a2b1e02c24e270e013066c240c2a936b8a25a5a0a79f9f242831c1b46a810 SHA512 02fa9bbc4a30e145f034581212333788a24ad9756b1d2efef3a8b6967389fcb4258fe5c71936eb16b75238965021ae796525a754a94ff96d2d45f4e0509f74c0
DIST zune-inflate-0.2.53.crate 36273 BLAKE2B f9541ae3a15422a13a731cd1f43df475dd9f5f0c3934247d70a61278e041f8b182ff3b7e053cdc38231c1f07187805e42e3656dda91a4f577817f9d46722b4e5 SHA512 6238def319045557a640f8a60f8c525b0749e6eed0c9856a52e0e33fc6f02d3a32a9c9145b317aee45bac3f2fe7a1e76eb14ac35519f6e895a2eec47cc5ad5d3
DIST zune-inflate-0.2.54.crate 37973 BLAKE2B 8bdb532fae0da1d61fc9fc72ea72a9339116e1952e76ba7376f0ba0ea65101b88cd1e4766f516f21028a5ea3459e5590e7a54175a47f136cc572ed9abec2da2f SHA512 0de30f310121c1fed42612b7bcb50631d699195a77c7ce4094729f502e63d1ae38034d6054d95b6825e7e9a2afb7bb614ff123e12736163fee04a46ef1dc56bd

@ -10,7 +10,7 @@ HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
SLOT="0/lts"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="bzip2 doc clamonacc clamdtop clamsubmit iconv ipv6 libclamav-only milter metadata-analysis-api selinux systemd test xml"

@ -10,7 +10,7 @@ HOMEPAGE="https://www.clamav.net/"
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
SLOT="0/lts"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="bzip2 doc clamonacc clamdtop clamsubmit iconv ipv6 libclamav-only milter metadata-analysis-api selinux systemd test xml"

@ -4,139 +4,136 @@
EAPI=8
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
# Auto-Generated by cargo-ebuild 0.5.4
CRATES="
adler-1.0.2
aho-corasick-0.7.20
ansi_term-0.12.1
atty-0.2.14
autocfg-1.1.0
bindgen-0.59.2
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
cexpr-0.6.0
cfg-if-1.0.0
clang-sys-1.4.0
clap-2.34.0
color_quant-1.1.0
cpufeatures-0.2.5
crc32fast-1.3.2
crossbeam-channel-0.5.6
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
env_logger-0.9.3
exr-1.5.3
fastrand-1.9.0
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.1.19
hermit-abi-0.2.6
hex-0.4.3
humantime-2.1.0
image-0.24.5
indexmap-1.9.2
instant-0.1.12
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
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
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.1
peeking_take_while-0.1.2
pin-project-1.0.12
pin-project-internal-1.0.12
png-0.17.7
primal-check-0.3.3
proc-macro2-1.0.51
quote-1.0.23
rayon-1.6.1
rayon-core-1.10.2
redox_syscall-0.2.16
regex-1.7.1
regex-syntax-0.6.28
remove_dir_all-0.5.3
rustc-hash-1.1.0
rustdct-0.7.1
rustfft-6.1.0
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.1.0
simd-adler32-0.3.4
smallvec-1.10.0
spin-0.9.5
strength_reduce-0.2.4
strsim-0.8.0
syn-1.0.107
tempfile-3.3.0
termcolor-1.2.0
textwrap-0.11.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.2
typenum-1.16.0
unicode-ident-1.0.6
unicode-segmentation-1.10.1
unicode-width-0.1.10
vec_map-0.8.2
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-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
zune-inflate-0.2.50
adler@1.0.2
ansi_term@0.12.1
atty@0.2.14
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
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.4.0
clap@2.34.0
color_quant@1.1.0
cpufeatures@0.2.5
crc32fast@1.3.2
crossbeam-channel@0.5.6
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
exr@1.5.3
fastrand@1.8.0
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.1.19
hermit-abi@0.2.6
hex@0.4.3
image@0.24.5
indexmap@1.9.2
instant@0.1.12
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
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
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.7
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
remove_dir_all@0.5.3
rustc-hash@1.1.0
rustdct@0.7.1
rustfft@6.1.0
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.1.0
simd-adler32@0.3.4
smallvec@1.10.0
spin@0.9.5
strength_reduce@0.2.4
strsim@0.8.0
syn@1.0.107
syn@2.0.15
tempfile@3.3.0
textwrap@0.11.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.2
typenum@1.16.0
unicode-ident@1.0.6
unicode-segmentation@1.10.1
unicode-width@0.1.10
vec_map@0.8.2
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
zune-inflate@0.2.42
"
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
@ -146,15 +143,16 @@ 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 ${CRATES})"
${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"
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 systemd test"
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
@ -166,13 +164,12 @@ 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.
CDEPEND="
COMMON_DEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libmspack
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
@ -184,12 +181,15 @@ CDEPEND="
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.61
>=virtual/rust-1.71
doc? ( app-doc/doxygen )
test? (
${PYTHON_DEPS}
@ -197,10 +197,10 @@ BDEPEND="
)
"
DEPEND="${CDEPEND}
DEPEND="${COMMON_DEPEND}
test? ( dev-libs/check )"
RDEPEND="${CDEPEND}
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-clamav )"
python_check_deps() {
@ -212,10 +212,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
}
PATCHES=(
"${FILESDIR}/${P}-select-python.patch"
)
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
@ -230,7 +226,7 @@ src_configure() {
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=ON
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
@ -276,8 +272,6 @@ src_install() {
use milter && \
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
rm -rf "${ED}"/var/lib/clamav || die
if ! use libclamav-only ; then
if use systemd ; then
# The tmpfiles entry is behind USE=systemd because the
@ -338,7 +332,7 @@ src_install() {
fi
done
# These both need to be writable by the clamav user.
# 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

@ -1,384 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{9..11} )
# Auto-Generated by cargo-ebuild 0.5.4
CRATES="
adler-1.0.2
ansi_term-0.12.1
atty-0.2.14
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
cexpr-0.6.0
cfg-if-1.0.0
clang-sys-1.4.0
clap-2.34.0
color_quant-1.1.0
cpufeatures-0.2.5
crc32fast-1.3.2
crossbeam-channel-0.5.6
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
exr-1.5.3
fastrand-1.8.0
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.1.19
hermit-abi-0.2.6
hex-0.4.3
image-0.24.5
indexmap-1.9.2
instant-0.1.12
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
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
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.7
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
remove_dir_all-0.5.3
rustc-hash-1.1.0
rustdct-0.7.1
rustfft-6.1.0
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.1.0
simd-adler32-0.3.4
smallvec-1.10.0
spin-0.9.5
strength_reduce-0.2.4
strsim-0.8.0
syn-1.0.107
syn-2.0.15
tempfile-3.3.0
textwrap-0.11.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.2
typenum-1.16.0
unicode-ident-1.0.6
unicode-segmentation-1.10.1
unicode-width-0.1.10
vec_map-0.8.2
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
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 ${CRATES})"
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
SLOT="0"
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 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.
CDEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libmspack
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 )
test? ( dev-python/pytest )
"
BDEPEND="
virtual/pkgconfig
>=virtual/rust-1.61
doc? ( app-doc/doxygen )
test? (
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
"
DEPEND="${CDEPEND}
test? ( dev-libs/check )"
RDEPEND="${CDEPEND}
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
}
PATCHES=(
"${FILESDIR}/${PN}-1.0.1-select-python.patch"
)
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=ON
-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
rm -rf "${ED}"/var/lib/clamav || die
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
}

@ -182,7 +182,8 @@ SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
SLOT="0"
# 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

@ -4,172 +4,172 @@
EAPI=8
LLVM_MAX_SLOT=13
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
# Auto-Generated by cargo-ebuild 0.5.4
CRATES="
adler-1.0.2
aho-corasick-0.7.20
ansi_term-0.12.1
atty-0.2.14
autocfg-1.1.0
base64-0.21.0
bindgen-0.59.2
bit_field-0.10.2
bitflags-1.3.2
block-buffer-0.10.4
bumpalo-3.12.0
bytemuck-1.13.1
byteorder-1.4.3
cbindgen-0.24.3
cc-1.0.79
cexpr-0.6.0
cfg-if-1.0.0
clang-sys-1.6.1
clap-2.34.0
clap-3.2.23
clap_lex-0.2.4
color_quant-1.1.0
cpufeatures-0.2.6
crc32fast-1.3.2
crossbeam-channel-0.5.8
crossbeam-deque-0.8.3
crossbeam-epoch-0.9.14
crossbeam-utils-0.8.15
crunchy-0.2.2
crypto-common-0.1.6
digest-0.10.6
either-1.8.1
env_logger-0.9.3
errno-0.3.1
errno-dragonfly-0.1.2
exr-1.6.3
fastrand-1.9.0
fdeflate-0.3.0
flate2-1.0.25
flume-0.10.14
futures-core-0.3.28
futures-sink-0.3.28
generic-array-0.14.7
getrandom-0.2.9
gif-0.12.0
glob-0.3.1
half-2.2.1
hashbrown-0.12.3
heck-0.4.1
hermit-abi-0.1.19
hermit-abi-0.2.6
hermit-abi-0.3.1
hex-0.4.3
humantime-2.1.0
image-0.24.6
indexmap-1.9.3
instant-0.1.12
io-lifetimes-1.0.10
itoa-1.0.6
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.141
libloading-0.7.4
linux-raw-sys-0.3.1
lock_api-0.4.9
log-0.4.17
memchr-2.5.0
memoffset-0.8.0
minimal-lexical-0.2.1
miniz_oxide-0.6.2
miniz_oxide-0.7.1
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.1
os_str_bytes-6.5.0
peeking_take_while-0.1.2
pin-project-1.0.12
pin-project-internal-1.0.12
png-0.17.8
primal-check-0.3.3
proc-macro2-1.0.66
qoi-0.4.1
quote-1.0.26
rayon-1.7.0
rayon-core-1.11.0
redox_syscall-0.3.5
regex-1.7.3
regex-syntax-0.6.29
rustc-hash-1.1.0
rustdct-0.7.1
rustfft-6.1.0
rustix-0.37.11
ryu-1.0.13
scopeguard-1.1.0
serde-1.0.160
serde_derive-1.0.160
serde_json-1.0.96
sha1-0.10.5
sha2-0.10.6
shlex-1.1.0
simd-adler32-0.3.5
smallvec-1.10.0
spin-0.9.8
strength_reduce-0.2.4
strsim-0.8.0
strsim-0.10.0
syn-1.0.109
syn-2.0.15
tempfile-3.5.0
termcolor-1.2.0
textwrap-0.11.0
textwrap-0.16.0
thiserror-1.0.40
thiserror-impl-1.0.40
tiff-0.8.1
toml-0.5.11
transpose-0.2.2
typenum-1.16.0
unicode-ident-1.0.8
unicode-segmentation-1.10.1
unicode-width-0.1.10
vec_map-0.8.2
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-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
windows-sys-0.45.0
windows-sys-0.48.0
windows-targets-0.42.2
windows-targets-0.48.0
windows_aarch64_gnullvm-0.42.2
windows_aarch64_gnullvm-0.48.0
windows_aarch64_msvc-0.42.2
windows_aarch64_msvc-0.48.0
windows_i686_gnu-0.42.2
windows_i686_gnu-0.48.0
windows_i686_msvc-0.42.2
windows_i686_msvc-0.48.0
windows_x86_64_gnu-0.42.2
windows_x86_64_gnu-0.48.0
windows_x86_64_gnullvm-0.42.2
windows_x86_64_gnullvm-0.48.0
windows_x86_64_msvc-0.42.2
windows_x86_64_msvc-0.48.0
zune-inflate-0.2.53
adler@1.0.2
aho-corasick@0.7.20
ansi_term@0.12.1
atty@0.2.14
autocfg@1.1.0
base64@0.21.0
bindgen@0.59.2
bit_field@0.10.2
bitflags@1.3.2
block-buffer@0.10.4
bumpalo@3.12.0
bytemuck@1.13.1
byteorder@1.4.3
cbindgen@0.24.3
cc@1.0.79
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.6.1
clap@2.34.0
clap@3.2.23
clap_lex@0.2.4
color_quant@1.1.0
cpufeatures@0.2.6
crc32fast@1.3.2
crossbeam-channel@0.5.8
crossbeam-deque@0.8.3
crossbeam-epoch@0.9.14
crossbeam-utils@0.8.15
crunchy@0.2.2
crypto-common@0.1.6
digest@0.10.6
either@1.8.1
env_logger@0.9.3
errno@0.3.1
errno-dragonfly@0.1.2
exr@1.6.3
fastrand@1.9.0
fdeflate@0.3.0
flate2@1.0.25
flume@0.10.14
futures-core@0.3.28
futures-sink@0.3.28
generic-array@0.14.7
getrandom@0.2.9
gif@0.12.0
glob@0.3.1
half@2.2.1
hashbrown@0.12.3
heck@0.4.1
hermit-abi@0.1.19
hermit-abi@0.2.6
hermit-abi@0.3.1
hex@0.4.3
humantime@2.1.0
image@0.24.6
indexmap@1.9.3
instant@0.1.12
io-lifetimes@1.0.10
itoa@1.0.6
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.141
libloading@0.7.4
linux-raw-sys@0.3.1
lock_api@0.4.9
log@0.4.17
memchr@2.5.0
memoffset@0.8.0
minimal-lexical@0.2.1
miniz_oxide@0.6.2
miniz_oxide@0.7.1
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.1
os_str_bytes@6.5.0
peeking_take_while@0.1.2
pin-project@1.0.12
pin-project-internal@1.0.12
png@0.17.8
primal-check@0.3.3
proc-macro2@1.0.66
qoi@0.4.1
quote@1.0.26
rayon@1.7.0
rayon-core@1.11.0
redox_syscall@0.3.5
regex@1.7.3
regex-syntax@0.6.29
rustc-hash@1.1.0
rustdct@0.7.1
rustfft@6.1.0
rustix@0.37.11
ryu@1.0.13
scopeguard@1.1.0
serde@1.0.160
serde_derive@1.0.160
serde_json@1.0.96
sha1@0.10.5
sha2@0.10.6
shlex@1.1.0
simd-adler32@0.3.5
smallvec@1.10.0
spin@0.9.8
strength_reduce@0.2.4
strsim@0.8.0
strsim@0.10.0
syn@1.0.109
syn@2.0.15
tempfile@3.5.0
termcolor@1.2.0
textwrap@0.11.0
textwrap@0.16.0
thiserror@1.0.40
thiserror-impl@1.0.40
tiff@0.8.1
toml@0.5.11
transpose@0.2.2
typenum@1.16.0
unicode-ident@1.0.8
unicode-segmentation@1.10.1
unicode-width@0.1.10
vec_map@0.8.2
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-util@0.1.5
winapi-x86_64-pc-windows-gnu@0.4.0
windows-sys@0.45.0
windows-sys@0.48.0
windows-targets@0.42.2
windows-targets@0.48.0
windows_aarch64_gnullvm@0.42.2
windows_aarch64_gnullvm@0.48.0
windows_aarch64_msvc@0.42.2
windows_aarch64_msvc@0.48.0
windows_i686_gnu@0.42.2
windows_i686_gnu@0.48.0
windows_i686_msvc@0.42.2
windows_i686_msvc@0.48.0
windows_x86_64_gnu@0.42.2
windows_x86_64_gnu@0.48.0
windows_x86_64_gnullvm@0.42.2
windows_x86_64_gnullvm@0.48.0
windows_x86_64_msvc@0.42.2
windows_x86_64_msvc@0.48.0
zune-inflate@0.2.53
"
inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles
@ -179,15 +179,17 @@ 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 ${CRATES})"
${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"
# 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 systemd test"
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
@ -199,13 +201,12 @@ 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.
CDEPEND="
COMMON_DEPEND="
acct-group/clamav
acct-user/clamav
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libmspack
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
@ -217,12 +218,15 @@ CDEPEND="
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.61
>=virtual/rust-1.71
doc? ( app-doc/doxygen )
test? (
${PYTHON_DEPS}
@ -230,10 +234,10 @@ BDEPEND="
)
"
DEPEND="${CDEPEND}
DEPEND="${COMMON_DEPEND}
test? ( dev-libs/check )"
RDEPEND="${CDEPEND}
RDEPEND="${COMMON_DEPEND}
selinux? ( sec-policy/selinux-clamav )"
python_check_deps() {
@ -245,9 +249,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
}
#PATCHES=(
#)
src_configure() {
use elibc_musl && append-ldflags -lfts
use ppc64 && append-flags -mminimal-toc
@ -262,7 +263,7 @@ src_configure() {
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=ON
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
@ -308,8 +309,6 @@ src_install() {
use milter && \
newinitd "${FILESDIR}/clamav-milter.initd" clamav-milter
rm -rf "${ED}"/var/lib/clamav || die
if ! use libclamav-only ; then
if use systemd ; then
# The tmpfiles entry is behind USE=systemd because the
@ -370,7 +369,7 @@ src_install() {
fi
done
# These both need to be writable by the clamav user.
# 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

@ -169,12 +169,13 @@ SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz
S=${WORKDIR}/clamav-${MY_P}
LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB"
SLOT="0"
# 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 systemd test"
IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test"
REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter )
clamonacc? ( clamapp )
@ -192,7 +193,6 @@ COMMON_DEPEND="
app-arch/bzip2
dev-libs/json-c:=
dev-libs/libltdl
dev-libs/libmspack
dev-libs/libpcre2:=
dev-libs/libxml2
dev-libs/openssl:=
@ -204,12 +204,14 @@ COMMON_DEPEND="
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.61
>=virtual/rust-1.71
doc? ( app-doc/doxygen )
test? (
${PYTHON_DEPS}
@ -246,7 +248,7 @@ src_configure() {
-DENABLE_CLAMONACC=$(usex clamonacc ON OFF)
-DENABLE_DOXYGEN=$(usex doc)
-DENABLE_EXPERIMENTAL=$(usex experimental ON OFF)
-DENABLE_EXTERNAL_MSPACK=ON
-DENABLE_EXTERNAL_MSPACK=$(usex system-mspack ON OFF)
-DENABLE_JSON_SHARED=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MILTER=$(usex milter ON OFF)
@ -352,10 +354,8 @@ src_install() {
fi
done
# These both need to be writable by the clamav user;
# remove the installer-created empty directories
# These both need to be writable by the clamav user
# TODO: use syslog by default; that's what it's for.
rm -r "${ED}"/var/lib/clamav || die
diropts -o clamav -g clamav
keepdir /var/lib/clamav
keepdir /var/log/clamav

@ -21,17 +21,17 @@
<flag name="clamapp">
Build applications (clamscan, clamd, clamdscan, clamonacc (also has its own USE flag), sigtool, clambc, clamav-milter (also requires milter USE flag), clamdtop, clamsubmit, clamconf).
</flag>
<flag name="clamonacc">Build the clamonacc on-access scanner</flag>
<flag name="clamdtop">A Top like tool which shows what clamd is currently scanning amongst other things</flag>
<flag name="clamonacc">Build the clamonacc on-access scanner</flag>
<flag name="clamsubmit">A tool to submit false positives / negatives</flag>
<flag name="experimental">Enable experimental features</flag>
<flag name="libclamav-only">Bypass building of libfreshclam and the ClamAV CLI applications.</flag>
<flag name="metadata-analysis-api">Enables collection of file property metadata using ClamAV API for analysis by ClamAV bytecode programs.</flag>
<flag name="xml">DMG and XAR support</flag>
<flag name="rar">RAR support</flag>
<flag name="system-mspack">Use <pkg>dev-libs/libmspack</pkg> instead of the version bundled with ClamAV</flag>
<flag name="xml">DMG and XAR support</flag>
</use>
<upstream>
<remote-id type="github">Cisco-Talos/clamav</remote-id>
<remote-id type="sourceforge">clamav</remote-id>
</upstream>
</pkgmetadata>

Binary file not shown.

@ -14,7 +14,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ~ppc ppc64 sparc x86"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
# We keep uuid USE flag default dsiabled for this version. Don't forget
# to default enable it for later versions as this is the upstream default.
IUSE="bzip2 debug ermt lzo readline selinux sqlite ssl static test uuid zlib"

Binary file not shown.

@ -1 +1,2 @@
DIST dolphin-plugins-23.04.3.tar.xz 272912 BLAKE2B f0eb8bbab16d66f1e964131b436af7d3ae8febc26cf4fe394489a978c701ef2f5689bea7daf9eed8d7ef2f1f2bdba000a487cf7f0704ad30bd25e2d403ce5fae SHA512 8f487ba0bcbe561915064247ddb2327c3b7c8fa6ffc5c511d9c9ef37bd4f28a624533ce7a2da2a86b10b65f37915ca10840517872b40c2fd014cead6da5972c8
DIST dolphin-plugins-23.08.0.tar.xz 273412 BLAKE2B edd20bb433b5288cc5687009cfd65d978b98de6b81dbc9b8aeb598a84411f67557e72be5212844852ce4cd7ecdd9d092e003603dfe8e6b6a5a2a30d94fbb3f58 SHA512 4abf6e41c6a4755117446ac744779ca7acdf1f1380cffa5be9931fc1463073b20c3c0b26a20de86befb49541f04523aedb8114189d68413bb75317d98ee54615

@ -0,0 +1,62 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="false"
KDE_ORG_CATEGORY="sdk"
KDE_ORG_NAME="dolphin-plugins"
MY_PLUGIN_NAME="mountiso"
KFMIN=5.106.0
PVCUT=$(ver_cut 1-3)
QTMIN=5.15.9
inherit ecm gear.kde.org
DESCRIPTION="Dolphin plugin for ISO loopback device mounting"
HOMEPAGE="https://apps.kde.org/dolphin_plugins/"
LICENSE="GPL-2+"
SLOT="5"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
IUSE=""
DEPEND="
>=dev-qt/qtdbus-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-apps/dolphin-${PVCUT}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
>=kde-frameworks/kconfig-${KFMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/solid-${KFMIN}:5
"
RDEPEND="${DEPEND}"
src_prepare() {
ecm_src_prepare
# kxmlgui, qtnetwork only required by dropbox
ecm_punt_qt_module Network
ecm_punt_kf_module XmlGui
# delete non-${PN} translations
find po -type f -name "*po" -and -not -name "*${MY_PLUGIN_NAME}plugin" -delete || die
}
src_configure() {
local mycmakeargs=(
-DBUILD_${MY_PLUGIN_NAME}=ON
-DBUILD_bazaar=OFF
-DBUILD_dropbox=OFF
-DBUILD_git=OFF
-DBUILD_hg=OFF
-DBUILD_svn=OFF
)
ecm_src_configure
}
src_install() {
ecm_src_install
rm "${D}"/usr/share/metainfo/org.kde.dolphin-plugins.metainfo.xml || die
}

Binary file not shown.

@ -2,3 +2,4 @@ DIST easy-rsa-3.0.6.tar.gz 663190 BLAKE2B 2c7f526c3ddddf13b4c6193bcd52bc992b9e81
DIST easy-rsa-3.0.8.tar.gz 3864366 BLAKE2B 8bbb16a8885a2141c59f590882002f5e4fa5c52c77130ac56b7ee5b1817a6c3acdecac2d8db4f4f4bce39f62b469afaf60b5d56f46c1ea9472afe36a5fb7a818 SHA512 db23262ba2cd1b7fec17340ebe11504741baff23098ea9b4b1118077abf8ff3091b1299f9624a6dd788b2e1c169d9820ba41d11b091949f3f6c96ee8e0509231
DIST easy-rsa-3.1.2.tar.gz 6424018 BLAKE2B fef84b90875837c151bf9d71f71587d81aba79579948f4ff29ec3632cd17b0de82bf64c7d25b93720a696d339acdbf520b3a366e3ab214789acd17629d5db5ba SHA512 f36d3e11488ee98be4d901a8ae4f6cf08f4f0efc95bec38d1f1cde3ebd9dd133fe493cab2ebbbbbc99e803e318f93536e6a45ae677adb65c94d998114278035a
DIST easy-rsa-3.1.5.tar.gz 6456901 BLAKE2B 04bf53b5e6c4dc9062b05f96fea5e28005fd409dcb0f4ac490318322fd80b91bae3d66d2af62b59f8f2ccb24becc27ea1510a5edf4b4a401deafcdc6a09f63e2 SHA512 f803e790d5a93c3cfd127621f55af572d4d5eb99220c2ec9ccfc6db6659588bcbf43a41ac0aca81c45f964ecd9584f27e0cd3384b7141ebf49420e5ad4a8521c
DIST easy-rsa-3.1.6.tar.gz 6814828 BLAKE2B e61fa195e8edeb4b529c86f5814f47f8b10746dfe2effe48685651edd43e4ec9efe4acc2df4d5d13e4348455e36d0623bf5d1a78f2b0f68fb0e63afcee8630d4 SHA512 fb4cb25d63c2ca81cb1723d2ad0f321ff78b519fbde99ebbb97cea82d69292d283a5b927583f9721e91d157587615ecb7c918364d3aca0676b4e2ee624883074

@ -0,0 +1,25 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Small RSA key management package, based on OpenSSL"
HOMEPAGE="https://openvpn.net/"
SRC_URI="https://github.com/OpenVPN/easy-rsa/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
DEPEND=">=dev-libs/openssl-0.9.6:0="
RDEPEND="${DEPEND}"
src_install() {
exeinto /usr/share/easy-rsa
doexe easyrsa3/easyrsa
insinto /usr/share/easy-rsa
doins -r easyrsa3/{vars.example,openssl-easyrsa.cnf,x509-types}
dodoc README.quickstart.md ChangeLog
dodoc -r doc
doenvd "${FILESDIR}/65easy-rsa" # config-protect easy-rsa
}

@ -1 +1,2 @@
DIST keysmith-23.04.3.tar.xz 161996 BLAKE2B a160501a3fd29f83814611b0d738d6df487af0f98ffb7f9bb2c39b5ae67a3cc7af605f9d6c894d0e8ce351bd4d740b7247e1cf7541f4a1c1079110f384ce2de0 SHA512 a7ad96c91f5b50954aa185bdec81af8feafc1190105d28a3166b84442e5d58bd8a6dddcabd9d1f907b585f4082fe2dd16991b0c922bde087e1edfcc0b28027a1
DIST keysmith-23.08.0.tar.xz 163324 BLAKE2B d8d119a674a66ce89804416fed21450937ce67c7188323da992a2682182f7d81b02545db832cfc8a48fab37ef408c80d9940d91916a1cc41534f8101a03d5136 SHA512 75b43fdeef928d2e9ee584f07e340e9cdd441ceae689b2d7226e2603730cef768823eabdbf29b678a4f1f446e1e493bfed3cb5fc1d7864267aadfeb868470d03

@ -0,0 +1,34 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_CATEGORY="utilities"
ECM_TEST="true"
KFMIN=5.106.0
QTMIN=5.15.9
inherit ecm gear.kde.org
DESCRIPTION="OTP client for Plasma Mobile and Desktop"
HOMEPAGE="https://apps.kde.org/keysmith/"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
IUSE=""
RDEPEND="
dev-libs/libsodium:=
>=dev-qt/qtdeclarative-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtquickcontrols2-${QTMIN}:5
>=dev-qt/qtsvg-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kdbusaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kirigami-${KFMIN}:5
>=kde-frameworks/kwindowsystem-${KFMIN}:5
"
DEPEND="${RDEPEND}
>=dev-qt/qtconcurrent-${QTMIN}:5
"

Binary file not shown.

@ -1,2 +1 @@
DIST sjp-aspell6-pl-6.0_20230301-0.tar.bz2 656145 BLAKE2B a17d56b99861575bea9d090b21671c7c92ac7d1a3281ad19604c508c01c37fb89fb25f5607584e1e22169e781cfdbbfbb13f2dce654381bfe71975d2bd42b7c5 SHA512 4b7a77abb985ea602ff522a65ee7c0b84a075b6bd66cffe8c9ad5b1a0bbda8d1e87cea9e3c8ba3a9498b940c3ae6f39b2a8f2edadd3b732d222733281b7f4efa
DIST sjp-aspell6-pl-6.0_20230701-0.tar.bz2 655245 BLAKE2B 1d734f85612694ffee451d74be5db2cb335ae5ecac0612b53257d70ebd08c9df5a2a415f75e98ea9da6a5d9314dddada688d799a9816fcf272c2a87cd1b32e14 SHA512 7c72957058f283cae16023ddb2a7f5a241e28557ed017b202b837e1e6428401d7884a110efc80a20782165741bc0738a139829c95888bee1c4a096112cbe9284

@ -1,18 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ASPELL_LANG="Polish"
ASPELL_VERSION=6
inherit aspell-dict-r1
HOMEPAGE="https://sjp.pl/slownik/en/"
MY_P="sjp-${PN/aspell/aspell6}-$(ver_rs 2 _ 3 -)"
SRC_URI="https://sjp.pl/slownik/ort/${MY_P}.tar.bz2"
S="${WORKDIR}/${MY_P/sjp-/}"
LICENSE="Apache-2.0 CC-BY-4.0 GPL-2 LGPL-2.1 MPL-1.1 "
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"

@ -15,4 +15,4 @@ SRC_URI="https://sjp.pl/slownik/ort/${MY_P}.tar.bz2"
S="${WORKDIR}/${MY_P/sjp-/}"
LICENSE="Apache-2.0 CC-BY-4.0 GPL-2 LGPL-2.1 MPL-1.1 "
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"

Binary file not shown.

@ -1,5 +1,5 @@
DIST python-2.7.18-docs-html.tar.bz2 4634932 BLAKE2B c48e2dede15d8186231acf65709641e0844c42e924262d6ee21a55e515aaf4d023bf394681bab780ab83998de9f409685e2d5870506810432145acc6422eff9d SHA512 db39390577ec86f13c9b6b57c01cba36fe9fd89092a773dc94f1a6a19d912759d097c4d80e765d3657b572abc731c1da9e7b4cd4c38065cd444606b906744abe
DIST python-3.10.12-docs-html.tar.bz2 7433462 BLAKE2B 8078af52a2ee8c2f308a30a2ceed2241080fa790c9e581809c85a5abb399522ae90b1126612b4cc1ce46d049e91b8d79d05e29337d55473c491dad1a2b80be5c SHA512 e6b02bdce8c96fa168f0faa2435773496ddf761072c93c2944870bafc0ddb49afea5fad73cf6000119bc01435fa558a19f70e5abebe1a51e7c9547911aa336fb
DIST python-3.11.4-docs-html.tar.bz2 7831799 BLAKE2B 81245e6f47f9179ac8fcf8c1e8a2d6f28c2f7924984d541af71684b4a00896ab38280150a04b8ed051a62ee957cd7613fe28ba79c23624b9bf00d1e7587d7e6c SHA512 b00fa45da239d804e12dcfd5f248b0feb060c2c6e7003913ba6b29a5d198e439dd59ac779c0e4417ccfa90f3654dd3233804974f47efda4fb5891fbe1c6a9f6f
DIST python-3.8.17-docs-html.tar.bz2 6737444 BLAKE2B f6f9a4da13837ecede50eb4d2074b1c6d2be616449f81712e3c551d61d56ac0e314aca84dbcae7d07e89d6f316bec5a6d0797fa0b0f8bf98632ff3c0b6ffad06 SHA512 ab29fc066df0edcaf40dab079cf8fcaa68b895da053ce9cf3d8d776510d804ccfb17ba04e5464ed5edaeb938aaac8aa51bba67c7c3dff80f65cc67bd2d902a1a
DIST python-3.9.17-docs-html.tar.bz2 7021842 BLAKE2B 7a5e3426ea47929289078f9fd2c4fc6b833ba172701ebe9d85f6f821d28bc0bbde1cf88fc99807cc9f7031039c10f451280baf3892040b28ad4733c1e53995fb SHA512 900b82f558b08058390d52b18aa2bcee4a8e74fa9555e36fc924c822506c80f002e90d51b1e6263c0dde612937b6d419e76952288ad923ffcca8562c927a8e76
DIST python-3.10.13-docs-html.tar.bz2 7429989 BLAKE2B 7ddd11dbc4012cebf2f5980653b761ee35b986b75d96d582800f84e4c371aee4b82fcc2001c744e7f14991e766b0930a9ef4cb46869544e0aa403e513c4bd418 SHA512 be2cb6a2ece7849b1c259e9d86b7cf5e2a91c30a976b155c4055fc229d35a1762a90321a6227e890b6d5be51ab3377b9059b9662eed683933ec676fc2dc5f9a9
DIST python-3.11.5-docs-html.tar.bz2 7861520 BLAKE2B ed43fba98f8446b758c1d81ccd4af297232499b666045d6b9b4190d33871e0fbb4e6e166783d54e923b02694a49bdfd791664c7bcab1392ab86254c45d9fe81d SHA512 911a70145aa919687982b9fb34fc0cedafcf654cf3f1e6908a6077d27718aedabc923ea49648d453584f7a7171138e19c1a99f32cb8d41731e5d9c50dc30df2d
DIST python-3.8.18-docs-html.tar.bz2 6729312 BLAKE2B 431b8d5029d09fc2f54fdc998799298ccb6571a68c735320c95469a81e62bc7c2a9ec0ec11caa9886ad6a2d643b8d715e6866c398ec153d101b16efb85cda656 SHA512 80bdbec04355644f4b114e74da3334b4980d783a52ac8c999ede72f39b6137d94f1aaca248a386cfa02d778a10bdd7919ad82932f0aa000b16c102c8cee67e52
DIST python-3.9.18-docs-html.tar.bz2 7023072 BLAKE2B 92273a711cc8c2a35104f7c35bdca50ee0e9794c72aa14e9c4e613298dd6f2ecebbe977a35f1520a8585f1ea3112e8ea8e477c0e3503b025b6cec875fe40033e SHA512 d123266c72db81703c386dc0d436243a36996c39cde382939cebea31ff7a0c049470daa27efc34a3a0d55310bc6fe489ba01572ca961f67ba7a098038f2cb5af

Binary file not shown.

@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.src.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="amd64 ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
DEPEND="sys-libs/ncurses:0="
RDEPEND="${DEPEND}"

@ -1 +1,2 @@
DIST ghostwriter-23.04.3.tar.xz 3074336 BLAKE2B 89314147c3222d0e83d26cedb81e6bf917e4f4e3d95650ba1d3096f06491343046dd5684d13014002a5249ec26af43cb050457c6f5d7c241b352a605b529b5af SHA512 d14e8c9928ec0638b98ca152d35ae88a7a4a582d4268e8f251252f080e4490b5c9433a814e6306acf7856c6a253f6e7aa9ed326328f90e0da8ef1214ef5a432c
DIST ghostwriter-23.08.0.tar.xz 3622636 BLAKE2B 792f9f1ec9aeec8415ed852dc1d5f2f2c18299f2d18f4f0c14da5245e10c3e813ce6b63639f69d15ec7909f996d9191fe8f7ef5c32e653506c31db7ff200d843 SHA512 3e6463c704b16a2adccae99c3db866db8ddd56642bda2cf98400d184ce058d62ffe2eea284e3cff79128b69a65cf9267bae5b440be9e3f62a357653c8fac1eef

@ -0,0 +1,41 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_CATEGORY="office"
ECM_HANDBOOK="optional"
KFMIN=5.106.0
QTMIN=5.15.9
inherit ecm gear.kde.org
DESCRIPTION="Cross-platform, aesthetic, distraction-free markdown editor"
HOMEPAGE="https://ghostwriter.kde.org/"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
IUSE=""
RDEPEND="
app-text/hunspell:=
>=dev-qt/qtgui-${QTMIN}:5
>=dev-qt/qtsvg-${QTMIN}:5
>=dev-qt/qtwebchannel-${QTMIN}:5
>=dev-qt/qtwebengine-${QTMIN}:5[widgets]
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
>=kde-frameworks/sonnet-${KFMIN}:5
virtual/opengl
"
DEPEND="${RDEPEND}
>=dev-qt/qtconcurrent-${QTMIN}:5
"
BDEPEND="
>=dev-qt/linguist-tools-${QTMIN}:5
virtual/pkgconfig
"
DOCS=( CHANGELOG.md README.md )

@ -0,0 +1,35 @@
From 5ca1bc18272c0ddbb3496fa29076ac2d65c034cf Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 27 Aug 2023 21:55:17 +0200
Subject: [PATCH] Search for KF5DocTools individually
Makes our ECM_HANDBOOK=forceoptional facility work while upstream is against it.
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 17203b22f..3c914f178 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,7 +93,6 @@ if( BUILD_DESKTOPPROGRAM )
list(APPEND ADDITIONAL_REQUIRED_KF_COMPONENTS
Crash
DBusAddons
- DocTools
)
endif()
find_package(KF5 ${REQUIRED_KF_VERSION} REQUIRED
@@ -117,6 +116,7 @@ ecm_set_disabled_deprecation_versions(
# helper libs
add_subdirectory( libs )
if( BUILD_DESKTOPPROGRAM )
+ find_package(KF5DocTools ${REQUIRED_KF_VERSION} REQUIRED)
add_subdirectory( doc )
endif()
--
2.42.0

@ -53,6 +53,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}/${P}-doctools-optional.patch" ) # downstream
src_configure() {
local mycmakeargs=(
-DOMIT_EXAMPLES=ON

Binary file not shown.

@ -22,13 +22,19 @@ fi
LICENSE="GPL-3+"
SLOT="0"
RDEPEND=">=app-emacs/compat-29.1.4.0"
DEPEND="${RDEPEND}"
RDEPEND="
>=app-emacs/compat-29.1.4.0
"
DEPEND="
${RDEPEND}
"
DOCS=( CHANGELOG.org README.org )
ELISP_TEXINFO="${PN}.texi"
SITEFILE="50${PN}-gentoo.el"
src_install() {
src_compile() {
elisp-org-export-to texinfo README.org
elisp_src_compile
elisp-make-autoload-file
elisp_src_install
}

@ -4,19 +4,19 @@
EAPI=8
NEED_EMACS=27.1
inherit elisp
DESCRIPTION="Completion At Point Extensions"
HOMEPAGE="https://github.com/minad/cape"
HOMEPAGE="https://github.com/minad/cape/"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/minad/cape.git"
EGIT_REPO_URI="https://github.com/minad/${PN}.git"
else
# Recompressed from ELPA.
SRC_URI="https://dev.gentoo.org/~arsen/${P}.tar.xz"
SRC_URI="https://github.com/minad/${PN}/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~amd64"
ELISP_REMOVE="${PN}-pkg.el"
fi
LICENSE="GPL-3+"
@ -25,15 +25,16 @@ SLOT="0"
RDEPEND="
>=app-emacs/compat-29.1.4.0
"
DEPEND="${RDEPEND}"
DEPEND="
${RDEPEND}
"
DOCS=( CHANGELOG.org README.org )
ELISP_TEXINFO="${PN}.texi"
SITEFILE="50${PN}-gentoo.el"
src_install() {
src_compile() {
elisp-org-export-to texinfo README.org
elisp_src_compile
elisp-make-autoload-file
elisp_src_install
if [[ ${PV} != 9999 ]]; then
doinfo cape.info
fi
}

@ -3,5 +3,5 @@
"Toggle quilt-mode. With positive arg, enable quilt-mode." t)
(autoload 'quilt-hook "quilt"
"Enable quilt mode for quilt-controlled files.")
(add-hook 'find-file-hooks 'quilt-hook)
(add-hook 'find-file-hook 'quilt-hook)
(add-hook 'after-revert-hook 'quilt-hook)

@ -1 +1,2 @@
DIST transient-0.4.1.tar.gz 128614 BLAKE2B 407ae76f113e850dfc8235764a6b020c7cd94d6361bda3446024ec0bcc2f190f5b90e6d773350e7d84e5574a592503d097bf8e9cc3209c5993a1c2b37f9a442d SHA512 13e258818db5527f86ff02765e9b288a1944026255c660cfc151ba0c1ead22c6d36c6ec3d3129cff8ef62c2953288a6d588d595fa61d5972cfa465cc8248c64f
DIST transient-0.4.3.tar.gz 129365 BLAKE2B d07fb5cb6586950bd3561b2a7f77b6458db58531e7735d203dabbfd292facaf44af850de4f4824f6335f41afcf79d03c0291d31af31b84b4118ffb8cae996f2a SHA512 afa2f75a0d4d6d45af1e36f155371dad6a966073cbab9a3858eec020458530d21a34860b88ec4d1e1e93570675b9df6d5692ed8f8a1903478ee5085c9d2d039a

@ -0,0 +1,38 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Transient commands abstraction for GNU Emacs"
HOMEPAGE="https://magit.vc/manual/transient/
https://github.com/magit/transient/"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/magit/${PN}.git"
else
SRC_URI="https://github.com/magit/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="GPL-3+"
SLOT="0"
DOCS=( CHANGELOG README.org docs/${PN}.org )
ELISP_TEXINFO="docs/${PN}.texi"
SITEFILE="50${PN}-gentoo.el"
RDEPEND=">=app-emacs/compat-29.1.4.1"
BDEPEND="
${RDEPEND}
sys-apps/texinfo
"
src_prepare() {
mv lisp/*.el . || die
default
}

@ -1 +1,2 @@
DIST with-editor-3.3.0.tar.gz 33250 BLAKE2B 6dab10a489c2592a32091e708c7f4c7e4c80794569e0fdcef14407cc83e067ace4a2efb29c97ecf40e1d0f5f2557f7ecc78992e1a65e10ed1c39e812431ff0bc SHA512 1e703f0793068f4080ab9af553a682ffb8897d95d0fc61668773c9ff380a0ba966e6f458f2428269c4c113c8ec296472b15a3459dad7f01549fc3387a080fda0
DIST with-editor-3.3.1.tar.gz 33258 BLAKE2B 9de704d2d8bf8dc2ab444d4205c21ef710cace84c670d4d84a29f0403f4424e5310049959df4f63a79e64480671a8605a497e71cfee2dc12f4f42c65656a234d SHA512 861659f0dbd696ced43e6d6ff903096bc83fb6f3bb911db11985e47b215f5c00659a454250c618c65140a3c8058011746b3f7a1b8c25f6641368864aa196b77f

@ -0,0 +1,29 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp
DESCRIPTION="Use the Emacsclient as the \$EDITOR of child processes"
HOMEPAGE="https://magit.vc/manual/with-editor/
https://github.com/magit/with-editor/"
SRC_URI="https://github.com/magit/with-editor/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/${P}/lisp
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=app-emacs/compat-29.1.4.1
"
BDEPEND="
${RDEPEND}
sys-apps/texinfo
"
DOCS=( ../README.org ../docs/${PN}.org )
ELISP_TEXINFO="../docs/*.texi"
SITEFILE="50${PN}-gentoo.el"

Binary file not shown.

@ -8,3 +8,5 @@ DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda640
DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a
DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3
DIST qemu-8.0.4.tar.xz 126179324 BLAKE2B dfb98964c629b251f0004b4630ae4500a52465579417d6f5c7dbbb1f672e10d8d7ffb98a4b00e26fb98b3c867208146dbdca026e4d30cbf1752ac733c4d9b915 SHA512 bd5ed682d51f974abd4be93f949701f9b5bfb87fd9929e31df130534da2f2c03b99adc9f924b3efd47d3b254e0e3c0046f4e69fbe9f6d0c4ac1f6babecb29449
DIST qemu-8.1.0-docs.tar.xz 2129912 BLAKE2B 8aaf7b748538afdb5bcb6da15dbd96572d086824377c4b0e93f1ddc695f9a4775471e360a9616d2d481dbf8113e91d2601c69d92cef565fb90b65ffacfdb304e SHA512 905515742bb56a439fc8117ec48ea668e7b2bf0244587673e4352d9e8e49911eb84ff093596ff566e44787197cf9789ec8950e3d75fb7a670c5546394a322ac9
DIST qemu-8.1.0.tar.xz 123550284 BLAKE2B b0fd87a19b13d4bbc6526caa46533073cb4dee6004df5d4fbbef204ee3bc8c2f10ec1eaff554adbb25c9f3143dd68abd09d4a0519c4766299a3ff261d03c73f2 SHA512 c5f5e7ce2d8e3c93a02012b136c866e8577df07da4705a0045916c71caeaa21fa1b2d59a4b22a660789a4159b192e12a443e7cbb0724ee85fea258251731724c

@ -0,0 +1,10 @@
This gets confused by python-any-r1 and tries to find sphinx-build in ${T}.
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -1,5 +1,4 @@
-sphinx_build = find_program(fs.parent(python.full_path()) / 'sphinx-build',
- required: get_option('docs'))
+sphinx_build = find_program('sphinx-build', required: get_option('docs'))
# Check if tools are available to build documentation.
build_docs = false

@ -0,0 +1,64 @@
* netdev-socket.c
qtest-i386/netdev-socket fails with:
```
stderr:
qemu-system-i386: -netdev dgram,id=st0,remote.type=inet,remote.host=230.0.0.1,remote.port=1234: can't add socket to multicast group 230.0.0.1: No such device
Broken pipe
../tests/qtest/libqtest.c:191: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
```
* vhost-user-test.c
qtest-x86_64/qos-test fails with a timeout:
```
qemu-system-x86_64: Failed to set msg fds.
qemu-system-x86_64: vhost VQ 0 ring restore failed: -22: Invalid argument (22)
qemu-system-x86_64: Failed to set msg fds.
qemu-system-x86_64: vhost VQ 1 ring restore failed: -22: Invalid argument (22)
**
ERROR:../tests/qtest/vhost-user-test.c:892:wait_for_rings_started: assertion failed (ctpop64(s->rings) == count): (1 == 2)
**
ERROR:../tests/qtest/qos-test.c:191:subprocess_run_one_test: child process (/x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-net-pci/virtio-net/virtio-net-tests/vhost-user/reconnect/subprocess [6082]) failed unexpectedl
```
--- a/tests/qtest/netdev-socket.c
+++ b/tests/qtest/netdev-socket.c
@@ -498,6 +498,10 @@ int main(int argc, char **argv)
socket_init();
g_test_init(&argc, &argv, NULL);
+ /* XXX: Skip test for now on Gentoo, fails with "No such device" */
+ g_test_skip("Skipping test known to fail on Gentoo");
+ return 0;
+
if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
g_error("socket_check_protocol_support() failed\n");
}
--- a/tests/qtest/vhost-user-test.c
+++ b/tests/qtest/vhost-user-test.c
@@ -243,7 +243,7 @@ static bool wait_for_fds(TestServer *s)
g_mutex_lock(&s->data_mutex);
- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
+ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
while (!s->fds_num) {
if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
/* timeout has passed */
@@ -672,7 +672,7 @@ static void wait_for_log_fd(TestServer *s)
gint64 end_time;
g_mutex_lock(&s->data_mutex);
- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
+ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
while (s->log_fd == -1) {
if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
/* timeout has passed */
@@ -885,7 +885,7 @@ static void wait_for_rings_started(TestServer *s, size_t count)
gint64 end_time;
g_mutex_lock(&s->data_mutex);
- end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;
+ end_time = g_get_monotonic_time() + 30 * G_TIME_SPAN_SECOND;
while (ctpop64(s->rings) != count) {
if (!g_cond_wait_until(&s->data_cond, &s->data_mutex, end_time)) {
/* timeout has passed */

@ -41,7 +41,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"

@ -41,7 +41,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
[[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"

@ -0,0 +1,963 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
# Set to 1 if prebuilt, 0 if not
# (the construct below is to allow overriding from env for script)
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
QEMU_DOCS_PREBUILT_DEV=sam
QEMU_DOCS_VERSION=$(ver_cut 1-3)
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="7.2.0"
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
pax-utils xdg-utils
if [[ ${PV} == *9999* ]]; then
QEMU_DOCS_PREBUILT=0
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
EGIT_SUBMODULES=(
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
subprojects/keycodemapdb
)
inherit git-r3
SRC_URI=""
else
MY_P="${PN}-${PV/_rc/-rc}"
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
fi
S="${WORKDIR}/${MY_P}"
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
LICENSE="GPL-2 LGPL-2 BSD-2"
SLOT="0"
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg
lzo multipath
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static-user systemtap test udev usb
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
zstd"
COMMON_TARGETS="
aarch64
alpha
arm
cris
hppa
i386
loongarch64
m68k
microblaze
microblazeel
mips
mips64
mips64el
mipsel
nios2
or1k
ppc
ppc64
riscv32
riscv64
s390x
sh4
sh4eb
sparc
sparc64
x86_64
xtensa
xtensaeb
"
IUSE_SOFTMMU_TARGETS="
${COMMON_TARGETS}
avr
rx
tricore
"
IUSE_USER_TARGETS="
${COMMON_TARGETS}
aarch64_be
armeb
hexagon
mipsn32
mipsn32el
ppc64le
sparc32plus
"
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
RESTRICT="!test? ( test )"
# Allow no targets to be built so that people can get a tools-only build.
# Block USE flag configurations known to not work.
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
qemu_softmmu_targets_arm? ( fdt )
qemu_softmmu_targets_microblaze? ( fdt )
qemu_softmmu_targets_mips64el? ( fdt )
qemu_softmmu_targets_ppc64? ( fdt )
qemu_softmmu_targets_ppc? ( fdt )
qemu_softmmu_targets_riscv32? ( fdt )
qemu_softmmu_targets_riscv64? ( fdt )
qemu_softmmu_targets_x86_64? ( fdt )
sdl-image? ( sdl )
static-user? ( !plugins )
virgl? ( opengl )
virtfs? ( xattr )
vnc? ( gnutls )
vte? ( gtk )
multipath? ( udev )
plugins? ( !static-user )
"
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
done
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# and user/softmmu targets (qemu-*, qemu-system-*).
#
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
#
# The attr lib isn't always linked in (although the USE flag is always
# respected). This is because qemu supports using the C library's API
# when available rather than always using the external library.
ALL_DEPEND="
dev-libs/glib:2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xattr? ( sys-apps/attr[static-libs(+)] )
"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# softmmu targets (qemu-system-*).
SOFTMMU_TOOLS_DEPEND="
>=x11-libs/pixman-0.28.0[static-libs(+)]
accessibility? (
app-accessibility/brltty[api]
app-accessibility/brltty[static-libs(+)]
)
aio? ( dev-libs/libaio[static-libs(+)] )
alsa? ( >=media-libs/alsa-lib-1.0.13 )
bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
capstone? ( dev-libs/capstone:=[static-libs(+)] )
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
gnutls? (
>=net-libs/gnutls-3.0:=[static-libs(+)]
dev-libs/nettle:=[static-libs(+)]
)
gtk? (
x11-libs/gtk+:3
vte? ( x11-libs/vte:2.91 )
)
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
iscsi? ( net-libs/libiscsi )
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc )
jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
lzo? ( dev-libs/lzo:2[static-libs(+)] )
multipath? ( sys-fs/multipath-tools )
ncurses? (
sys-libs/ncurses:=[unicode(+)]
sys-libs/ncurses:=[static-libs(+)]
)
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
numa? ( sys-process/numactl[static-libs(+)] )
opengl? (
virtual/opengl
media-libs/libepoxy[static-libs(+)]
media-libs/mesa[static-libs(+)]
media-libs/mesa[egl(+),gbm(+)]
)
pam? ( sys-libs/pam )
pipewire? ( >=media-video/pipewire-0.3.60 )
png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
sdl? (
media-libs/libsdl2[video]
media-libs/libsdl2[static-libs(+)]
)
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
slirp? ( net-libs/libslirp[static-libs(+)] )
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
snappy? ( app-arch/snappy:= )
spice? (
>=app-emulation/spice-protocol-0.14.0
>=app-emulation/spice-0.14.0[static-libs(+)]
)
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
udev? ( virtual/libudev:= )
usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
vde? ( net-misc/vde[static-libs(+)] )
virgl? ( media-libs/virglrenderer[static-libs(+)] )
virtfs? ( sys-libs/libcap )
xen? ( app-emulation/xen-tools:= )
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
"
EDK2_OVMF_VERSION="202202"
SEABIOS_VERSION="1.16.0"
X86_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
~sys-firmware/ipxe-1.21.1[binary,qemu]
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
~sys-firmware/sgabios-0.1_pre10[binary]
)
!pin-upstream-blobs? (
|| (
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
)
sys-firmware/ipxe[qemu]
|| (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
sys-firmware/sgabios
)
"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
!pin-upstream-blobs? (
|| (
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
>=dev-util/meson-0.63.0
virtual/pkgconfig
doc? (
>=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
)
gtk? ( nls? ( sys-devel/gettext ) )
test? (
dev-libs/glib[utils]
sys-devel/bc
)
"
CDEPEND="
${ALL_DEPEND//\[static-libs(+)]}
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="
${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static-user? ( ${ALL_DEPEND} )
"
RDEPEND="
${CDEPEND}
acct-group/kvm
selinux? (
sec-policy/selinux-qemu
sys-libs/libselinux
)
"
PATCHES=(
"${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
"${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
)
QA_PREBUILT="
usr/share/qemu/hppa-firmware.img
usr/share/qemu/openbios-ppc
usr/share/qemu/openbios-sparc64
usr/share/qemu/openbios-sparc32
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
usr/share/qemu/palcode-clipper
usr/share/qemu/s390-ccw.img
usr/share/qemu/s390-netboot.img
usr/share/qemu/u-boot.e500
"
QA_WX_LOAD="
usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm
usr/bin/qemu-cris
usr/bin/qemu-m68k
usr/bin/qemu-microblaze
usr/bin/qemu-microblazeel
usr/bin/qemu-mips
usr/bin/qemu-mipsel
usr/bin/qemu-or1k
usr/bin/qemu-ppc
usr/bin/qemu-ppc64
usr/bin/qemu-sh4
usr/bin/qemu-sh4eb
usr/bin/qemu-sparc
usr/bin/qemu-sparc64
usr/bin/qemu-armeb
usr/bin/qemu-sparc32plus
usr/bin/qemu-s390x
usr/bin/qemu-unicore32
"
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
kernel module loaded before running kvm. The easiest way to ensure that the
kernel module is loaded is to load it on boot.
For AMD CPUs the module is called 'kvm-amd'.
For Intel CPUs the module is called 'kvm-intel'.
Please review /etc/conf.d/modules for how to load these.
Make sure your user is in the 'kvm' group. Just run
$ gpasswd -a <USER> kvm
then have <USER> re-login.
For brand new installs, the default permissions on /dev/kvm might not let
you access it. You can tell udev to reset ownership/perms:
$ udevadm trigger -c add /dev/kvm
If you want to register binfmt handlers for qemu user targets:
For openrc:
# rc-update add qemu-binfmt
For systemd:
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
pkg_pretend() {
if use kernel_linux && kernel_is lt 2 6 25; then
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
elif use kernel_linux; then
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
else
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
ERROR_KVM="You must enable KVM in your kernel to continue"
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
ERROR_KVM_AMD+=" your kernel configuration."
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
ERROR_TUN+=" into your kernel or loaded as a module to use the"
ERROR_TUN+=" virtual network device if using -net tap."
ERROR_BRIDGE="You will also need support for 802.1d"
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
ERROR_VHOST_NET+=" support"
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
if grep -q AuthenticAMD /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_AMD"
elif grep -q GenuineIntel /proc/cpuinfo; then
CONFIG_CHECK+=" ~KVM_INTEL"
fi
fi
use python && CONFIG_CHECK+=" ~DEBUG_FS"
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
# Now do the actual checks setup above
check_extra_config
fi
fi
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
eerror "instances are still pointing to it. Please update your"
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
eerror "and the right system binary (e.g. qemu-system-x86_64)."
die "update your virt configs to not use qemu-kvm"
fi
}
# Sanity check to make sure target lists are kept up-to-date.
check_targets() {
local var=$1 mak=$2
local detected sorted
pushd "${S}"/configs/targets/ >/dev/null || die
# Force C locale until glibc is updated. #564936
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
if [[ ${sorted} != "${detected}" ]] ; then
eerror "The ebuild needs to be kept in sync."
eerror "${var}: ${sorted}"
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
die "sync ${var} to the list of targets"
fi
popd >/dev/null
}
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
default
# Use correct toolchain to fix cross-compiling
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
export WINDRES=${CHOST}-windres
# Verbose builds
MAKEOPTS+=" V=1"
# Remove bundled modules
rm -r subprojects/dtc roms/*/ || die
}
##
# configures qemu based on the build directory and the build type
# we are using.
#
qemu_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local buildtype=$1
local builddir="${S}/${buildtype}-build"
mkdir "${builddir}" || die
local conf_opts=(
--prefix=/usr
--sysconfdir=/etc
--bindir=/usr/bin
--libdir=/usr/$(get_libdir)
--datadir=/usr/share
--docdir=/usr/share/doc/${PF}/html
--mandir=/usr/share/man
--localstatedir=/var
--disable-bsd-user
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
--disable-download
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
# - it's generally slower on non-self-modifying code
# It's advantage is support for host architectures
# where native codegeneration is not implemented.
# Gentoo has qemu keyworded only on targets with
# native code generation available. Avoid the interpreter.
--disable-tcg-interpreter
--disable-werror
# We support gnutls/nettle for crypto operations. It is possible
# to use gcrypt when gnutls/nettle are disabled (but not when they
# are enabled), but it's not really worth the hassle. Disable it
# all the time to avoid automatically detecting it. #568856
--disable-gcrypt
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--objcc="$(tc-getCC)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable alsa)
$(use_enable debug debug-info)
$(use_enable debug debug-tcg)
$(use_enable jack)
$(use_enable nls gettext)
$(use_enable oss)
$(use_enable pipewire)
$(use_enable plugins)
$(use_enable pulseaudio pa)
$(use_enable selinux)
$(use_enable xattr attr)
)
# Disable options not used by user targets. This simplifies building
# static user targets (USE=static-user) considerably.
conf_notuser() {
if [[ ${buildtype} == "user" ]] ; then
echo "--disable-${2:-$1}"
else
use_enable "$@"
fi
}
# Enable option only for softmmu build, but not 'user' or 'tools'
conf_softmmu() {
if [[ ${buildtype} == "softmmu" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Enable option only for tools build, but not 'user' or 'softmmu'
conf_tools() {
if [[ ${buildtype} == "tools" ]] ; then
use_enable "$@"
else
echo "--disable-${2:-$1}"
fi
}
# Special case for the malloc flag, because the --disable flag does
# not exist and trying like above will break configuring.
conf_malloc() {
if [[ ! ${buildtype} == "user" ]] ; then
usex "${1}" "--enable-malloc=${1}" ""
fi
}
conf_opts+=(
$(conf_notuser accessibility brlapi)
$(conf_notuser aio linux-aio)
$(conf_softmmu bpf)
$(conf_notuser bzip2)
$(conf_notuser capstone)
$(conf_notuser curl)
$(conf_tools doc docs)
$(conf_notuser fdt)
$(conf_notuser fuse)
$(conf_notuser glusterfs)
$(conf_notuser gnutls)
$(conf_notuser gnutls nettle)
$(conf_notuser gtk)
$(conf_notuser infiniband rdma)
$(conf_notuser iscsi libiscsi)
$(conf_notuser io-uring linux-io-uring)
$(conf_malloc jemalloc)
$(conf_notuser jpeg vnc-jpeg)
$(conf_notuser kernel_linux kvm)
$(conf_notuser lzo)
$(conf_notuser multipath mpath)
$(conf_notuser ncurses curses)
$(conf_notuser nfs libnfs)
$(conf_notuser numa)
$(conf_notuser opengl)
$(conf_notuser pam auth-pam)
$(conf_notuser png)
$(conf_notuser rbd)
$(conf_notuser sasl vnc-sasl)
$(conf_notuser sdl)
$(conf_softmmu sdl-image)
$(conf_notuser seccomp)
$(conf_notuser slirp)
$(conf_notuser smartcard)
$(conf_notuser snappy)
$(conf_notuser spice)
$(conf_notuser ssh libssh)
$(conf_notuser udev libudev)
$(conf_notuser usb libusb)
$(conf_notuser usbredir usb-redir)
$(conf_notuser vde)
$(conf_notuser vhost-net)
$(conf_notuser virgl virglrenderer)
$(conf_softmmu virtfs)
$(conf_notuser vnc)
$(conf_notuser vte)
$(conf_notuser xen)
$(conf_notuser xen xen-pci-passthrough)
# use prebuilt keymaps, bug #759604
--disable-xkbcommon
$(conf_notuser zstd)
)
if [[ ! ${buildtype} == "user" ]] ; then
# audio options
local audio_opts=(
# Note: backend order matters here: #716202
# We iterate from higher-level to lower level.
$(usex pulseaudio pa "")
$(usev jack)
$(usev sdl)
$(usev alsa)
$(usev oss)
)
conf_opts+=(
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
)
fi
case ${buildtype} in
user)
conf_opts+=(
--enable-linux-user
--disable-system
--disable-tools
--disable-cap-ng
--disable-seccomp
)
local static_flag="static-user"
;;
softmmu)
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
--enable-cap-ng
--enable-seccomp
)
local static_flag="none"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--enable-tools
--enable-cap-ng
)
local static_flag="none"
;;
esac
local targets="${buildtype}_targets"
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
# Add support for SystemTAP
use systemtap && conf_opts+=( --enable-trace-backends="dtrace" )
# We always want to attempt to build with PIE support as it results
# in a more secure binary. But it doesn't work with static or if
# the current GCC doesn't have PIE support.
if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
conf_opts+=( --static --disable-pie )
else
tc-enables-pie && conf_opts+=( --enable-pie )
fi
# Meson will not use a cross-file unless cross_prefix is set.
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
# Plumb through equivalent of EXTRA_ECONF to allow experiments
# like bug #747928.
conf_opts+=( ${EXTRA_CONF_QEMU} )
echo "../configure ${conf_opts[*]}"
cd "${builddir}"
../configure "${conf_opts[@]}" || die "configure failed"
}
src_configure() {
local target
python_setup
softmmu_targets= softmmu_bins=()
user_targets= user_bins=()
for target in ${IUSE_SOFTMMU_TARGETS} ; do
if use "qemu_softmmu_targets_${target}"; then
softmmu_targets+=",${target}-softmmu"
softmmu_bins+=( "qemu-system-${target}" )
fi
done
for target in ${IUSE_USER_TARGETS} ; do
if use "qemu_user_targets_${target}"; then
user_targets+=",${target}-linux-user"
user_bins+=( "qemu-${target}" )
fi
done
softmmu_targets=${softmmu_targets#,}
user_targets=${user_targets#,}
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
[[ -n ${user_targets} ]] && qemu_src_configure "user"
qemu_src_configure "tools"
}
src_compile() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build" || die
default
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build" || die
default
fi
cd "${S}/tools-build" || die
default
}
src_test() {
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build" || die
pax-mark m */qemu-system-* #515550
emake check
fi
}
qemu_python_install() {
python_domodule "${S}/python/qemu"
python_doscript "${S}/scripts/kvm/vmxcap"
python_doscript "${S}/scripts/qmp/qmp-shell"
python_doscript "${S}/scripts/qmp/qemu-ga-client"
}
# Generate binfmt support files.
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
generate_initd() {
local out="${T}/qemu-binfmt"
local out_systemd="${T}/qemu.conf"
local d="${T}/binfmt.d"
einfo "Generating qemu binfmt scripts and configuration files"
# Generate the debian fragments first.
mkdir -p "${d}"
"${S}"/scripts/qemu-binfmt-conf.sh \
--debian \
--exportdir "${d}" \
--qemu-path "${EPREFIX}/usr/bin" \
|| die
# Then turn the fragments into a shell script we can source.
sed -E -i \
-e 's:^([^ ]+) (.*)$:\1="\2":' \
"${d}"/* || die
# Generate the init.d script by assembling the fragments from above.
local f qcpu package interpreter magic mask
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
for f in "${d}"/qemu-* ; do
source "${f}"
# Normalize the cpu logic like we do in the init.d for the native cpu.
qcpu=${package#qemu-}
case ${qcpu} in
arm*) qcpu="arm";;
mips*) qcpu="mips";;
ppc*) qcpu="ppc";;
s390*) qcpu="s390";;
sh*) qcpu="sh";;
sparc*) qcpu="sparc";;
esac
# we use 'printf' here to be portable across 'sh'
# implementations: #679168
cat <<EOF >>"${out}"
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
fi
EOF
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
done
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
}
src_install() {
if [[ -n ${user_targets} ]]; then
cd "${S}/user-build"
emake DESTDIR="${ED}" install
# Install binfmt handler init script for user targets.
generate_initd
doinitd "${T}/qemu-binfmt"
# Install binfmt/qemu.conf.
insinto "/usr/share/qemu/binfmt.d"
doins "${T}/qemu.conf"
fi
if [[ -n ${softmmu_targets} ]]; then
cd "${S}/softmmu-build"
emake DESTDIR="${ED}" install
# This might not exist if the test failed. #512010
[[ -e check-report.html ]] && dodoc check-report.html
if use kernel_linux; then
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
fi
if use python; then
python_foreach_impl qemu_python_install
fi
fi
cd "${S}/tools-build" || die
emake DESTDIR="${ED}" install
# If USE=doc, there'll be newly generated docs which we install instead.
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
fi
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
pushd "${ED}"/usr/bin >/dev/null || die
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
popd >/dev/null || die
# Install config file example for qemu-bridge-helper
insinto "/etc/qemu"
doins "${FILESDIR}/bridge.conf"
cd "${S}" || die
dodoc MAINTAINERS
newdoc pc-bios/README README.pc-bios
# Disallow stripping of prebuilt firmware files.
dostrip -x ${QA_PREBUILT}
if [[ -n ${softmmu_targets} ]]; then
# Remove SeaBIOS since we're using the SeaBIOS packaged one
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
fi
# Remove vgabios since we're using the seavgabios packaged one
rm "${ED}/usr/share/qemu/vgabios.bin"
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
# PPC/PPC64 loads vgabios-stdvga
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
fi
# Remove sgabios since we're using the sgabios packaged one
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
fi
# Remove iPXE since we're using the iPXE packaged one
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi
fi
DISABLE_AUTOFORMATTING=true
readme.gentoo_create_doc
}
firmware_abi_change() {
local pv
for pv in ${REPLACING_VERSIONS}; do
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
return 0
fi
done
return 1
}
pkg_postinst() {
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
udev_reload
fi
xdg_icon_cache_update
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
DISABLE_AUTOFORMATTING=true
readme.gentoo_print_elog
if use pin-upstream-blobs && firmware_abi_change; then
ewarn "This version of qemu pins new versions of firmware blobs:"
if has_version 'sys-firmware/edk2-ovmf-bin'; then
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
else
ewarn " $(best_version sys-firmware/edk2-ovmf)"
fi
if has_version 'sys-firmware/seabios-bin'; then
ewarn " $(best_version sys-firmware/seabios-bin)"
else
ewarn " $(best_version sys-firmware/seabios)"
fi
ewarn " $(best_version sys-firmware/ipxe)"
ewarn " $(best_version sys-firmware/sgabios)"
ewarn "This might break resume of hibernated guests (started with a different"
ewarn "firmware version) and live migration to/from qemu versions with different"
ewarn "firmware. Please (cold) restart all running guests. For functional"
ewarn "guest migration ensure that all"
ewarn "hosts run at least"
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
fi
}
pkg_info() {
echo "Using:"
echo " $(best_version app-emulation/spice-protocol)"
if has_version 'sys-firmware/edk2-ovmf-bin'; then
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
else
echo " $(best_version sys-firmware/edk2-ovmf)"
fi
if has_version 'sys-firmware/seabios-bin'; then
echo " $(best_version sys-firmware/seabios-bin)"
else
echo " $(best_version sys-firmware/seabios)"
fi
echo " $(best_version sys-firmware/ipxe)"
echo " $(best_version sys-firmware/sgabios)"
}
pkg_postrm() {
xdg_icon_cache_update
udev_reload
}

@ -13,7 +13,7 @@ QEMU_DOCS_VERSION=$(ver_cut 1-3)
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{9,10,11,12} )
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="7.2.0"
@ -204,7 +204,7 @@ SOFTMMU_TOOLS_DEPEND="
media-libs/mesa[egl(+),gbm(+)]
)
pam? ( sys-libs/pam )
pipewire? ( media-video/pipewire )
pipewire? ( >=media-video/pipewire-0.3.60 )
png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
pulseaudio? ( media-libs/libpulse )
rbd? ( sys-cluster/ceph )
@ -271,11 +271,10 @@ PPC_FIRMWARE_DEPEND="
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
dev-util/meson
sys-apps/texinfo
>=dev-util/meson-0.63.0
virtual/pkgconfig
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}]
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
)
gtk? ( nls? ( sys-devel/gettext ) )
@ -310,6 +309,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch
"${FILESDIR}"/${PN}-8.1.0-skip-tests.patch
"${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch
)
QA_PREBUILT="
@ -450,11 +451,6 @@ src_prepare() {
# Verbose builds
MAKEOPTS+=" V=1"
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
# this setting (-U then -D..=2) will prevent us from trying out 3, so
# drop it. No change to level of protection b/c we patch our toolchain.
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
# Remove bundled modules
rm -r subprojects/dtc roms/*/ || die
}
@ -484,7 +480,7 @@ qemu_src_configure() {
--disable-containers # bug #732972
--disable-guest-agent
--disable-strip
--with-git-submodules=ignore
--disable-download
# bug #746752: TCG interpreter has a few limitations:
# - it does not support FPU
@ -503,6 +499,7 @@ qemu_src_configure() {
--disable-gcrypt
--cc="$(tc-getCC)"
--cxx="$(tc-getCXX)"
--objcc="$(tc-getCC)"
--host-cc="$(tc-getBUILD_CC)"
$(use_enable alsa)

@ -1 +1,2 @@
DIST vagrant-2.2.19.tar.gz 1838272 BLAKE2B cb707254379f52db8571bfe132e5b852a11998d86b43ee707e03d442ca1313da7b2612af027a58f806e0b551a6f415d121dab51cf7ea5da4292e5c2afd198ab9 SHA512 24a2e5baeac5cf8c45c012cf70dd4132b1dc7a6a5bab19d1046c91cc88e669356e2e5676d96eda6ed7293ff19ada974954969a4a59b9e4a30e2d95de27fa64e4
DIST vagrant-2.3.7.tar.gz 3296042 BLAKE2B 720e16bed6f9088558f7a8a2af7925946c71d771fc732fd43fc277f160faa1d2c86bdb3eaab6ec0cf569e945a30593655f3551608f708ee74203392ba61ce11f SHA512 a65b1c48fad6eb04fc0097dc7c8dc4e37467c5e6406d1d384a017b127704ebd6872cd0cc69ef38b393c98d6fd58c39c806e7ef439c2b55a15bf66c3647595cc2

@ -4,7 +4,7 @@
# Vagrant installation directory. This sets up proper environmental variables
# so that everything loads and compiles to proper directories.
for r in ruby30 ruby27 ruby26; do
for r in ruby32 ruby31 ruby30 ruby27 ruby26; do
# not all ruby versions are guaranteed to be installed
if ! command -v "${r}" >/dev/null 2>&1; then
continue

@ -0,0 +1,121 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby31"
RUBY_FAKEGEM_EXTENSIONS=(ext/vagrant_ssl/extconf.rb)
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_TASK_TEST=test:unit
RUBY_FAKEGEM_RECIPE_TEST=rake
inherit bash-completion-r1 optfeature ruby-fakegem
DESCRIPTION="A tool for building and distributing development environments"
HOMEPAGE="https://vagrantup.com/"
SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
${RDEPEND}
app-arch/libarchive
net-misc/curl
"
ruby_add_rdepend "
>=dev-ruby/bcrypt_pbkdf-1.1.0
>=dev-ruby/childprocess-4.1.0
>=dev-ruby/ed25519-1.3.0
dev-ruby/erubi
>=dev-ruby/googleapis-common-protos-types-1.3.0
dev-ruby/grpc
>=dev-ruby/hashicorp-checkpoint-0.1.5
>=dev-ruby/i18n-1.12:1
>=dev-ruby/listen-3.7
>=dev-ruby/log4r-1.1.9
<dev-ruby/log4r-1.1.11
>=dev-ruby/mime-types-3.3:*
>=dev-ruby/net-ftp-0.2.0
>=dev-ruby/net-ssh-7.0.0
>=dev-ruby/net-sftp-4.0.0
>=dev-ruby/net-scp-4.0.0
>=dev-ruby/rexml-3.2.0
>=dev-ruby/rgl-0.5.10
>=dev-ruby/rubyzip-2.3.2
>=dev-ruby/vagrant_cloud-3.0.5
>=dev-ruby/ipaddr-1.2.4
"
ruby_add_bdepend "
>=dev-ruby/rake-13.0.0
test? (
~app-emulation/vagrant-${PV}
dev-ruby/rake-compiler
>=dev-ruby/rspec-3.11
>=dev-ruby/rspec-its-1.3.0
>=dev-ruby/webrick-1.7.0
)
"
all_ruby_prepare() {
# remove bundler support
sed -e '/[Bb]undler/ s:^:#:' \
-e '/extensiontask/ s:^:#:' \
-e '/ExtensionTask/,/^end/ s:^:#:' \
-i Rakefile || die
rm Gemfile || die
rm tasks/bundler.rake || die
sed -e ':rake\|rspec: s:~>:>=:' \
-e ':bcrypt_pbkdf\|hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|net-sftp\|childprocess: s:~>:>=:' \
-e '/fake_ftp/ s:^#*:#:' \
-e '/wdm/ s:^#*:#:' \
-e '/winrm/ s:^#*:#:' \
-e '/rb-kqueue/ s:^#*:#:' \
-e '/ruby_dep/ s:^#*:#:' \
-i ${PN}.gemspec || die
sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
sed -i -e 's/format documentation/format progress/' tasks/test.rake || die
# Avoid tests confused by the environment
rm -f test/unit/vagrant/util/env_test.rb || die
# Avoid tests for Windows-specific components
rm -rf test/unit/plugins/communicators/winrm || die
sed -e '/eager loads WinRM/askip "Windows component"' \
-e '/should return the specified communicator if given/askip "Windows component"' \
-i test/unit/vagrant/machine_test.rb || die
sed -e '/with winrm communicator/ s/context/xcontext/' \
-i test/unit/plugins/provisioners/ansible/provisioner_test.rb || die
}
all_ruby_install() {
all_fakegem_install
newbashcomp contrib/bash/completion.sh ${PN}
# provide executable similar to upstream:
# https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
dobin "${PN}"
# directory for plugins.json
keepdir /var/lib/vagrant
insinto /usr/share/vim/vimfiles/syntax/
doins contrib/vim/vagrantfile.vim
optfeature_header "Optional emulation/container backends:"
optfeature "VirtualBox support" app-emulation/virtualbox
optfeature "Docker support" app-containers/docker
}

@ -0,0 +1,753 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# To add a new Python here:
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
# Do NOT skip this part. It'll end up silently not-building the Python extension
# or otherwise misbehaving if you do.
#
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
#
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
# Python versions as upstream tends to lag. Upstream may have patches on their
# trunk branch but not release branch.
#
# See bug #785835, bug #856121.
PYTHON_COMPAT=( python3_{10..11} )
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PN="VirtualBox"
MY_P=${MY_PN}-${PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="
https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.8.tar.bz2
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
unset WATCOM #856769
COMMON_DEPEND="
${PYTHON_DEPS}
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libtpms
dev-libs/libxml2
dev-libs/openssl:0=
media-libs/libpng:0=
media-libs/libvpx:0=
net-misc/curl
sys-libs/zlib
dbus? ( sys-apps/dbus )
gui? (
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5
dev-qt/qthelp:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
dev-qt/qtxml:5
x11-libs/libX11
x11-libs/libXt
opengl? ( dev-qt/qtopengl:5 )
)
lvm? ( sys-fs/lvm2 )
opengl? (
media-libs/libglvnd[X]
media-libs/vulkan-loader
x11-libs/libX11
x11-libs/libXt
)
pam? ( sys-libs/pam )
sdl? (
media-libs/libsdl2[X,video]
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXt
)
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
vde? ( net-misc/vde )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
# based on *DEPEND doesn't work for BDEPEND at least right now.
#
# There's a comment in Config.kmk about it
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
# but it needs more investigation.
#
# See bug #878299 to track this issue.
DEPEND="
${COMMON_DEPEND}
>=dev-libs/libxslt-1.1.19
virtual/libcrypt:=
alsa? ( >=media-libs/alsa-lib-1.0.13 )
gui? (
x11-base/xorg-proto
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
)
java? ( virtual/jdk:1.8 )
opengl? (
x11-base/xorg-proto
x11-libs/libXcursor
x11-libs/libXinerama
x11-libs/libXmu
x11-libs/libXrandr
virtual/glu
)
sdl? ( x11-libs/libXinerama )
pulseaudio? ( media-libs/libpulse )
udev? ( >=virtual/udev-171 )
"
RDEPEND="
${COMMON_DEPEND}
gui? ( x11-libs/libxcb:= )
java? ( virtual/jre:1.8 )
"
BDEPEND="
${PYTHON_DEPS}
>=app-arch/tar-1.34-r2
>=dev-lang/yasm-0.6.2
dev-libs/libIDL
dev-util/glslang
>=dev-util/kbuild-0.1.9998.3592
sys-apps/which
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
app-text/docbook-xsl-ns-stylesheets
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
dev-qt/qthelp:5
)
gui? ( dev-qt/linguist-tools:5 )
nls? ( dev-qt/linguist-tools:5 )
java? ( virtual/jdk:1.8 )
"
QA_FLAGS_IGNORED="
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_TEXTRELS="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
QA_EXECSTACK="
usr/lib64/virtualbox/iPxeBaseBin
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
"
QA_WX_LOAD="
usr/lib64/virtualbox/iPxeBaseBin
"
QA_PRESTRIPPED="
usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VBoxDDR0.r0
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
PATCHES=(
"${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365
# This patch is needed to avoid automagic detection based on a hardcoded
# list of Pythons in configure. It's necessary but not sufficient
# (see the rest of the ebuild's logic for the remainder) to handle
# proper Python selection.
"${FILESDIR}"/${PN}-6.1.34-r3-python.patch
# 865361
"${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch
"${FILESDIR}"/${PN}-7.0.0-fix-compilation-clang.patch
"${FILESDIR}"/${PN}-7.0.10-python.patch
"${FILESDIR}"/${PN}-7.0.6-gcc-13.patch
"${FILESDIR}"/${PN}-7.0.8-mtune-keep-size.patch
"${FILESDIR}"/${PN}-7.0.6-fix-libxml2.patch
# Downloaded patchset
"${WORKDIR}"/virtualbox-patches-7.0.8/patches
)
pkg_pretend() {
if ! use gui; then
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
fi
if ! use opengl; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
if ! use nls && use gui; then
einfo "USE=\"gui\" also selects USE=\"nls\". This build"
einfo "will have NLS support."
fi
# 749273
local d=${ROOT}
for i in usr "$(get_libdir)"; do
d="${d}/$i"
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
die "${d} should be owned by root, VirtualBox will not start otherwise"
fi
done
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
}
src_prepare() {
default
# Only add nopie patch when we're on hardened
if gcc-specs-pie; then
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
fi
# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
rm -r kBuild/bin || die
# Remove everything in tools except kBuildUnits
find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
if ! use pch; then
# bug #753323
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
>> LocalConfig.kmk || die
fi
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam; then
einfo "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
fi
# add correct java path
if use java; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
#856811 #864274
# cannot filter out only one flag, some combinations of these flags produce buggy executables
for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do
append-cflags $(test-flags-CC -mno-$i)
append-cxxflags $(test-flags-CXX -mno-$i)
done
# bug #843437
cat >> LocalConfig.kmk <<-EOF || die
CXXFLAGS=${CXXFLAGS}
CFLAGS=${CFLAGS}
EOF
if use sdl; then
sed -i 's/sdl-config/sdl2-config/' configure || die
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
fi
#443830
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
if tc-is-clang; then
# clang assembler chokes on comments starting with /
sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
# clang does not support this extension
eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
fi
# fix doc generation
echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
# replace xhtml names with numeric equivalents
find doc/manual -name \*.xml -exec sed -i \
-e 's/&nbsp;/\&#160;/g' \
-e 's/&ndash;/\&#8211;/g' \
-e 's/&larr;/\&#8592;/g' \
-e 's/&rarr;/\&#8594;/g' \
-e 's/&harr;/\&#8596;/g' {} \+ || die
# fix help path #891879
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
# 489208
# Cannot patch the whole text, many translations. Use sed instead to replace the command
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
src/VBox/Frontends/VirtualBox/src/main.cpp \
src/VBox/VMM/VMMR3/VM.cpp || die
# 890561
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
if ! use nls && ! use gui; then
cat >> LocalConfig.kmk <<-EOF || die
VBOX_WITH_NLS :=
VBOX_WITH_MAIN_NLS :=
VBOX_WITH_PUEL_NLS :=
VBOX_WITH_VBOXMANAGE_NLS :=
EOF
fi
}
src_configure() {
tc-ld-disable-gold # bug #488176
tc-export AR CC CXX LD RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-kmods
$(usev !alsa --disable-alsa)
$(usev !dbus --disable-dbus)
$(usev debug --build-debug)
$(usev !doc --disable-docs)
$(usev !java --disable-java)
$(usev !lvm --disable-devmapper)
$(usev !pulseaudio --disable-pulse)
$(usev !python --disable-python)
$(usev vboxwebsrv --enable-webservice)
$(usev vde --enable-vde)
$(usev vnc --enable-vnc)
)
if use gui || use sdl || use opengl; then
myconf+=(
$(usev !opengl --disable-opengl)
$(usev !gui --disable-qt)
$(usev !sdl --disable-sdl)
)
else
myconf+=(
--build-headless
)
fi
if use amd64 && ! has_multilib_profile; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
edo ./configure "${myconf[@]}"
# Force usage of chosen Python implementation
# bug #856121, bug #785835
sed -i \
-e '/VBOX_WITH_PYTHON.*=/d' \
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
-e '/VBOX_LIB_PYTHON.*=/d' \
AutoConfig.kmk || die
cat >> AutoConfig.kmk <<-EOF || die
VBOX_WITH_PYTHON=$(usev python 1)
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
VBOX_LIB_PYTHON=$(python_get_library_path)
EOF
if use python; then
local mangled_python="${EPYTHON#python}"
mangled_python="${mangled_python/.}"
# Stub out the script which defines what the Makefile ends up
# building for. gen_python_deps.py gets called by the Makefile
# with some args and it spits out a bunch of paths for a hardcoded
# list of Pythons. We just override it with what we're actually using.
# This minimises the amount of patching we have to do for new Pythons.
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
EOF
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
fi
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
local myemakeargs=(
VBOX_BUILD_PUBLISHER=_Gentoo
VBOX_WITH_VBOXIMGMOUNT=1
KBUILD_VERBOSE=2
AS="$(tc-getCC)"
CC="$(tc-getCC)"
CXX="$(tc-getCXX)"
TOOL_GCC3_CC="$(tc-getCC)"
TOOL_GCC3_LD="$(tc-getCC)"
TOOL_GCC3_AS="$(tc-getCC)"
TOOL_GCC3_AR="$(tc-getAR)"
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX3_CC="$(tc-getCC)"
TOOL_GXX3_CXX="$(tc-getCXX)"
TOOL_GXX3_LD="$(tc-getCXX)"
TOOL_GXX3_AS="$(tc-getCXX)"
TOOL_GXX3_AR="$(tc-getAR)"
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GCC3_CFLAGS="${CFLAGS}"
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
VBOX_GCC_OPT="${CXXFLAGS}"
VBOX_NM="$(tc-getNM)"
TOOL_YASM_AS=yasm
)
if use amd64 && has_multilib_profile; then
myemakeargs+=(
CC32="$(tc-getCC) -m32"
CXX32="$(tc-getCXX) -m32"
TOOL_GCC32_CC="$(tc-getCC) -m32"
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
TOOL_GCC32_LD="$(tc-getCC) -m32"
TOOL_GCC32_AS="$(tc-getCC) -m32"
TOOL_GCC32_AR="$(tc-getAR)"
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
TOOL_GXX32_CC="$(tc-getCC) -m32"
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
TOOL_GXX32_LD="$(tc-getCXX) -m32"
TOOL_GXX32_AS="$(tc-getCXX) -m32"
TOOL_GXX32_AR="$(tc-getAR)"
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
)
fi
MAKE="kmk" emake "${myemakeargs[@]}" all
}
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
}

@ -24,7 +24,7 @@ EAPI=8
# trunk branch but not release branch.
#
# See bug #785835, bug #856121.
PYTHON_COMPAT=( python3_{9..12} )
PYTHON_COMPAT=( python3_{10..11} )
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-mod-r1 multilib optfeature pax-utils \
python-single-r1 subversion tmpfiles toolchain-funcs udev xdg
@ -598,7 +598,10 @@ src_install() {
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
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
@ -719,6 +722,21 @@ src_install() {
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

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -9,6 +9,6 @@ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
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 ~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"
RDEPEND="app-admin/eselect"

@ -8,7 +8,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
app-admin/eselect

Binary file not shown.

@ -1,63 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit bash-completion-r1
DESCRIPTION="Rootkit Hunter scans for known and unknown rootkits, backdoors, and sniffers"
HOMEPAGE="https://rkhunter.sf.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~mips ppc x86"
IUSE=""
RDEPEND="
app-shells/bash
dev-lang/perl
sys-process/lsof[rpc]
"
S="${WORKDIR}/${P}/files"
PATCHES=(
"${FILESDIR}/${PN}-1.4.6-conf.patch"
"${FILESDIR}/${PN}-1.4.6-no-insecure-web.patch"
)
src_install() {
# rkhunter requires to be root
dosbin ${PN}
insinto /etc
doins ${PN}.conf
exeinto /usr/lib/${PN}/scripts
doexe *.pl
insinto /var/lib/${PN}/db
doins *.dat
insinto /var/lib/${PN}/db/i18n
doins i18n/*
doman ${PN}.8
dodoc ACKNOWLEDGMENTS CHANGELOG FAQ README
exeinto /etc/cron.daily
newexe "${FILESDIR}/${PN}-1.4.cron" ${PN}
newbashcomp "${FILESDIR}/${PN}.bash-completion" ${PN}
}
pkg_postinst() {
elog "A cron script has been installed to /etc/cron.daily/rkhunter."
elog "To enable it, edit /etc/cron.daily/rkhunter and follow the"
elog "directions."
elog "If you want ${PN} to send mail, you will need to install"
elog "virtual/mailx or alter the EMAIL_CMD variable in the"
elog "cron script and possibly the MAIL_CMD variable in the"
elog "${PN}.conf file to use another mail client."
}

@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-grep-3.8
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~x86"
KEYWORDS="~alpha amd64 ~arm ~mips ppc x86"
IUSE=""
RDEPEND="

Binary file not shown.

@ -1 +1,2 @@
DIST ibus-anthy-1.5.14.tar.gz 267418 BLAKE2B a4da45588d8736f10ccf26af52179da85bd3a17a8f1fbdba622058d1eaed933b0102fe12357613574e377df323145487838c3f74c052c813462b435905d5c941 SHA512 4d06d4e177df62d22c61bf6ebfda04ddbf545ea1947d0c315e3dfe5e48d9ddc57e5fcc89919ae3b9f7430e6124a5dfb1295f4ca7362fbc35714d627f80fae6d8
DIST ibus-anthy-1.5.15.tar.gz 274290 BLAKE2B fb00ac3dc1b96c5567cb251a2e8984845c387402bdf9255e720972acb0163f59906ba7ad076d46da20ead75042a181b911d360d94bcaa85ef2e5a112daa33c18 SHA512 0acebb1b397f98d156ba9d6465bdb1025fb23a6b05b72c9b471827b45e22af55468b7674469f348712682446641c98d68f3d2aa339d2a1997a2df8c2bac45a7c

@ -0,0 +1,72 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools gnome2-utils python-single-r1 xdg
DESCRIPTION="Japanese Anthy engine for IBus"
HOMEPAGE="https://github.com/ibus/ibus/wiki"
SRC_URI="https://github.com/ibus/${PN}/archive/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="nls"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
app-i18n/anthy
$(python_gen_cond_dep '
app-i18n/ibus[python(+),${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
nls? ( virtual/libintl )"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/gettext
virtual/pkgconfig"
src_prepare() {
default
eautoreconf
gnome2_environment_reset
}
src_configure() {
econf \
$(use_enable nls) \
--enable-private-png \
--with-layout=default \
--with-python=${EPYTHON}
}
src_test() {
:
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
python_optimize
}
pkg_preinst() {
xdg_pkg_preinst
gnome2_schemas_savelist
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
if ! has_version app-dicts/kasumi; then
elog "app-dicts/kasumi is not required but probably useful for you."
fi
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
}

@ -1,2 +1 @@
DIST nabi-1.0.0.tar.gz 868761 BLAKE2B 125028a4a3a6c51edfeee45de42868c5c0397d8545fdaaffc8a305282ea7d8af102487ad86016e1d6e7275cf7e8a5cd0111bd7f8b9c38470021b94585c1cbf1d SHA512 cd093fc54fc4a40eaa85f9973999b9fe2e37344c1004b56fe9a2102bb0747294ba2af76aca2be234ce4fe07a5e8175d1bab7423dd2cee92ab88af865cd856005
DIST nabi-1.0.1.tar.gz 927009 BLAKE2B b53e3131e2998499f4004c07272bd1715905fbf26c8e524299bc1a4a80d8cada6d6368f372619893f5edec3b5c1595afe4c25756f171df88a2b805644c9d115b SHA512 8113b31df792ff1b31b1e063671a30e21c312e27627c0e15d9de872bb644eeaea4ebb65ef399dea2d75563d81941990f59adbe1e4c584026e02dcdafe389e9c1

@ -1,48 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Simple Hanguk X Input Method"
HOMEPAGE="https://github.com/libhangul/nabi"
SRC_URI="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
IUSE="debug nls"
KEYWORDS="~amd64 ~ppc ~x86"
RDEPEND=">=app-i18n/libhangul-0.1
dev-libs/glib:2
x11-libs/gtk+:2
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
virtual/libintl"
DEPEND="${RDEPEND}
virtual/pkgconfig
sys-devel/gettext"
DOCS=( AUTHORS ChangeLog.0 NEWS README TODO )
src_configure() {
local myconf=()
# Broken configure: --disable-debug also enables debug
use debug && myconf+=( --enable-debug )
econf "${myconf[@]}"
}
src_install() {
default
insinto /etc/X11/xinit/xinput.d
sed -e "s:@EPREFIX@:${EPREFIX}:g" "${FILESDIR}"/xinput-${PN} | newins - ${PN}.conf
}
pkg_postinst() {
elog "You MUST add environment variable..."
elog
elog "export XMODIFIERS=\"@im=nabi\""
elog
}

@ -1,3 +1,2 @@
DIST unicode-cldr-common-42.0.zip 30178050 BLAKE2B 076e3eca12534feff8e0e54bdc1fa38fc0db0f78cac8b4e35b343763a8ac6787745aa36be165684f4d6dda423409c4431a8e4941c53ae7d340ead0b35edbca30 SHA512 315448fe6a9ac2d5a6a7fd1a27b38c5db30fed053654a803d50e3a8d06aa08ad153e8e57089fa094c561f41a54f37eecda0701b47a1813879902be71945aa38a
DIST unicode-cldr-common-43.0.zip 31934452 BLAKE2B 8390db2fb58ede0f55ebe369e5598c6a47b6ed01c95162d85365a699ceeb15d4d912a1ea26062c8f37a467c58fdaca27e99a9a133fec4afe15bf6ac6ba29b4f6 SHA512 930c64208d6f680d115bfa74a69445fb614910bb54233227b0b9ae85ddbce4db19e4ec863bf04ae9d4a11b2306aa7394e553384d7537487de8011f0e34877cef
DIST unicode-cldr-common-43.1.zip 31936262 BLAKE2B 1a52c4ffbe1040e01571a69bb4e66d7065c38be97f0e44214d5c13d973f2f9e620357e3b6ab40bb94c3506f097062a58973ca3259b240da12ffeb84e9a1fd567 SHA512 f9915c285b6fe1d4186b19c6c6b5f53876ee976a0851d1eade6b79843ddc43951bcce42363dc1e0fa455223a9ae8b8d85c167c23f1b4c49cfe39034bd202a3c8

@ -1,22 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
DESCRIPTION="Unicode Common Locale Data Repository"
HOMEPAGE="https://cldr.unicode.org/"
SRC_URI="https://unicode.org/Public/${PN#*-}/${PV%.0}/${PN#*-}-common-${PV}.zip -> ${PN}-common-${PV}.zip"
LICENSE="unicode"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE=""
RDEPEND=""
BDEPEND="app-arch/unzip"
S="${WORKDIR}"
src_install() {
insinto /usr/share/${PN/-//}
doins -r common
}

Binary file not shown.

@ -0,0 +1,2 @@
DIST nftables-exporter-0.2.7-deps.tar.xz 6611016 BLAKE2B c6d5593bcf29f846044fd11602eb38f7296f46394cb61c04c7877b0d100d4f33f5bbccbcb374d267fa87da600c2afe00b1c0f6acb494d078c2cb8f2fe73baa6d SHA512 0039135b52e0f77316a68f482094620531be1a7ef1cbd713905f140fea09627fde4544b0c25ed964950682be905a758f22384e0159bbcf8ee2a9f57c3a7f5f43
DIST nftables-exporter-0.2.7.tar.gz 22061 BLAKE2B 142c834a77b563d6c57b72a5ec45c88e0542121d334c0b02a6acc18fea7902efad8080e0b3b01a2a519a4cd376938da58fc4b7b3fc2260300a5bc64469c993ee SHA512 69192df420b294b4c3b345999505111f149c00a5d68773b6f958d16b39505c937377075fe4e299688b97f5c12f0bbdac59bdb9bd0447b62f6d76c0bc55caa318

@ -0,0 +1,15 @@
#!/sbin/openrc-run
# Copyright 2023 Gentoo authors
# Distributed under the terms of the GNU General Public License v2
description="Prometheus nftables metrics exporter"
command="/usr/bin/nftables-exporter"
command_background="true"
error_log="/var/log/nftables-exporter/nftables-exporter.log"
output_log="/var/log/nftables-exporter/nftables-exporter.log"
pidfile=${pidfile:-"/run/nftables_exporter.pid"}
depend() {
after net
}

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">metal-stack/nftables-exporter</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,44 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
# make sure these are updated based on the Makefile in every bump.
GITVERSION=tags/v0.2.7-0-ga173315
SHA=a1733152
DESCRIPTION="prometheus exporter for nftables metrics"
HOMEPAGE="https://github.com/metal-stack/nftables-exporter"
SRC_URI="https://github.com/metal-stack/nftables-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="net-firewall/nftables"
src_prepare() {
default
sed -i -e '/strip bin\//d' Makefile
}
src_compile() {
emake \
GONAME=${PN} \
GITVERSION=${GITVERSION} \
SHA=${SHA} \
VERSION=v${PV} \
all
}
src_install() {
dobin bin/${PN}
insinto etc
doins nftables_exporter.yaml
systemd_dounit systemd/nftables-exporter.service
newinitd "${FILESDIR}"/${PN}.initd ${PN}
keepdir /var/log/${PN}
}

Binary file not shown.

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

Loading…
Cancel
Save