parent
4f3e5026f0
commit
4bf2027b2e
Binary file not shown.
Binary file not shown.
@ -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.
@ -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
|
||||
}
|
@ -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'"
|
||||
}
|
@ -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."
|
||||
}
|
Binary file not shown.
@ -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
|
||||
}
|
Binary file not shown.
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.
@ -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"
|
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.
@ -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
|
||||
|
Binary file not shown.
@ -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.
@ -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 */
|
@ -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
|
||||
}
|
@ -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
|
||||
|
@ -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/ /\ /g' \
|
||||
-e 's/–/\–/g' \
|
||||
-e 's/←/\←/g' \
|
||||
-e 's/→/\→/g' \
|
||||
-e 's/↔/\↔/g' {} \+ || die
|
||||
|
||||
# fix help path #891879
|
||||
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
|
||||
|
||||
# 489208
|
||||
# Cannot patch the whole text, many translations. Use sed instead to replace the command
|
||||
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
|
||||
's/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || die
|
||||
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
|
||||
src/VBox/Frontends/VirtualBox/src/main.cpp \
|
||||
src/VBox/VMM/VMMR3/VM.cpp || die
|
||||
|
||||
# 890561
|
||||
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
|
||||
|
||||
if ! use nls && ! use gui; then
|
||||
cat >> LocalConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_NLS :=
|
||||
VBOX_WITH_MAIN_NLS :=
|
||||
VBOX_WITH_PUEL_NLS :=
|
||||
VBOX_WITH_VBOXMANAGE_NLS :=
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-ld-disable-gold # bug #488176
|
||||
|
||||
tc-export AR CC CXX LD RANLIB
|
||||
export HOST_CC="$(tc-getBUILD_CC)"
|
||||
|
||||
local myconf=(
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
|
||||
--disable-kmods
|
||||
|
||||
$(usev !alsa --disable-alsa)
|
||||
$(usev !dbus --disable-dbus)
|
||||
$(usev debug --build-debug)
|
||||
$(usev !doc --disable-docs)
|
||||
$(usev !java --disable-java)
|
||||
$(usev !lvm --disable-devmapper)
|
||||
$(usev !pulseaudio --disable-pulse)
|
||||
$(usev !python --disable-python)
|
||||
$(usev vboxwebsrv --enable-webservice)
|
||||
$(usev vde --enable-vde)
|
||||
$(usev vnc --enable-vnc)
|
||||
)
|
||||
|
||||
if use gui || use sdl || use opengl; then
|
||||
myconf+=(
|
||||
$(usev !opengl --disable-opengl)
|
||||
$(usev !gui --disable-qt)
|
||||
$(usev !sdl --disable-sdl)
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--build-headless
|
||||
)
|
||||
fi
|
||||
|
||||
if use amd64 && ! has_multilib_profile; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
|
||||
# not an autoconf script
|
||||
edo ./configure "${myconf[@]}"
|
||||
|
||||
# Force usage of chosen Python implementation
|
||||
# bug #856121, bug #785835
|
||||
sed -i \
|
||||
-e '/VBOX_WITH_PYTHON.*=/d' \
|
||||
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
|
||||
-e '/VBOX_LIB_PYTHON.*=/d' \
|
||||
AutoConfig.kmk || die
|
||||
|
||||
cat >> AutoConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_PYTHON=$(usev python 1)
|
||||
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
|
||||
VBOX_LIB_PYTHON=$(python_get_library_path)
|
||||
EOF
|
||||
|
||||
if use python; then
|
||||
local mangled_python="${EPYTHON#python}"
|
||||
mangled_python="${mangled_python/.}"
|
||||
|
||||
# Stub out the script which defines what the Makefile ends up
|
||||
# building for. gen_python_deps.py gets called by the Makefile
|
||||
# with some args and it spits out a bunch of paths for a hardcoded
|
||||
# list of Pythons. We just override it with what we're actually using.
|
||||
# This minimises the amount of patching we have to do for new Pythons.
|
||||
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
|
||||
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
|
||||
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
|
||||
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
|
||||
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
|
||||
EOF
|
||||
|
||||
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||
|
||||
local myemakeargs=(
|
||||
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||
VBOX_WITH_VBOXIMGMOUNT=1
|
||||
|
||||
KBUILD_VERBOSE=2
|
||||
|
||||
AS="$(tc-getCC)"
|
||||
CC="$(tc-getCC)"
|
||||
CXX="$(tc-getCXX)"
|
||||
|
||||
TOOL_GCC3_CC="$(tc-getCC)"
|
||||
TOOL_GCC3_LD="$(tc-getCC)"
|
||||
TOOL_GCC3_AS="$(tc-getCC)"
|
||||
TOOL_GCC3_AR="$(tc-getAR)"
|
||||
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GXX3_CC="$(tc-getCC)"
|
||||
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||
TOOL_GXX3_AR="$(tc-getAR)"
|
||||
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||
VBOX_NM="$(tc-getNM)"
|
||||
|
||||
TOOL_YASM_AS=yasm
|
||||
)
|
||||
|
||||
if use amd64 && has_multilib_profile; then
|
||||
myemakeargs+=(
|
||||
CC32="$(tc-getCC) -m32"
|
||||
CXX32="$(tc-getCXX) -m32"
|
||||
|
||||
TOOL_GCC32_CC="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
|
||||
TOOL_GCC32_LD="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_AS="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_AR="$(tc-getAR)"
|
||||
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GXX32_CC="$(tc-getCC) -m32"
|
||||
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_LD="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_AS="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_AR="$(tc-getAR)"
|
||||
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
)
|
||||
fi
|
||||
|
||||
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
|
||||
|
||||
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
|
||||
|
||||
vbox_inst() {
|
||||
local binary="${1}"
|
||||
local perms="${2:-0750}"
|
||||
local path="${3:-${vbox_inst_path}}"
|
||||
|
||||
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
|
||||
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||
|
||||
insinto ${path}
|
||||
doins ${binary}
|
||||
fowners root:vboxusers ${path}/${binary}
|
||||
fperms ${perms} ${path}/${binary}
|
||||
}
|
||||
|
||||
# Create configuration files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||
|
||||
# Set the correct libdir
|
||||
sed \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||
|
||||
# Install the wrapper script
|
||||
exeinto ${vbox_inst_path}
|
||||
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
|
||||
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||
fperms 0750 ${vbox_inst_path}/VBox
|
||||
|
||||
# Install binaries and libraries
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r components
|
||||
|
||||
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload,XPCOMIPCD} \
|
||||
vboximg-mount vbox-img *so *r0; do
|
||||
vbox_inst ${each}
|
||||
done
|
||||
|
||||
# These binaries need to be suid root.
|
||||
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||
vbox_inst ${each} 4750
|
||||
done
|
||||
|
||||
# Install EFI Firmware files (bug #320757)
|
||||
for each in VBoxEFI{32,64}.fd ; do
|
||||
vbox_inst ${each} 0644
|
||||
done
|
||||
|
||||
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||
# VBoxXPCOMIPCD (bug #524202)
|
||||
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
# Symlink binaries to the shipped wrapper
|
||||
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
|
||||
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
|
||||
dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
|
||||
|
||||
if use pam; then
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
fi
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
# environment variables used during SDK binding installation
|
||||
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
|
||||
echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
if use sdl; then
|
||||
vbox_inst VBoxSDL 4750
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
fi
|
||||
|
||||
if use gui; then
|
||||
vbox_inst VirtualBox
|
||||
vbox_inst VirtualBoxVM 4750
|
||||
for each in VirtualBox{,VM} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
if use opengl; then
|
||||
vbox_inst VBoxTestOGL
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
|
||||
fi
|
||||
|
||||
for each in virtualbox{,vm} VirtualBox{,VM} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
doins -r UnattendedTemplates
|
||||
|
||||
domenu ${PN}.desktop
|
||||
|
||||
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
|
||||
for size in 16 32 48 64 128 ; do
|
||||
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
|
||||
done
|
||||
newicon ${PN}-48px.png ${PN}.png
|
||||
doicon -s scalable ${PN}.svg
|
||||
popd &>/dev/null || die
|
||||
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||
icofile="${PN}-${ico}-${size}px.png"
|
||||
if [[ -f "${icofile}" ]]; then
|
||||
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
if use lvm; then
|
||||
vbox_inst VBoxVolInfo 4750
|
||||
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||
fi
|
||||
|
||||
if use sdk; then
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r sdk
|
||||
|
||||
if use java; then
|
||||
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
local udevdir="$(get_udevdir)"
|
||||
local udev_file="VBoxCreateUSBNode.sh"
|
||||
local rules_file="10-virtualbox.rules"
|
||||
|
||||
insinto ${udevdir}
|
||||
doins ${udev_file}
|
||||
fowners root:vboxusers ${udevdir}/${udev_file}
|
||||
fperms 0750 ${udevdir}/${udev_file}
|
||||
|
||||
insinto ${udevdir}/rules.d
|
||||
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
|
||||
> "${T}"/${rules_file} || die
|
||||
doins "${T}"/${rules_file}
|
||||
fi
|
||||
|
||||
if use vboxwebsrv; then
|
||||
vbox_inst vboxwebsrv
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
# Remove dead symlinks (bug #715338)
|
||||
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
|
||||
|
||||
# Fix version string in extensions or else they don't get accepted
|
||||
# by the virtualbox host process (see bug #438930)
|
||||
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
|
||||
|
||||
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
|
||||
|
||||
if use vnc; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/VNC
|
||||
fi
|
||||
|
||||
if use dtrace; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
dodoc UserManual.pdf UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
elif use gui; then
|
||||
dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
|
||||
if [[ ! -x "${python_path_ext}" ]]; then
|
||||
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
|
||||
eerror "but none were installed. This may happen if support for a Python target"
|
||||
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
|
||||
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
|
||||
fi
|
||||
|
||||
# 378871
|
||||
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
|
||||
pushd "${installer_dir}" &> /dev/null || die
|
||||
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
|
||||
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
|
||||
-i vboxapi/__init__.py || die
|
||||
# insert shebang, the files come without one
|
||||
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
|
||||
python_domodule vboxapi
|
||||
popd &> /dev/null || die
|
||||
python_doscript vboxshell.py
|
||||
|
||||
# do not install the installer
|
||||
rm -r "${installer_dir}" || die
|
||||
fi
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
if use udev; then
|
||||
udev_reload
|
||||
udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
tmpfiles_process virtualbox-vboxusb.conf
|
||||
|
||||
if use gui; then
|
||||
elog "To launch VirtualBox just type: \"virtualbox\"."
|
||||
fi
|
||||
|
||||
elog "You must be in the vboxusers group to use VirtualBox."
|
||||
elog ""
|
||||
elog "The latest user manual is available for download at:"
|
||||
elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
|
||||
elog ""
|
||||
|
||||
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
|
||||
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
|
||||
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
|
||||
|
||||
if ! use udev; then
|
||||
ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
|
||||
use udev && udev_reload
|
||||
}
|
Binary file not shown.
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."
|
||||
}
|
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…
Reference in new issue