parent
1d0409f3b1
commit
60e3937cc6
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29290 BLAKE2B 7a0fa2f3418c7f1ba3b45c7d59ee5032921a0ee2a8b4f4fffdfd4927642c9b9bd56734a64c323659b8bfeadda623399a46dd10b05148191bb14a7057128a6e13 SHA512 7607355a581f8400f81019eac27fe0762d9c3ec7bb358da4121abcd4b6a3b81a080fa4c9e702ab5d90831f8abbf16c3f214eb65cb5698f83b9d1578d493cb1cc
|
||||
TIMESTAMP 2023-07-10T05:39:45Z
|
||||
MANIFEST Manifest.files.gz 29287 BLAKE2B 94e1ea99d701e9dadac9d6f83861c2e952aa1cc35629d1fe5e0ac6a8b8ad73c20ae34c9d6fca907c40a1515f891ed4b09fe865d38e991bfd548b5409ab179f6e SHA512 b4c9131edbe115d599da7f8fc10167afcf62427e1e2447e32580558b9d32fadd3732534e52ec3cea5aa75f84fc0f51d7ae6776937a22d89e3925f6c9964387d0
|
||||
TIMESTAMP 2023-07-13T12:09:52Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSrmaFfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmSv6ZBfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klDf4xAAn9RYJAud/FuU9sxvIIMq3o4Wz9FlnVNdH6Sh8zL3FrtR0Yexs4N/9BZ6
|
||||
3M43FmdXN8VXCseEnKtTz1wAI1Qr6VYIrkQW3G+Oedy7R4NJj5DUOe8g2pkLT8ze
|
||||
XoaeUMQ/IurF8Khay294unjXO0y1Tz72eOME/zfWSMcycbehTUYSoHCxcj8VcQ+2
|
||||
SA2VCE5aeNdfYxR4V9AsjeX6Mr+t6z1ZEP9BodRlEVOqN7xjuavUL0t+vdtA7Dkq
|
||||
+vEtYwFR3u0OWu4zGnQZWHWZ/lm1vKx2Ze5PdWBaC8iboM7qpUeyNlGpLphHVr8z
|
||||
22EiarnjTPqu1f2ijZxqMQgK02IYarmbcCGIqDk1rvxLcZUa5wRez+w3UXCLTI61
|
||||
X9E00R78W/PedqINpAzvm/C8GCGRJd0V+2jY0LxwbzMVCx65iCKwd8RYisLOktA0
|
||||
AXDvbVJkF0fXIEdLt6hDpI86I2aKCciXvWdR2ecMrwSddFS0HGjGqV2j+vx/Nels
|
||||
dVNmK92RRchT37NxoKASy6/iEjhRgvS31yG02Q77dYzhWSqhYfxBDOw7mWOai02G
|
||||
kmprrf05pRT70UdXJVim2/9yM/0KPXUqrtWZjJhqboENUCoJVB5iwBst2fdKFKM1
|
||||
Hz1CeVeKqVlv5HfKsicUjr8TWxM7IoFrVHMdcCFVQftRtU2ncbA=
|
||||
=2gwC
|
||||
klAG7RAAmugn1G0kioVdB6lIhCtWSnQC35/BKJC/f7DN5Vxj5stI9hc1k9pk4qNH
|
||||
FDmsbxhPAetrRoOKzuAS7yl4yzmBWOwBigARBA0/IA9qdEVHoV3jELZXh+deBKeH
|
||||
VmjJ6DsIx+dtoAnCNkylEUY8wlfVN+ozvPEsmRpcwCIVTG/2iJQKpNUD5dg8q8Su
|
||||
z+dnR4FuTI7Bwf98N4pDkNklqy6BJ22LWayl4i/LjT/ru15sRXp2MXcT/AwaANe9
|
||||
BnRla5uzgHJWLgVgRRhzMSoRY1O2CiOE/lYN3K/7XpskzyEJuNu7KKr57Em1Sqnz
|
||||
OeGFxnvyP0p8mRBipCHrOMnXNf4SNknXNJoevBWYww1v5l7Ojb+H7b357QL5ZvY+
|
||||
0dpoiM77E/Hk5N3lPdYIS+d9Z+n2LUNR7OKWMcxcSr7LZkVzPr6t1FS9Rr7ZbxQ7
|
||||
cSqFRRjSARf8B8QTi5meB7kKn55DmNirhP2Nt8tvu9FLEtOfk6XTZq29S11C0O9n
|
||||
O05zYRNC8bQIntL5Q+VKx2SKC35WnWdfIR84kwkdA4x10UyzFxueT3PUEh/SuWtl
|
||||
PQeq92hGvrg38rfoSYKqO0zqnx+HWafZORQynuthxbAT1TAl0uzUipgcSj3BPqFj
|
||||
WJPZX+JCjRBlkEDKs8ZqH4qypItoYQmL5WRkH4gZqcFb6cWcGsc=
|
||||
=zgnn
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
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
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
DIST clustershell-1.9.1.gh.tar.gz 383917 BLAKE2B 90d8c8390453a2c843bbb909a741d24d5f8e4b8eb03631bbe81b98973fce95d96dd3e68d0b951bc23d067057222c858e5041a3bafde200e0e2d14a0be995689f SHA512 32ee8b43d92e7ada8c81facc6a0609c39beee9189fa6fb9c2237387a58134f99fb2e6ab6e5de35c8e6fc8d3cef57f74f4c08b14968484546859071dff2594eb1
|
||||
DIST clustershell-1.9.gh.tar.gz 382574 BLAKE2B 031eb9683db330f3b90ac06fa9a0409ea72c1be3d83c8d0519e0080ead715386043c925a6dbaeafdb38351c54f1508c050279603cd81bc2de60ba2df5733f636 SHA512 9eb4e9663a6381fa27311d1d70002ba64066ee6e2e08aaf772974d8097c6ca2d020563fc8478064e76bc6e56d37ed7eefc2919db99a2f5b26bd878fa7b764a15
|
||||
EBUILD clustershell-1.9-r1.ebuild 1155 BLAKE2B 4863a24697481a446330e7d009719893c74f595c4b8a8fb194065a39962eb74018e52f5c8469c0d24c867cd28b5a660793874d0015c215b97aebfe6753aa113e SHA512 c557552644efefaab45cc990dd631d3210e42c430db0a0ebfeb2f6371bfb7942ff989e9bb4e4341f321a77fc7cc8a3090945382032efa4e6e165d0a62790cefb
|
||||
EBUILD clustershell-1.9.1-r1.ebuild 1132 BLAKE2B 37edb8ab47a6a48da13346a8828cfa96ebb5424821ca5516bfd7cc1484d0a09be213f9e0e2680b228278c0e4bec0ad3fc7156654713f75e5d3319657ac5ee792 SHA512 a3a788750c5e1279d1a7bc11f4dfb8ebf9898eaba002860e5cabbef48731b3402061aa0ddd9d844769f3aa115664ca7dcc8646282c772ae76cba0e221ef26bb9
|
||||
MISC metadata.xml 610 BLAKE2B 1baa68f298ccc1117524968f3ddef220f068e876cfe8d6e5243a5f3144bfa8db21aa93bdb92efd3e7082c0e32b2747d2b544687114b09b78f823636d9b9be5b7 SHA512 0e4a89c4ea24577e065ed6b1a5714cfabea0a3452d546a16824608d2fdbc97ac39fb43d49c7adb279342a774b6719d52707b54091fc30326cbef14755fc04e0f
|
||||
|
@ -1,59 +0,0 @@
|
||||
# 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_{9..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python framework for efficient cluster administration"
|
||||
HOMEPAGE="https://github.com/cea-hpc/clustershell/"
|
||||
SRC_URI="
|
||||
https://github.com/cea-hpc/clustershell/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
app-shells/pdsh
|
||||
virtual/openssh
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# remove test sets that require working ssh connection
|
||||
rm tests/{CLIClush,TaskDistant*}Test.py || die
|
||||
}
|
||||
|
||||
python_test() {
|
||||
cd tests || die
|
||||
# Automatic discovery does not work
|
||||
"${EPYTHON}" -m unittest_or_fail -v *.py || die "Tests failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
|
||||
doman doc/man/man*/*
|
||||
|
||||
mv "${ED}/usr/etc" "${ED}/etc" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "Some default system-wide config files have been installed into"
|
||||
einfo "/etc/${PN}"
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
DIST eclean-kernel-2.99.3.tar.gz 20031 BLAKE2B 70830639eb00bde810e29361dec7c7b90f5b85b79b5be865f23cf45254cbf6139ef335fb5bfef08e2512512e57867df62f6468ce8de1da58cc9a4cfa27a26244 SHA512 edbe373b81a2eb5c7fca8794f9577c68ab66305e9085cc7535cd5d8a8fdd549b2035cb0b5f3e5a69cc735146c2eef81dc5c1f5284ef255420aca0cda9e518b14
|
||||
DIST eclean-kernel-2.99.4.gh.tar.gz 21856 BLAKE2B ff9815e69054f7f7db84088ea0b1f9a8915927d4696f2cae51d7f3f96e423b7e5938f935808cf46666dba473f4c4ef4fda2acbe9662892cfbfbb8ad653724042 SHA512 8e5bfc6b4bdfb70d4d0139afbb0fbcb6772ae2ba0d4d4449705068b65d4f6239d08918c824326c7440172161513adcd66e477a8879a65964f8fc7965cb827535
|
||||
DIST eclean-kernel-2.99.5.gh.tar.gz 22868 BLAKE2B 38a441e61e5636f0f3882d4323da6f0c89877cdfda88845ef9f8564286fdaea92d50a653473cec7d9b6b74c6bd33766cb4223d7aa602bd6083a53c5ece7b5204 SHA512 3be8833e9cb51deaaeff2c47789a6947812d486eae9134e772963ccc5c00f9265e27c2ff360de3075d4e2cc7128d27b4b5293bb6e3a86c83274b3796d881084c
|
||||
EBUILD eclean-kernel-2.99.3.ebuild 704 BLAKE2B 34896ebf4ea4b8365e19608acab68f24181c6883581994b57c36e4d57f8a19da32fbe7689ecd5d73a7ab2bc8441ba44c61ac88dd49acc12a0d6ff50dd66c136d SHA512 111611d0fcf3de589e5e71c6fcbde02dbfd4f8890c7ca5f1abda00a876454b40a7b90ea23fbcfb778f212bdd3890ae991fa3826450db47d9e5af40ae2ff77ee1
|
||||
EBUILD eclean-kernel-2.99.4.ebuild 720 BLAKE2B d9a1f1eec7146defaf7abfb58df91398862367416fc134fb5613dde2b780057e16ea98edd7d232d7a18e686c7d20dc9b9f907749d95362fbdf601ab0a6834e29 SHA512 a4018e6e5cbd0bda15bc486c9d9aeb883cde70b97a90b4b4c6b6c55e8ca870ec4e7396166c8d84d9e814cd6de18eade4ac8a83707aee2fe9fa8c9e0909e37753
|
||||
EBUILD eclean-kernel-2.99.5.ebuild 721 BLAKE2B 2afabdfee84e19e8bb2bdb904125164b1369a54ef8ed6f789664c5f0ed7f47e2e0cf48f18c5c184030a6e228d531b450a614b636863cfb66daddd721b0af0969 SHA512 e80ee218cba4d4f248ff02360a288d0ac3378d08e992be892911ab1b9a4351a467559af5162947e00a66990e96c3388bd168fee5655d877eef6e7d7bd8616e7c
|
||||
EBUILD eclean-kernel-9999.ebuild 662 BLAKE2B 43fbf6e7f74efa6f87120fea4f5f620e390cc0ed86c33e71fe4a27897793c02e7a06fb970ec00f16010f7f4b9535a87caa462945f5030e688a920c91c8387328 SHA512 85bd84c9148941595cf3f6a888c082c2cff2391d145191c36a6dd42eff146935c0531ad2a471184171502ec3b451602bc3b8356a4f98395ce7434fa38f1bf4ee
|
||||
MISC metadata.xml 618 BLAKE2B 1629b132706b5bdd9d30ab55b929b679d846523b1d9d40fdf26600917af18514c1774d8f5dfb2c39d0bf3476371aaf5f1f952b18269660862b7ae96f3c567e22 SHA512 a07b907aea8d1859d6fd7384a65b10cdfb9d0e19a9712f7e1dbf910b444d21a7c573a73549b6d1aedc7b234988a4911c6d759533a9ecba571002611ff26b3549
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Remove outdated built kernels"
|
||||
HOMEPAGE="https://github.com/projg2/eclean-kernel/"
|
||||
SRC_URI="
|
||||
https://github.com/projg2/eclean-kernel/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
|
||||
IUSE="lz4 lzo zstd"
|
||||
|
||||
RDEPEND="
|
||||
kernel_linux? ( dev-python/pymountboot[${PYTHON_USEDEP}] )
|
||||
lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
|
||||
lzo? ( dev-python/python-lzo[${PYTHON_USEDEP}] )
|
||||
zstd? ( dev-python/zstandard[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -0,0 +1,286 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit pam libtool tmpfiles toolchain-funcs
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/sudo.ws.asc
|
||||
inherit verify-sig
|
||||
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="
|
||||
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
virtual/libcrypt:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1:=
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap:=[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND+="
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( pam skey )
|
||||
?? ( gcrypt ssl )
|
||||
"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# First extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
|
||||
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*)
|
||||
;;
|
||||
*)
|
||||
SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# Then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# Finally, strip gcc paths, bug #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do
|
||||
[[ ${thisp} == ${e} ]] && continue 2 ;
|
||||
done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
|
||||
set_secure_path
|
||||
|
||||
# bug #767712
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
# - audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# - plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
local myeconfargs=(
|
||||
# We set all of the relevant options by ourselves (patched
|
||||
# into the toolchain) and setting these in the build system
|
||||
# actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3
|
||||
# (it'll downgrade to =2). So, this has no functional effect on
|
||||
# the hardening for users. It's safe.
|
||||
--disable-hardening
|
||||
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP.md
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP.md for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins docs/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
if use pam ; then
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
fi
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
# bug #652958
|
||||
fperms 0711 /var/db/sudo
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
# bug #697812
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
# bug #652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in ${ROOT}/etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo on Prefix, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
AUX sysstat-12.6.2-check_overflow.patch 1071 BLAKE2B efa23b3c2fbe1aac353b7282836639dbee08b6cd2fbba9856213a92c65ec8df688182e996966330aa501cbc75845d7159861334715c3ee40c9eb045f42afd153 SHA512 8329d50044c011b30d9ce034d24207502b811cd61b152da6fba330072a63599ebea7f1939856b9e8d6ca79f42c64b0a619138aea6349af7fe69a34319a7b0ec7
|
||||
AUX sysstat.init.d 378 BLAKE2B fe781f1a53e183023da2b46ecefb37881eedf8e8df2623927b24f33aa3344776b39db038d598ad050f1d48462d52300fb17731f29b0a8ab9c800fbe379efa249 SHA512 328ee3d40d45a0b1702c74fe0195ce4444cc8f63cb0fa68ba40ca20cfa183dd7acf4fc846cd76a4bcf426a3b4064316061dbbf26ca20047711528399e17b20b4
|
||||
DIST sysstat-12.6.2.tar.gz 1455025 BLAKE2B aba2d8fd5fae8d6df740173d7ccd60beb0628c4c2205342f72ec03d6c48995d397de0d6f2cace24accf1a9274da37cf3bba86888717bc8d62d262ffd1c6f995e SHA512 376047de55598c6f671b999203809219a40206a9c58499399681af9ebe6048dd4da96c8ef5827d75cc369a7b69c3f1aadef1a5e8deec318a12b230d61f09fc08
|
||||
EBUILD sysstat-12.6.2-r1.ebuild 1773 BLAKE2B 303007c6b1a335ba653a4d30066b9e89accf0442352e423d84b03f6c5934c69ead75438e68c4b9337d5bccd063a6187e709882e4b6d05783e9c9730b8aa699f1 SHA512 0f30c167efa6eed3f6266660c465117eb224c873d3762cf3781f75a24998d11b55f646fbe62426d4f86a8a77ef56a1b1968a1e1ea51370540d672c2cf2d39f84
|
||||
EBUILD sysstat-12.6.2.ebuild 1710 BLAKE2B 575b73d0afe41bfe83bf70bb2d4723d9c6324371b20bbdbf4fb0a62f8e27bc567c47f1050979ca24a0b4ab3afa32d0019bf3905bca5cc54c478f8ebf00e20e4b SHA512 8312739cca30d5fab338186fb1b16d6f7ed171694b3af0474b62a1616cbf27579af95ed93ada68600fd80173558e35de9a8e51256eb25fdc9d6cee12ad94a99e
|
||||
EBUILD sysstat-12.6.2-r1.ebuild 1772 BLAKE2B 001aa7ad883313460e5c123d652f684bc0590eb513d0ce6b1b92f8ea5af2b1baeff0784161436f2ba798d33f7ee6a2c4673e1854b5943d67d61db4d7f8eb326d SHA512 b4eeebfb95e3c459783907f6f79ed46c2854916dec80c65330a2bd46e01fc9c734dcd6d2e66965f4518958444f02a8c3332152d1290318ac9376f478fa2ba7a3
|
||||
MISC metadata.xml 617 BLAKE2B e890e68addd784d7478e282d4518a7cab0d7ca4fc86ad44db58063e5c7027084b66d1e4fe63b702b992a60f0d9cd5816cf8ad6016b17e185760a820f08907579 SHA512 1dcf5a80e3f3cfdf1cc8cd3730847c6ed9107eec7286b37e1de01287189e8811e729e16328a283abe196443c5355d905d7c95104c43e23f7d4ce3c56e2fa4ad9
|
||||
|
@ -1,84 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit systemd toolchain-funcs
|
||||
|
||||
DESCRIPTION="System performance tools for Linux"
|
||||
HOMEPAGE="http://sebastien.godard.pagesperso-orange.fr/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="dcron debug nls lm-sensors lto selinux systemd"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
COMMON_DEPEND="
|
||||
nls? ( virtual/libintl )
|
||||
lm-sensors? ( sys-apps/lm-sensors:= )
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
!dcron? ( !sys-process/dcron )
|
||||
selinux? ( sec-policy/selinux-sysstat )
|
||||
"
|
||||
|
||||
REQUIRED_USE="dcron? ( !systemd )"
|
||||
|
||||
src_prepare() {
|
||||
if use dcron; then
|
||||
sed -i 's/@CRON_OWNER@ //g' cron/sysstat.crond.in || die
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
|
||||
sa_lib_dir=/usr/lib/sa \
|
||||
conf_dir=/etc \
|
||||
econf \
|
||||
$(use_enable !systemd use-crond) \
|
||||
$(use_enable lm-sensors sensors) \
|
||||
$(use_enable lto) \
|
||||
$(use_enable nls) \
|
||||
$(usex debug --enable-debuginfo '') \
|
||||
--disable-compress-manpg \
|
||||
--disable-stripping \
|
||||
--disable-pcp \
|
||||
--enable-copy-only \
|
||||
--enable-documentation \
|
||||
--enable-install-cron \
|
||||
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
LFLAGS="${LDFLAGS}" default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /var/log/sa
|
||||
|
||||
emake \
|
||||
CHOWN=true \
|
||||
DESTDIR="${D}" \
|
||||
DOC_DIR=/usr/share/doc/${PF} \
|
||||
MANGRPARG='' \
|
||||
install
|
||||
|
||||
dodoc -r contrib/
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
|
||||
systemd_dounit ${PN}.service
|
||||
|
||||
rm "${D}"/usr/share/doc/${PF}/COPYING || die
|
||||
}
|
Binary file not shown.
@ -1,9 +1,7 @@
|
||||
DIST clamtk-6.15.tar.xz 287452 BLAKE2B 6cece01ca0691edc369bc462fd0d7992e3d40ffc5d05b3969ebe4f2afa9211b8e6babb77136ff075507ebcccd1769fa2b20e1f8bfa3cee1408cfff19377662b9 SHA512 0b882ba8f8bd615276e19aa303832a9aaabd0515f29a0f2b0a2543597e62a1aa6f720acd9193b76fd726bcb007d78c8d7ddfaca8fdbe8998a8b191366f36b41a
|
||||
DIST clamtk-6.16.tar.xz 287832 BLAKE2B b0f8a72c7ecb8766735a7280d9c493b5490c6ba74728db24c1ced93708161bfef537755218758bde81850f3d9f8e58b35bbbd46fcc22496b2debf0f0bb94a315 SHA512 13dd74e1b458e38ba43faf3434c06b556b85cc1c78c832c93c863d3ca67b0c66e689b0f254170f75461ccfc9a562553e2bcd76006b22ec30b7785fd781f6af0f
|
||||
DIST clamtk-gnome-6.14.tar.xz 15156 BLAKE2B ed87dc8317b60a63c4f8824b0e24568ab29874d1e62ef0f4eddeb636960d9b2753b12dfb8fb6f3eb27a6fbfb18dc88b6a480b532afd0d22f20955f4023278eb8 SHA512 3fd798a7d8dbea0e33db09f266b6ad74b96ae5097ecc4d54e00c30c2a5f76a93cd6f2cbaa2b83dc69eb295905c09db88dc2f364592a398786e473783d1ee2c4e
|
||||
DIST clamtk-kde-0.19.tar.xz 18652 BLAKE2B 4ecb849c9312948d493938683310904c9bbe7f4e26514d76dbfee3afdd063eec2a0aa85a638f83130c8e3ff41cfabee1479885691cc484680d97d1f8fbb76f00 SHA512 57a99d50f171ada999723dc69c2d193e91a482533add4281c6aac96a23273b3eb5456bff6918f69c72edf1635d22be86beae4c434eb29fc3c27fb687fa716861
|
||||
DIST nemo-sendto-clamtk-0.05.tar.xz 5980 BLAKE2B ca5f37fb9ba9e7f7dc9dc67d52fe36f430697f200c2c91f4d912b068f28d79bee100a85878f66414012728e979073a0afc411e6789959a35bd468c28bf207618 SHA512 4cb2d32711da47c959be84d69654ea0ab0bfb4f2c4a806cbc035129fd0d985a93b89d51c5874de272f2a2841c66702c8867178f5af41505e698c8e37e3c74da9
|
||||
DIST thunar-sendto-clamtk-0.07.tar.xz 5432 BLAKE2B 7b0911abbcf1601ee961a0449815e21273acb7e757b4c4f532a100da48fe4c7b2f6ecb05a27931e0cf60af94e7cd52af23736180f0d9afa1dd00b9f44eaa3c0b SHA512 f25802c80d5e8a6d703b7b3b2266a91eb031a377792420052f6873cb0eb759235d79df457dc26303d6ef4ed9989dbc4ff803258255fb568fef27c782144c1145
|
||||
EBUILD clamtk-6.15.ebuild 3937 BLAKE2B 4185c5cdfd609e2f7972dc64a23afd4459cec526703bbb7ddcf9570665996529c63d54d88b24c991f21807156a78a5873bd95f2b97d9110c4122c909b7829f82 SHA512 d84e33ab89fca1d73c3fac94ca3f9920a6ff8d0fb613df84caccc0858e54920d2e13861b90f4881e6edf4856d41a1de3f5d1fec98aefa8aa7bf61c5bae1ec40e
|
||||
EBUILD clamtk-6.16.ebuild 3939 BLAKE2B 0742df816def50a61fdde738cdfa9811d34252ac0939f623a41964245790936638cf53978f3c5681865b25eac63ce9914f779264c54c6339bbd9d56d33f3eebc SHA512 cf57cd5460201745d4a7f0a8d308fc146052d95c91c2ecbab4c05b4c7dc5ea5ee7a2cb423bff847a7461b7dc3750e17dc2008c07cf593c2a0fa599745cca112d
|
||||
EBUILD clamtk-6.16.ebuild 3937 BLAKE2B 4185c5cdfd609e2f7972dc64a23afd4459cec526703bbb7ddcf9570665996529c63d54d88b24c991f21807156a78a5873bd95f2b97d9110c4122c909b7829f82 SHA512 d84e33ab89fca1d73c3fac94ca3f9920a6ff8d0fb613df84caccc0858e54920d2e13861b90f4881e6edf4856d41a1de3f5d1fec98aefa8aa7bf61c5bae1ec40e
|
||||
MISC metadata.xml 870 BLAKE2B 503e8b1fdd2cd3d2539c4cab72fa307e98df2824ec89e77a2a17303e96badaaf700332be4466443c3e881b371423cb40d464022692a563aa31e7698ba326a191 SHA512 77ac4d301d79f7404946014c243415dc408c165f6d0febd2a9fb74d257877ccee0b662b909efbb1afad5462b939a6405c9363e6fcc9e8e278414fdcf4166b253
|
||||
|
@ -1,142 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit desktop perl-functions python-single-r1 xdg-utils
|
||||
|
||||
MY_PV_KDE="0.19"
|
||||
MY_PV_NAUTILUS="6.14"
|
||||
MY_PV_NEMO="0.05"
|
||||
MY_PV_THUNAR="0.07"
|
||||
|
||||
DESCRIPTION="A graphical front-end for ClamAV"
|
||||
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
|
||||
SRC_URI="
|
||||
https://github.com/dave-theunsub/${PN}/releases/download/v${PV}/${P}.tar.xz
|
||||
kde? ( https://github.com/dave-theunsub/${PN}-kde/releases/download/v${MY_PV_KDE}/${PN}-kde-${MY_PV_KDE}.tar.xz )
|
||||
nautilus? ( https://github.com/dave-theunsub/${PN}-gnome/releases/download/v${MY_PV_NAUTILUS}/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
|
||||
nemo? ( https://github.com/dave-theunsub/nemo-sendto-${PN}/releases/download/v${MY_PV_NEMO}/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )
|
||||
thunar? ( https://github.com/dave-theunsub/thunar-sendto-${PN}/releases/download/v${MY_PV_THUNAR}/thunar-sendto-${PN}-${MY_PV_THUNAR}.tar.xz )
|
||||
"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="kde nautilus nemo +nls thunar"
|
||||
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
app-antivirus/clamav
|
||||
dev-perl/File-chdir
|
||||
dev-perl/Gtk3
|
||||
dev-perl/JSON
|
||||
dev-perl/LWP-Protocol-https
|
||||
dev-perl/LWP-UserAgent-Cached
|
||||
dev-perl/Locale-gettext
|
||||
dev-perl/Text-CSV
|
||||
dev-perl/glib-perl
|
||||
dev-perl/libwww-perl
|
||||
virtual/perl-Digest-MD5
|
||||
virtual/perl-Digest-SHA
|
||||
virtual/perl-Encode
|
||||
virtual/perl-MIME-Base64
|
||||
virtual/perl-Time-Piece
|
||||
nautilus? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/nautilus-python[${PYTHON_SINGLE_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="nls? ( sys-devel/gettext )"
|
||||
|
||||
DOCS=( "CHANGES" "credits.md" "DISCLAIMER.md" "README.md" )
|
||||
|
||||
pkg_setup() {
|
||||
use nautilus && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
unpack "${S}"/clamtk.1.gz
|
||||
|
||||
use kde && unpack "${S}"/../clamtk-kde-${MY_PV_KDE}/clamtk-kde.1.gz
|
||||
use nautilus && unpack "${S}"/../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.1.gz
|
||||
use nemo && unpack "${S}"/../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.1.gz
|
||||
use thunar && unpack "${S}"/../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.1.gz
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin clamtk
|
||||
|
||||
perl_set_version
|
||||
insinto "${VENDOR_LIB}"/ClamTk
|
||||
doins lib/*.pm
|
||||
|
||||
use nls && domo po/*.mo
|
||||
|
||||
doicon images/clamtk.png images/clamtk.xpm
|
||||
|
||||
domenu clamtk.desktop
|
||||
|
||||
doman ../clamtk.1
|
||||
|
||||
if use kde; then
|
||||
insinto /usr/share/kservices5/ServiceMenus
|
||||
doins ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.desktop
|
||||
|
||||
doicon ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.png ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.xpm
|
||||
|
||||
doman ../clamtk-kde.1
|
||||
|
||||
docinto dolphin
|
||||
dodoc ../clamtk-kde-${MY_PV_KDE}/CHANGES ../clamtk-kde-${MY_PV_KDE}/README.md
|
||||
fi
|
||||
|
||||
if use nautilus; then
|
||||
insinto /usr/share/nautilus-python/extensions
|
||||
doins ../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.py
|
||||
|
||||
doicon ../clamtk-gnome-${MY_PV_NAUTILUS}/images/clamtk-gnome.png
|
||||
|
||||
doman ../clamtk-gnome.1
|
||||
|
||||
docinto nautilus
|
||||
dodoc ../clamtk-gnome-${MY_PV_NAUTILUS}/CHANGES ../clamtk-gnome-${MY_PV_NAUTILUS}/DISCLAIMER ../clamtk-gnome-${MY_PV_NAUTILUS}/README.md
|
||||
fi
|
||||
|
||||
if use nemo; then
|
||||
insinto /usr/share/nemo/actions/
|
||||
doins ../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.nemo_action
|
||||
|
||||
doman ../nemo-sendto-clamtk.1
|
||||
|
||||
docinto nemo
|
||||
dodoc ../nemo-sendto-clamtk-${MY_PV_NEMO}/CHANGES ../nemo-sendto-clamtk-${MY_PV_NEMO}/DISCLAIMER ../nemo-sendto-clamtk-${MY_PV_NEMO}/README.md
|
||||
fi
|
||||
|
||||
if use thunar; then
|
||||
insinto /usr/share/Thunar/sendto
|
||||
doins ../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.desktop
|
||||
|
||||
doman ../thunar-sendto-clamtk.1
|
||||
|
||||
docinto thunar
|
||||
dodoc ../thunar-sendto-clamtk-${MY_PV_THUNAR}/CHANGES ../thunar-sendto-clamtk-${MY_PV_THUNAR}/DISCLAIMER ../thunar-sendto-clamtk-${MY_PV_THUNAR}/README.md
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,106 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_OPTIONAL="1"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit cmake-multilib distutils-r1 flag-o-matic
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/google/${PN}.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
SRC_URI="
|
||||
https://github.com/google/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz
|
||||
test? (
|
||||
https://dev.gentoo.org/~mgorny/dist/${P}.testdata.tar.xz
|
||||
)
|
||||
"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Generic-purpose lossless compression algorithm"
|
||||
HOMEPAGE="https://github.com/google/brotli/"
|
||||
|
||||
LICENSE="MIT python? ( Apache-2.0 )"
|
||||
SLOT="0/$(ver_cut 1)"
|
||||
IUSE="python static-libs test"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
python? (
|
||||
${DISTUTILS_DEPS}
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/unittest-or-fail[${PYTHON_USEDEP}]
|
||||
' 3.{9..11})
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( README.md CONTRIBUTING.md )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PV}-linker.patch" )
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
use python && distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_TESTING="$(usex test)"
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-lfs-flags
|
||||
|
||||
cmake-multilib_src_configure
|
||||
use python && distutils-r1_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-multilib_src_compile
|
||||
use python && distutils-r1_src_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
eunittest -s python -p "*_test.py"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cmake-multilib_src_test
|
||||
use python && distutils-r1_src_test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
if ! use static-libs; then
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
use python && distutils-r1_src_install
|
||||
|
||||
doman docs/brotli.1
|
||||
|
||||
local page
|
||||
for page in constants decode encode types ; do
|
||||
newman docs/${page}.h.3 ${PN}_${page}.h.3
|
||||
done
|
||||
}
|
Binary file not shown.
@ -1,73 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit distutils-r1 systemd pypi
|
||||
|
||||
DESCRIPTION="Automatically create, prune and verify backups with borgbackup"
|
||||
HOMEPAGE="https://torsion.org/borgmatic/"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
|
||||
|
||||
# borg is called as an external tool, hence no pythonic stuff
|
||||
RDEPEND="app-backup/borgbackup
|
||||
$(python_gen_cond_dep '
|
||||
<dev-python/colorama-0.5[${PYTHON_USEDEP}]
|
||||
dev-python/jsonschema[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
<dev-python/ruamel-yaml-0.18.0[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
')"
|
||||
BDEPEND="
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/flexmock-0.10.10[${PYTHON_USEDEP}]
|
||||
')
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.5.1-no_test_coverage.patch
|
||||
"${FILESDIR}"/${PN}-1.7.3-systemd_service_bin_path.patch
|
||||
)
|
||||
|
||||
# A fragile test whose only purpose is to make sure the NEWS file
|
||||
# has been updated for the current version.
|
||||
EPYTEST_DESELECT=(
|
||||
tests/integration/commands/test_borgmatic.py::test_borgmatic_version_matches_news_version
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
systemd_dounit sample/systemd/borgmatic.{service,timer}
|
||||
keepdir /etc/borgmatic
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
elog "To generate a sample configuration file, run:"
|
||||
elog " generate-borgmatic-config"
|
||||
else
|
||||
local oldver
|
||||
for oldver in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${oldver}" -lt 1.7.11; then
|
||||
ewarn "Since version 1.7.11 ${PN} defaults to a different way of selecting archives for multi-archive actions."
|
||||
ewarn "For details, please see"
|
||||
ewarn
|
||||
ewarn " https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#archive-naming"
|
||||
ewarn
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
elog
|
||||
elog "Systemd users wishing to periodically run borgmatic can use the provided timer and service units."
|
||||
}
|
Binary file not shown.
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
|
||||
HOMEPAGE="https://www.geekbench.com/"
|
||||
SRC_URI="
|
||||
amd64? ( https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz )
|
||||
arm64? ( https://cdn.geekbench.com/Geekbench-${PV}-LinuxARMPreview.tar.gz )
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
KEYWORDS="-* amd64 ~arm64"
|
||||
LICENSE="geekbench"
|
||||
SLOT="6"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/geekbench6/geekbench_aarch64
|
||||
opt/geekbench6/geekbench_avx2
|
||||
opt/geekbench6/geekbench_x86_64
|
||||
opt/geekbench6/geekbench6
|
||||
"
|
||||
|
||||
pkg_nofetch() {
|
||||
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
|
||||
elog "and place it in your DISTDIR directory."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MY_S="Geekbench-${PV}-Linux$(usex arm64 'ARMPreview' '')"
|
||||
|
||||
exeinto /opt/geekbench6
|
||||
use amd64 && doexe "${MY_S}"/geekbench_avx2 "${MY_S}"/geekbench_x86_64
|
||||
use arm64 && doexe "${MY_S}"/geekbench_aarch64
|
||||
doexe "${MY_S}"/geekbench6
|
||||
|
||||
insinto /opt/geekbench6
|
||||
doins "${MY_S}"/geekbench.plar "${MY_S}"/geekbench-workload.plar
|
||||
|
||||
dodir /opt/bin
|
||||
dosym ../geekbench6/geekbench6 /opt/bin/geekbench6
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you have purchased a commercial license, you can enter"
|
||||
elog "your email address and your license key with the following command:"
|
||||
elog "geekbench6 -r <email address> <license key>"
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST stress-ng-0.16.00.tar.gz 3893899 BLAKE2B 530a7daa1f345f324d9be3ce6c0392f7b87001c25cdbe90e4e08d8c06d2186add6c3694c96136758088f4467fa5a376be93f86c9358e8c17d8250ce617de9bb2 SHA512 b5d6bdc9e527ed2370245905cd8ed01123ba2306b6c0b9bb6b2123ebde7f4d53a80f44a162e739fe2670502b2feddc46883b2dbc3ebbd7e1394b41c00bb7e639
|
||||
EBUILD stress-ng-0.16.00.ebuild 1136 BLAKE2B c652d1d73074aa8d283a17b457770ed1bd27cb299726d8786fb735d6542c5092554684f2814e3e4d606fa6bf5aed26d0f20f80de6f051820f98a5d425a96af09 SHA512 c5649e1d1db6f66762602a5c0f7c494c3e27ad30ebf049cca9f1da168a7f19f834bc9c00b6b2bba6f35e5fbdc705a392eb3afa9218eb64511898af124eafa2f5
|
||||
DIST stress-ng-0.16.01.tar.gz 3896657 BLAKE2B 1444f75d07024d0013bd8a85ca93760b40e20e9b3d4fe69ad6f2528e5bff31e895f52fd233e25254fb72f08b25ee8e0527ea3ef4bed6ff3dd0b3a12e0e33634f SHA512 7508a0fe1decceb9cc5f454345e0518b3b7be49b793c18bdbdda4f85e1d18f9a06b788e6d4aad98e4d8a54a35e3272d92853991d48a815bb55b7ed0e235301ba
|
||||
EBUILD stress-ng-0.16.01.ebuild 1136 BLAKE2B c652d1d73074aa8d283a17b457770ed1bd27cb299726d8786fb735d6542c5092554684f2814e3e4d606fa6bf5aed26d0f20f80de6f051820f98a5d425a96af09 SHA512 c5649e1d1db6f66762602a5c0f7c494c3e27ad30ebf049cca9f1da168a7f19f834bc9c00b6b2bba6f35e5fbdc705a392eb3afa9218eb64511898af124eafa2f5
|
||||
MISC metadata.xml 835 BLAKE2B 88b503bcc225861dfd5a5e016bc0c6df87d13e758f9eb8d73103deb5f1d88163f260f24efcb4988a245b1ea2888e18da86d031d52c9dcdc702dbd9a7c510b691 SHA512 dfc8c9cb83e0960fd0881affc5cd12fe843743faa92e3af0edf0ba86ad8107de60669cd32e156be9ea645a817f38f7091be2b9c870902e7109f937e584feac99
|
||||
|
Binary file not shown.
@ -1,6 +1,4 @@
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
DIST certbot-2.6.0.gh.tar.gz 1336339 BLAKE2B 0c0575ad553ebe0f3ab56da750572bca46b30d034033e43c30c3793c114050ad824a277eab0be5a47326ea099e58e9a421448b53fc1b9173afae9a0ec308ac62 SHA512 d694156886484511f5a38fb5e40f98b2e2dbe4bc5110c95b2084ec03b39cb0eb9bbc623c7bca4a81054e980c8dbac752949042391813298a27be7e70410882e3
|
||||
EBUILD acme-2.5.0-r1.ebuild 1506 BLAKE2B 711f38374397cc66547e93ddad257c04b9c35e8f4712473a38274c8319aabc4a37ceed8869c8bef7b9a76560c07752222e343bb04498c0c4b4a6b2335746fa22 SHA512 10f2f52125f190106ba6efbadcd2f9120d4d014350e88796c09e3bf7f82a580ec85d91698da3fdc14e5012b42b37c82f9d9e55f8dc170882262e49852558979b
|
||||
EBUILD acme-2.6.0.ebuild 1506 BLAKE2B eaac3de9e1b624f7ce6ae78429e94b7828dd3075ca8dccb438833fdbf3441b13d4e66c9a7b933691581c8edb87ab2a8971641b67b66b8387b46e52a74dc4b57f SHA512 dfe6e029e7f6c525d366b5399ffa5513ce2fb113cab50892d9b4dea01b74ca867d316f81dec93f93a14fbb902b596f2662358bcf561a69c172ea7094520bbc2e
|
||||
EBUILD acme-9999.ebuild 1510 BLAKE2B 90d6f2b5c740938e43199b63deabb24c58482977654f6c2a4eb76493961772a4f296452af46dbb1b9437c823a6916b6d2a5d6a3155793198720b5988604e9239 SHA512 b6324a3f7aae817df99ea8e58d21ba380824126dd810717a0053c4849754b833003d7cf399aefb514d9377accbb823ac81b2c9d0c0a9d095313d701e5ddc3f09
|
||||
MISC metadata.xml 401 BLAKE2B 30a2ac1f03749a8e3bb98723c57f47ab6bcf7bfa58c2b6e21c309fae279feca0d3612df6c2a1dafaf27b4f0781c583a140322feac1a1cf2c13e50861cad129ea SHA512 d8e725b71ca81ce4ca6565ed58271b283c25394448f0f48f726f232122577c33d5b2d726e117419b2fae99f9dae29a8080bb9564eccbca13368c83988cf3da01
|
||||
|
@ -1,60 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
PARENT_PN="certbot"
|
||||
PARENT_P="${PARENT_PN}-${PV}"
|
||||
|
||||
if [[ "${PV}" == *9999 ]]; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
|
||||
EGIT_SUBMODULES=()
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
|
||||
-> ${PARENT_P}.gh.tar.gz
|
||||
"
|
||||
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An implementation of the ACME protocol"
|
||||
HOMEPAGE="
|
||||
https://github.com/certbot/certbot
|
||||
https://letsencrypt.org/
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
S="${WORKDIR}/${PARENT_P}/${PN}"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
# The requirement is really 17.5.0 but easier to require latest stable >= 23.1.1
|
||||
# to avoid broken 23.1.0.
|
||||
RDEPEND="
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyopenssl-23.1.1[${PYTHON_USEDEP}]
|
||||
dev-python/pyrfc3339[${PYTHON_USEDEP}]
|
||||
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
|
||||
distutils_enable_tests pytest
|
@ -1,6 +1,4 @@
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
DIST certbot-2.6.0.gh.tar.gz 1336339 BLAKE2B 0c0575ad553ebe0f3ab56da750572bca46b30d034033e43c30c3793c114050ad824a277eab0be5a47326ea099e58e9a421448b53fc1b9173afae9a0ec308ac62 SHA512 d694156886484511f5a38fb5e40f98b2e2dbe4bc5110c95b2084ec03b39cb0eb9bbc623c7bca4a81054e980c8dbac752949042391813298a27be7e70410882e3
|
||||
EBUILD certbot-apache-2.5.0.ebuild 1076 BLAKE2B 08b8fd1aa6726099790797ecc9d8a943aab30e3101b5a6c8a86f10025edcdb2094f63b663d81d83327552e4fd974a2c9c26b2f60fda699f4d131ae8f397dfac4 SHA512 2212ce672ea10a1bc8449f158470feeac543f9a4ea3c1ebcf0c0b4d01d89e17ef3601f1c1ba415fdeb8104b4dab570ca6877c8d99193722047b76bbae3cb848e
|
||||
EBUILD certbot-apache-2.6.0.ebuild 1076 BLAKE2B 08b8fd1aa6726099790797ecc9d8a943aab30e3101b5a6c8a86f10025edcdb2094f63b663d81d83327552e4fd974a2c9c26b2f60fda699f4d131ae8f397dfac4 SHA512 2212ce672ea10a1bc8449f158470feeac543f9a4ea3c1ebcf0c0b4d01d89e17ef3601f1c1ba415fdeb8104b4dab570ca6877c8d99193722047b76bbae3cb848e
|
||||
EBUILD certbot-apache-9999.ebuild 1078 BLAKE2B 4c6a746c517a83b34a69b3501317ccf29a341c5c5e02e8a0129992e53c757af939582566694a3c927801bfdc0d8a743a83b81ac76a523a0a7be0bc283eb0e747 SHA512 776da4da5cee6e6840e323aab45f741e16821ed5231f600fe7454016de55c040863bdaa70f5f4f8cb4f88e8d8d5f123d51487268dc15770e4496267990a41992
|
||||
MISC metadata.xml 359 BLAKE2B 7f8ac46ecea304579baca80978cc35905720d1950caa183b5b5b297afab8bf6ea328324bacc438e9ecd91176230e42e55deda1c15e1ba73c63b2021ac2842c0f SHA512 a50b1db5a30eac290ac6645fcb30b0d5c4d8e51d83cff284e76358ee4fe7cef9366e40b06f532ba64a2131672972ea10b73541a9bd42cc323c17f6d26f6b0197
|
||||
|
@ -1,6 +1,4 @@
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
DIST certbot-2.6.0.gh.tar.gz 1336339 BLAKE2B 0c0575ad553ebe0f3ab56da750572bca46b30d034033e43c30c3793c114050ad824a277eab0be5a47326ea099e58e9a421448b53fc1b9173afae9a0ec308ac62 SHA512 d694156886484511f5a38fb5e40f98b2e2dbe4bc5110c95b2084ec03b39cb0eb9bbc623c7bca4a81054e980c8dbac752949042391813298a27be7e70410882e3
|
||||
EBUILD certbot-nginx-2.5.0-r1.ebuild 1184 BLAKE2B 6c732ea779afcb9913a2869f0b8b7f8d8a21c1604f96598b57de17eca68eb89df1b178f6189de3560e5530c501797524f5fc7a567a6b55195c2936e6a9476470 SHA512 0d816b6d331691f1ace1429d937a128d4b49217077c6004a2ac2fcec8ab27157e5ed5d45dc08b908aff8a0327e9952ce79207770278a5b093d4f1636aeae479b
|
||||
EBUILD certbot-nginx-2.6.0.ebuild 1184 BLAKE2B 6c732ea779afcb9913a2869f0b8b7f8d8a21c1604f96598b57de17eca68eb89df1b178f6189de3560e5530c501797524f5fc7a567a6b55195c2936e6a9476470 SHA512 0d816b6d331691f1ace1429d937a128d4b49217077c6004a2ac2fcec8ab27157e5ed5d45dc08b908aff8a0327e9952ce79207770278a5b093d4f1636aeae479b
|
||||
EBUILD certbot-nginx-9999.ebuild 1186 BLAKE2B 65530ebcce256a39830ef523a31cfc8ee371b7e0331a618d65d8351fa3bc2819bfe5b8941f5a2a10664ddfb66d40fb9e16e9250ed00323ebaf0996893c44a966 SHA512 89c10ba181f1f83e04ad06e05db20dea7bec7b1943fd69d07f5bce8a9544f798272f458c381ca357c7e7e22c62cd2dec6c6972c68938895263bec0041e2cd792
|
||||
MISC metadata.xml 335 BLAKE2B 048854ec6bc919f9bf9b0bc74e7c291841cbfea0e571f43437937c5dd78cc65f9df53463adcf313441e01323491709b462bd9bc364876eb1508a83b3426b6b78 SHA512 25ac45574a568e362c419dfbeade4a977afa2885e7b32fb4c3d4c765450b09aa98cf419df1a39ab194518ad6f2b582e162d4dd4eec14f278635d63bf66352523
|
||||
|
@ -1,6 +1,4 @@
|
||||
DIST certbot-2.5.0.gh.tar.gz 1333903 BLAKE2B 2d30764616d2253fe320ad94182e64cc3e1ce75bd90322fcf7c303a52e32420a57cf84a3acf3f8f4825e058d6fe1e59438b728dacdf9032c4d8797312903825e SHA512 92313e352409d543f260fedee3f376c4750d9428cd39fde3518b162091667173ba6d582b4e91477f7122cf198f24119ecf34b2dce12734afbfc0ebedc395a49e
|
||||
DIST certbot-2.6.0.gh.tar.gz 1336339 BLAKE2B 0c0575ad553ebe0f3ab56da750572bca46b30d034033e43c30c3793c114050ad824a277eab0be5a47326ea099e58e9a421448b53fc1b9173afae9a0ec308ac62 SHA512 d694156886484511f5a38fb5e40f98b2e2dbe4bc5110c95b2084ec03b39cb0eb9bbc623c7bca4a81054e980c8dbac752949042391813298a27be7e70410882e3
|
||||
EBUILD certbot-2.5.0.ebuild 1542 BLAKE2B 6e26484fdaef390362347b41f1dc4962d56916f5c01fac9687dfd29604af2e34372fabd663e39dc010ad84ba909ddc7b32955cd17ce8161553160d2db9f26aff SHA512 9e7fe783fdd75b7b0724d9c2f2d86d6b033fe6dabb807513de676873cf111ec91c0ff23734d6120390b2b9640a087b9f61e3b99807c84985b930a23dace4ee99
|
||||
EBUILD certbot-2.6.0.ebuild 1542 BLAKE2B 10c66c7271531f24633aac1c6449255f2d69c3326de897419ed47aad915856b6ab032e6411b606d8f3494553e7d5218e13f23a2dc9dbdaed0299bd6d6373cf12 SHA512 ce9805f2b4e3fb87d5786a82ff00f59c57380acaf3ff71a69ceec2b158915297075d7028ecd10b5659c16c924ca4b283b8d7703440728c637e9b6591963a17e4
|
||||
EBUILD certbot-9999.ebuild 1546 BLAKE2B ab591380064d9b0bf1abe4556e553d407019e77e939b854f9b068de6aa7b075ff41e104da9d05612dacc25009bf3ebf2a8511104a3e428343553078ac18466cf SHA512 f4ed476e1058aad7f6fa7866abdb286ccf2e5c5352f3ec0e4e7e593c0d4bcab57281887bb5d7debfdba5fe7710434ea5c7fc80dcc4aedea275584028cacf4f2a
|
||||
MISC metadata.xml 359 BLAKE2B 7f8ac46ecea304579baca80978cc35905720d1950caa183b5b5b297afab8bf6ea328324bacc438e9ecd91176230e42e55deda1c15e1ba73c63b2021ac2842c0f SHA512 a50b1db5a30eac290ac6645fcb30b0d5c4d8e51d83cff284e76358ee4fe7cef9366e40b06f532ba64a2131672972ea10b73541a9bd42cc323c17f6d26f6b0197
|
||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST WordNet-3.0.tar.gz 11537227 BLAKE2B 358bdc3178f35f4f269ad9d0a5245396811f8678a020ab1ddf9978eef733bb91450f331d03734f585121b1532bb67ca97e765b13cb3f37018cd29df558201c5d SHA512 d39c008cec41de8f1b2aeacb4ad818f9997a13b30a992fda100b6dcc9c11c253530b00a1909b55ff7b564bafc33f7763c1ce9b0a6ae3e591695db2083e9ead7a
|
||||
DIST wn3.1.dict.tar.gz 16358468 BLAKE2B f3df09f39ea29fce3378122f1a93d713acb8be39e6798695b8cc412a3ae6e644cfcf906426d4091d9849be60620367d3de541ec6dd0d8016b8f0cf39a7bad346 SHA512 16dca17a87026d8a0b7b4758219cd21a869c3ef3da23ce7875924546f2eacac4c2f376cb271b798b2c458fe8c078fb43d681356e3d9beef40f4bd88d3579394f
|
||||
DIST wordnet-3.0-patchset-2.tar.xz 8788 BLAKE2B 3e34b7f5f1011556fb9b53fc987fb3a0fd6818d68d8e71a35ee8d955071251648386c4a361bb902340c5ca899c993363721ee9acbea2eea1386e22502789be2d SHA512 2b72f12134cb60a1db98384650f13cd57012162908c0a37aa232ad0a04a249ce25cce76332dab08c5280d6f29fd58d5c874d5e8d6e00ef55523012d7faa09fcf
|
||||
EBUILD wordnet-3.1-r1.ebuild 2111 BLAKE2B ec9c52304fc44c8c3774a6bff50ea3cf30a6adcdb0367b3b02c66c417b2f061e3356027ba3c014b9117a0a48f645a8bef0efcec2f950d471a96ba82d2c082a41 SHA512 3b97e8b3e53c329603c59331355d04073edeb74c3c01920f08129ea1d1b0521bc0c3d5c6139e8a9cf612eaf495c4c6e8aea24b1530675cd382ae71b3db0e3e45
|
||||
EBUILD wordnet-3.1-r1.ebuild 2110 BLAKE2B 851d9db8de18301c717ebd587b58d448dae38c7b4c5d153dc524fdc032221ab493822ee2a5dac72dfcae244aaf42498ed7471d2f82a8a454737d9a2cd3039b3d SHA512 e98316348d7eef864684d7402001a60a344ebc462bd918f6554afe7acf96d695f4f0c156623078c47744ac0ccbbeb6ea7d6e93a38fca7a8122c1c5aff2a36fae
|
||||
MISC metadata.xml 389 BLAKE2B 43d6aca669a34a791eea459cb4e2906b573e09bc03d6e79ca9432c15ebf89286a28378ac20a28467bbc6f6bf629ed20ea4e608a09762be8a677c0e3b7134d6f4 SHA512 562aa5c687da46765c959bf235ab0dcd5ef6edb9f105d46c50853dac8685a68ae8e9507662c0fddb2af155ced2aad54fa4230f467c48ffc2ed2fb72c98144297
|
||||
|
Binary file not shown.
@ -1,6 +1,4 @@
|
||||
DIST emacs-el-fetch-3.2.1.tar.bz2 18093 BLAKE2B b09d9bb77834f77597e92115f5055b0f17fa466ec695b5e8855cbc445ae2fda00f9a951a8b45b43e12eaf0846b7e2e3533091e9b2a879b2220edaeb40050029d SHA512 c46713d1d51c55715d7ffc165d89b5ae56a7f93aea894111da24547d02ed0c8cf3bc9c2deaa5a9a762ac5d699a6558b6215c55c207413d25bbfe52624ba86148
|
||||
DIST emacs-el-fetch-3.3.0.tar.bz2 18166 BLAKE2B b55001eebc706954cf017cc56ed4d16a9f7309d36103d1bce94458ea8bdcb7a301201ff50f11d2f1b515ea63469ed8be00e4755dc8b1f9713158aa18a0788383 SHA512 7df309f4432b6490552654e4e68e1c01cf6c158a9759057421c879ce46b15a55092c3c17cd5d130c9de5425f6294ab5402c7684c2125c5f959e6a0973fcdcc64
|
||||
EBUILD emacs-el-fetch-3.2.1.ebuild 745 BLAKE2B b1aa693b03d83315e7a7b23ddada22dd9c5ed709616f2565df7163d6618a73fde051aed2501b57e7eac4c01268e6405a8782a2f1b70746059edba0f47a7d65e9 SHA512 185e61b94c8ce9253c83a01d77599099832be9bcd0fc6095d8652e7cd48d95c4c60e90a46ff0201405a0161a72f8319d79bba160f318e35a68d667b64a376e00
|
||||
EBUILD emacs-el-fetch-3.3.0.ebuild 745 BLAKE2B b1aa693b03d83315e7a7b23ddada22dd9c5ed709616f2565df7163d6618a73fde051aed2501b57e7eac4c01268e6405a8782a2f1b70746059edba0f47a7d65e9 SHA512 185e61b94c8ce9253c83a01d77599099832be9bcd0fc6095d8652e7cd48d95c4c60e90a46ff0201405a0161a72f8319d79bba160f318e35a68d667b64a376e00
|
||||
EBUILD emacs-el-fetch-9999.ebuild 746 BLAKE2B 866313004da14b9cda57091825ae9eb5725a7265d63cff72d4328199912240fe082fba06ba6430c2bcf792723943d694088a49173511952768b398a2daecd296 SHA512 52823b2c56f42539f0f642aa463f8ab700fa39bd15e122f32bada84ce6e47b693408c4547bd830f400f20c34996f322cded1cd316a7b19f1bbb4e4759fe842bd
|
||||
MISC metadata.xml 575 BLAKE2B 101713b2da08b2cee85fc0071f4b29ef4cc2af73bb858c28b01da3c256b32e410994972818fcdb80e886d0e2982900829b3bc96ec38a5c904faa26c248b57eca SHA512 3e09cee66a38365b9e65ef02dc6452badbcafaacd4f8ff1c68e76efb17072eb170367da17b59dcb7da7c864457e5259d8da96cee43d614d7d03c3c4888226dd8
|
||||
|
@ -1,34 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Show system information in Neofetch-like style inside Emacs"
|
||||
HOMEPAGE="https://gitlab.com/xgqt/emacs-el-fetch/"
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/xgqt/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://gitlab.com/xgqt/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="test? ( app-emacs/buttercup )"
|
||||
|
||||
src_compile() {
|
||||
emake compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
elisp-install ${PN} "${S}"/src/el-fetch/*.el{,c}
|
||||
elisp-site-file-install "${S}"/extras/gentoo/50el-fetch-gentoo.el
|
||||
}
|
@ -1,14 +1,9 @@
|
||||
AUX 50helm-gentoo.el 79 BLAKE2B 7f188281cba0bf1f683977149ffa01f2bf6679cec1d73553e27c445ebcf97d2a6b227d09c77a01dadce49e755d97cc572af4fc5358ca35866a4c12dd8caa61b6 SHA512 30d2ce1f8073f15439cc6d68620e9ca776ed74fdedfca4944d7d749891f33aa2ad1dccffdfb85f1e1049460015daf2104f0b9cd0f5b872c5d5c5ee1eccd25b21
|
||||
AUX helm-3.8.0-no-autoload-check.patch 629 BLAKE2B 23ae68b3f15b6a7b8bbe1c7c22c897ead11abf6c7ad4280767f69c58edbb9cbe8528968e859d45e4ff76d13ac3ae4016a0818f674cb5b53d69441733343e958b SHA512 cb8192855f474cf43e3f2247f84d00ca6b2b190164c3a50940e09e771650db5860923256cb482cbd4f1d3f0b5bd964c688d6124a129c80850786c39245c034da
|
||||
AUX helm-3.8.8-no-autoload-check.patch 674 BLAKE2B 1cae635d26e3c5b41b585de585a87dab6cf37bd180cdea546c25fd12adbd8d9ed1e42e613164815b776455c991efdf075fcc4c19b4a812109c9508be76590db1 SHA512 14fdc3c5163389f11c9b684f569b9bc0e6e5ad4aaf9c2e170f66b05973e7a9a4744b0e293e167f2d714fa81f157b4b960bac07faf1e052a12167ad56ef131eda
|
||||
DIST helm-3.8.5.tar.gz 2349290 BLAKE2B 84f0c15c2a9f492246defdf9496e8dcc5265b0c60b50ccaaa3b9f6731285a667da919da7fec80d77a4fd11bc83d9f4ae4c0910e31423b58afbdf00d51b070295 SHA512 af727553c29c9fa0ba6eb6a73b25d62855ea4413eebc57baf3ed94be6a0240e4c558193c898430dc21132ba5e32ead584514910bf98b3b8d82adf7828f953652
|
||||
DIST helm-3.8.6.tar.gz 2356253 BLAKE2B 62b9af26888526f54726468e04677c401c5e828e588cb6f2c005b9ce9d84935c184b536a97a82e4e6c08c3523a10a32f9348d243d2545c17c9480ad004d92d10 SHA512 71342f347aa5cf8bd3e1990c8633d908e6a5fe66e051554aa2f554fba5d63b2623fe2b6b07540473b481986b1d5d27cb2d8b06f127e727aa8d373bc045d0a602
|
||||
DIST helm-3.8.7.tar.gz 2358726 BLAKE2B a76c7c6658997f4d5114e383e1ca728df923b0216c66c9d4c2f9d1d656d06990299ebc79f4ad9c50da1dd133f8111c947e6f238324fbe91c5af5a1ab02aa1c7f SHA512 d7356e407d1ef463e62e7d0f2c3b0f90d150744fa020638740226a3e04e043be0e551effd2c17cd2e8c0d82d70351cb5268a89eca2c9ef6355fcce65a445f9bc
|
||||
DIST helm-3.8.8.tar.gz 2362007 BLAKE2B 80f854bc38e51de62aa6d9a35cdeff4ac4c193908dc19361ad10ad419585d30a2fd94be1d4d410b69634012e4c01045d4dd2f55c5b4ac8da960d7f7b8d4eed08 SHA512 a1fca373d2c64771aabb3ba396e0d65b3434f0a413bab1e61761c16e9dcf274ceb94e258ef90f4ddd2b150a09606255ea61186d2e4e69ad2600fc40369c693c7
|
||||
DIST helm-3.9.0.tar.gz 2366592 BLAKE2B 8aeaecf444127dc9758c1116c2f2b6d6a11515b7a549444ba13cc2e6cb48c301ff76343220af2328af89050e210ceed00b5c45e9dee0c0546c40066b5c0bde0a SHA512 bf3917fb06e7d841fddb0b7a0f493dd18ea73568e84c2a535f3fffa1582efb65268a668f23871f66d221caa8be166b667e43095adb59342e3b2a130c5a59d708
|
||||
EBUILD helm-3.8.5.ebuild 659 BLAKE2B e3cad45c98c77c77b7b4db89070d84fcc5709fa315e7b8a5e0f6df7054665cd4d380d3a2e2d45a8376d02b368efe9477026fefca855365b425366571083aa1d8 SHA512 414fbc4a5080f8ac17607bf41bc2d84d0fffec6b3c8b3b25462133ab55245ed424995e89f3d1c574280bc6e56386162fba7c2ce7de4ca5243ee8302f4786d841
|
||||
EBUILD helm-3.8.6.ebuild 659 BLAKE2B e3cad45c98c77c77b7b4db89070d84fcc5709fa315e7b8a5e0f6df7054665cd4d380d3a2e2d45a8376d02b368efe9477026fefca855365b425366571083aa1d8 SHA512 414fbc4a5080f8ac17607bf41bc2d84d0fffec6b3c8b3b25462133ab55245ed424995e89f3d1c574280bc6e56386162fba7c2ce7de4ca5243ee8302f4786d841
|
||||
EBUILD helm-3.8.7.ebuild 663 BLAKE2B 82c07fd093da57f0646b344c3611bc4cf5685eb16608a5b3c37abdd3c0fc57d506872399d1fad844fac9e4d8eee570a3fdc537ce5a09835501f9214e19494b0b SHA512 8ca81540d374fc09a2d5804779ac0fae248669d8960042113871578560da3f29a07b0231a21945358964333c522b0efef31d8a705559799cef336cb8b4afdb07
|
||||
DIST helm-3.9.1.tar.gz 2370645 BLAKE2B 819f0bf8cbd3728a78e90da6955f799a8ad2320323a9a16eb72a4fcfe21c04995f0fd0072a7a8bf6fcf593dedc4c3b224f0310ec317b9e39f326b4c147343b1b SHA512 7cd5d93493a08ec173b6786ec4e0cbaf3a90473f7ef8f7564232cedc438ed01466faeb8aced07419aedadd1469c8c43fe6072ee725643e133ceb3004675dc3b7
|
||||
EBUILD helm-3.8.8.ebuild 717 BLAKE2B 88673316473a486ed6a5f5efd5e1d78d5027e7fb980aab7503c2acb425d57d56fb2269b5dbc4aa4a971555443fc2f7451902ae5127f3a817f30a30573f9e87dc SHA512 8f2cdbf3dbeeb4172a6c55ad8ca6d54ebc7109b506572a87e4d8c58534e88d52df6f12e5f8297fde903b4e4cef4e160f97a8d13d4a4c6b8e758d31fd9e2ecfa7
|
||||
EBUILD helm-3.9.0.ebuild 724 BLAKE2B 672394f3f4088fd07b141b5f5ef324439713898ca45b63e0a9c3faa62ec309acbd7148a7c1dc737547926eb9b6b4170769b37c463a632aa80568592451b4ebbf SHA512 1c2f85b8e68468a0ba535dbbdb11a53d6ee4d6fa52b87c0ef6401e2206d798382f08e52a6f2a93750de5a1579a1989084fdb95117c201ab33e3641c7c790573b
|
||||
EBUILD helm-3.9.1.ebuild 726 BLAKE2B 7347a810765b4c6f9475c04699553151603648db65db533ec786ff4bbbdca9f00430d97803c80b710077ec262a9b31b19b9c1f22c0b03190a41918fecc5516a2 SHA512 0586031bc2f2ef226861a8be5f8763ed33e94b79e95aef9ec0e478ee87e19b4b8c13cafd6c00299fd49137d86065ed37d92ff058d52412e1b047212d24632a25
|
||||
MISC metadata.xml 822 BLAKE2B 5de057ddb881d67550d3e8cd0be43d3328b8e7a38b98338ffccec147095cd5d8f8bc68695c797a872e2ed7e455859fc1d6170f414231016edab5a8d742ad2a40 SHA512 08367530e4e47577e1812d229b97094b9c012c4c91eb7e69f5724e98d8790327fe35fb9b480cf33eedd105f1fd85133c39397eda0426461d80bdee704a51c55a
|
||||
|
@ -1,24 +0,0 @@
|
||||
https://bugs.gentoo.org/800177
|
||||
|
||||
--- helm-3.8.0/emacs-helm.sh
|
||||
+++ helm-3.8.0/emacs-helm.sh
|
||||
@@ -137,19 +137,6 @@
|
||||
|
||||
cd "${0%/*}" || exit 1
|
||||
|
||||
-# Check if autoload file exists.
|
||||
-# It may be in a different directory if emacs-helm.sh is a symlink.
|
||||
-TRUENAME=$(ls -l "$0" | awk '{print $11}')
|
||||
-if [ ! -z "$TRUENAME" ]; then
|
||||
- AUTO_FILE="${TRUENAME%/*}/helm-autoloads.el"
|
||||
-else
|
||||
- AUTO_FILE="helm-autoloads.el"
|
||||
-fi
|
||||
-if [ ! -e "$AUTO_FILE" ]; then
|
||||
- echo No autoloads found, please run make first to generate autoload file
|
||||
- exit 1
|
||||
-fi
|
||||
-
|
||||
|
||||
cat > $CONF_FILE <<EOF
|
||||
(setq initial-scratch-message (concat initial-scratch-message
|
@ -1,31 +0,0 @@
|
||||
# Copyright 2019-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Emacs incremental completion and selection narrowing framework"
|
||||
HOMEPAGE="https://emacs-helm.github.io/helm/"
|
||||
SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND="app-emacs/async
|
||||
app-emacs/popup"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES="${FILESDIR}/${PN}-3.8.0-no-autoload-check.patch"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
elisp-compile *.el
|
||||
elisp-make-autoload-file
|
||||
}
|
||||
|
||||
src_install() {
|
||||
elisp_src_install
|
||||
dobin emacs-helm.sh
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 2019-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Emacs incremental completion and selection narrowing framework"
|
||||
HOMEPAGE="https://emacs-helm.github.io/helm/"
|
||||
SRC_URI="https://github.com/emacs-helm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND="app-emacs/async
|
||||
app-emacs/popup"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES="${FILESDIR}/${PN}-3.8.0-no-autoload-check.patch"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_compile() {
|
||||
elisp-compile *.el
|
||||
elisp-make-autoload-file
|
||||
}
|
||||
|
||||
src_install() {
|
||||
elisp_src_install
|
||||
dobin emacs-helm.sh
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
AUX 50libegit2-gentoo.el 199 BLAKE2B f9f7b6d2c6d8a70d37e698dd71a40b0ccb4224c1276393adfe2eb546313cc3bea29136820f98d3579f6cdeafd0559e1739150be503233de44dddefd3f97b66b6 SHA512 067030b050715f80251b28a179c0b4779efd311c4d5c1e0bb2bdd10f95442cd8f243c45c81f004ad8362740aa0139667324ef9c829abec7291ddfe801ea4c67a
|
||||
DIST libegit2-0.0.20230129.tar.gz 132237 BLAKE2B 339c11eaa5b231d33a3b23780b625798d47ab6725fede240ae95307cc0034a61a39d84075be271fff2ae8b1ff5143fb61ef243671f8ac927b07e931824c8c55d SHA512 9384e9118b29429aaa8ee7608712bcc1c9f006a35fb46332f9b999be909ac18c4753af58cd1c91c37a6b24ca9a08f7103f22d53a242296d0dc6a509a2c5e27fb
|
||||
EBUILD libegit2-0.0.20230129.ebuild 1069 BLAKE2B db676194ce9717a08b4ea390bf384f9291236848041441216b00b1089527d5ea3661b57deba4d9f2b811639e06f56035277bad31161209c8f645c5da04eb6aa3 SHA512 a1bca500d9b54b8d1e4e6d97274a5afcf5bd252066b407f5752d4eaa9eedbc27c736a682904b247f607de345e7c17f3e9c980331a329d84402dbed04c1a645d8
|
||||
EBUILD libegit2-0.0.20230129.ebuild 1076 BLAKE2B 936ce8650221fd1266d842ec0f6f6328879caa4b25728898f31976abfc971a4b7c3ca55de0d982e731028133dd16061be443be2ff0b88aa4b0dae549c4e344ff SHA512 6fce515f0ca3bd53de45bf52e1bab1f324fd1216edade447f571b09de291af4da35d62d9f67b34ee785c29eac16724c1e7a0129dd8f7581cc9e52f35f8b106c1
|
||||
MISC metadata.xml 482 BLAKE2B 5217eaebb982cc094497ae980263833be6110d28c97ae7ef2324cc7bbeb400b942317973deee3617bfc607781318bd23f05904140324f064f1ccee1b9ab97f15 SHA512 13f73bd327d202c87f7e3ed27de50c3f6be1eb1941b4a753ba391f1ba3f4140eb3bcdfe1be5179ea1168ad1cedb963cb85f64b6f72ad1c112e8ea708b4a0ac9b
|
||||
|
@ -1,5 +1,5 @@
|
||||
DIST plz-0.5.4.tar.gz 101382 BLAKE2B cba7089ed3f6c6d616d6d8b506e9779c1fdc56b8c048010cb2e61f03d83669aa3475314936c9fc4b02d473484268a303495605e785840644bc3b9b92f50be090 SHA512 3a64a49efcf32191099abcd5dd5955b02ce3afa98ec3ecd79d4bfaadf52bc4a5602fda3aca4482e77e465e5d071400ae8200cf900e4f0ed931e93e1458303fa1
|
||||
DIST plz-0.6.tar.gz 102322 BLAKE2B 61bda1b01262f74a6aac0c452b0f06fc2559a287e41ff64b809c6512cc960802084af792fd26a2ac7e82918724b5b9840609cabc5fadc1e637a4e0048b89f171 SHA512 8e281e750d3536ec7bac1235925d1aca559d0f0e1778721b284e05c6a0a53d4b85342eb39476d4eeaaf40ce0c99578108655ad1761619c07d8b131458595d185
|
||||
EBUILD plz-0.5.4.ebuild 771 BLAKE2B f005a9daeea1c89120de92bbbc29267fafaf75c608b15aa6b4909aa92ec844e843946cceda38ed5d27b35c3236db7a72ad932b14039e0ffb38e5290d0fc3192a SHA512 7502192929cf47da9ff120c650f9183bfcd52bb2281e3eba02c06a71776393d355a9f2f1bbb18139ca70dac5b563d3c56c82c3c659a4f0762438bc375555fafa
|
||||
DIST plz-0.7.tar.gz 105630 BLAKE2B 882e5141d6e069da3c7b32706e459e5bcc71abb1277be39162310cde413784202d21bae4bbf8b61f2b72c0edf71ef7b4615685246be17905bbabc9626a2035d6 SHA512 f3300843d30e4b219e4c3f9e898f99f1f3987c73195fdd40a9022c0ac7e09ac25f217adf619b61fb36e2a4d0ea494f5546226e2d1dd85514d1b111f769b7f5ef
|
||||
EBUILD plz-0.6.ebuild 771 BLAKE2B f005a9daeea1c89120de92bbbc29267fafaf75c608b15aa6b4909aa92ec844e843946cceda38ed5d27b35c3236db7a72ad932b14039e0ffb38e5290d0fc3192a SHA512 7502192929cf47da9ff120c650f9183bfcd52bb2281e3eba02c06a71776393d355a9f2f1bbb18139ca70dac5b563d3c56c82c3c659a4f0762438bc375555fafa
|
||||
EBUILD plz-0.7.ebuild 775 BLAKE2B 745d3110d9f15ea691955c6ba02d56a668ef46a05230b4642cd24c1ddb7e4d5332921a1d843f1fa071da37ec58b3c55a22b23ba6de1c8f2776a9e24cca8d375d SHA512 6be7db14dd08a5a45a78be7d7c88f5bfc8c11306d8952800b5ce0cf373ab38294dfa28d850f47816ec0d63b61e06efa2269e7a928265002a6b72fbf6cfc690b9
|
||||
MISC metadata.xml 826 BLAKE2B 2c26aa08682b905ec5f450f20a4b77b2ee2108f172deeda1bb95ddb80d1a6d53a76b091350126171c2b9dfda6161ba61958bbbf53fa94f4dd883b1eccd9f6125 SHA512 b48b5766222e784021656410b1467bbcab2646133d3a4af58601ace46ff68ee87df2a156329b19b72b1f42f77ad8f00c2fceca1210f8aca0db864ed044ffb0d6
|
||||
|
@ -1,4 +1,6 @@
|
||||
AUX 50swift-mode-gentoo.el 176 BLAKE2B 50d8c7580d8b9053bbe94793eb75a80565ed264415a587d7410cfa6259bea9a34b48662f3066abcee9352c2c712aa9d68e8632b23e7511a47947c9b83e64db74 SHA512 3ca3647b549372d5f7493b7eac25ac628f4bc93c6ab6560f724248542ed07557d193a6cf0c2148ea5ed8a7d0d9c9786263c27322daa788894b42c13d7eabdb94
|
||||
DIST swift-mode-8.6.0.tar.gz 226530 BLAKE2B c3e7a8912a0afbd62adc702f3692ecd4fd8f6938ab838f9e576969f50ded6e32040c33595c61974eb6778bb68ad9d4d0dbc3f5fd1a296a0836829ba93a75158f SHA512 5e8f4d2874dee93b47b4d5a191af7158a2b61f632e3838b0c8617020abc44736f51de40426f5e0bcb8a46844beaf6be310ed9e655fc7638eed3bff0aa78eb101
|
||||
DIST swift-mode-9.0.0.tar.gz 227995 BLAKE2B ac60f1dbf03f37a9e95372702f43eceeab2463d579c0e69110921851dc3d549ad32496648bfdca288003e17821dbc92b226d9581ebac8eb7d3e2e07ca4bd2f91 SHA512 affc7606456d44fdd82f7b5b47536e8822c1efb2f1dc49efb09451975b6c95dc9c9445e742a8c1f8038a9799e5cfd73b424ff56f50d9190c3f057bd34fb21f1c
|
||||
EBUILD swift-mode-8.6.0.ebuild 647 BLAKE2B 82be08adb721bee814b245c2dbaa205915be60dfffc59a4929d6b989bb5bfcdf6c97cdc2fcf7fbac0fc123272e22d04ad6ea03383aeec524811ab88c7b2e5251 SHA512 d28dac00b12fcd61b4025f214b5781aff915bd2c5dce62fa2167f25bc2d60576228590075117a9d1e38d9c730731bf0389d22b88e9fd5ede715db914d4604e6a
|
||||
EBUILD swift-mode-9.0.0.ebuild 647 BLAKE2B 82be08adb721bee814b245c2dbaa205915be60dfffc59a4929d6b989bb5bfcdf6c97cdc2fcf7fbac0fc123272e22d04ad6ea03383aeec524811ab88c7b2e5251 SHA512 d28dac00b12fcd61b4025f214b5781aff915bd2c5dce62fa2167f25bc2d60576228590075117a9d1e38d9c730731bf0389d22b88e9fd5ede715db914d4604e6a
|
||||
MISC metadata.xml 433 BLAKE2B 3af7d408604487fd4253efc78148c0607887c01285a6f0c9eb990bda8ca04b27c6ede80c9816ce4263b714a13da4bd654c05d860a57ece4bb0d685f22a4b9922 SHA512 97bab4e8f2c699941c1d3fe30f0d46afa3b7eb19d1a827df0ded5c5c526f7443cd792cb1b1b346936888b8f0a02775e67f2a1afdaca0bfbe2e2dd74852172619
|
||||
|
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Emacs support for Apple's Swift programming language"
|
||||
HOMEPAGE="https://github.com/swift-emacs/swift-mode/"
|
||||
SRC_URI="https://github.com/swift-emacs/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DOCS=( README.md CONTRIBUTING.md )
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_test() {
|
||||
${EMACS} ${EMACSFLAGS} \
|
||||
-L . -L test \
|
||||
-l test/swift-mode-test.el \
|
||||
-f swift-mode:run-test || die "tests failed"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,97 @@
|
||||
From 4927c28a30fe469b512b49346f321661ca865769 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <4927c28a30fe469b512b49346f321661ca865769.1689058931.git.mprivozn@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Tue, 15 Mar 2022 05:23:29 +0100
|
||||
Subject: [PATCH] libvirt-9.5.0-fix-paths-for-apparmor.patch
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
---
|
||||
src/security/apparmor/libvirt-qemu.in | 1 +
|
||||
src/security/apparmor/meson.build | 6 +++---
|
||||
src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local | 1 -
|
||||
...t-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} | 6 +++---
|
||||
.../apparmor/usr.libexec.libvirt.virt-aa-helper.local | 1 +
|
||||
5 files changed, 8 insertions(+), 7 deletions(-)
|
||||
delete mode 100644 src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} (92%)
|
||||
create mode 100644 src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
|
||||
diff --git a/src/security/apparmor/libvirt-qemu.in b/src/security/apparmor/libvirt-qemu.in
|
||||
index 53f45c3a28..7882e811fc 100644
|
||||
--- a/src/security/apparmor/libvirt-qemu.in
|
||||
+++ b/src/security/apparmor/libvirt-qemu.in
|
||||
@@ -96,6 +96,7 @@
|
||||
/usr/share/sgabios/** r,
|
||||
/usr/share/slof/** r,
|
||||
/usr/share/vgabios/** r,
|
||||
+ /usr/share/seavgabios/** r,
|
||||
|
||||
# pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
|
||||
/etc/pki/CA/ r,
|
||||
diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
|
||||
index b9257c816d..c1b79fef27 100644
|
||||
--- a/src/security/apparmor/meson.build
|
||||
+++ b/src/security/apparmor/meson.build
|
||||
@@ -1,5 +1,5 @@
|
||||
apparmor_gen_profiles = [
|
||||
- 'usr.lib.libvirt.virt-aa-helper',
|
||||
+ 'usr.libexec.libvirt.virt-aa-helper',
|
||||
'usr.sbin.libvirtd',
|
||||
'usr.sbin.virtqemud',
|
||||
'usr.sbin.virtxend',
|
||||
@@ -82,8 +82,8 @@ if not conf.has('WITH_APPARMOR_3')
|
||||
# AppArmor 3.x, upstream's preference is to avoid creating these
|
||||
# files in order to limit the amount of filesystem clutter.
|
||||
install_data(
|
||||
- 'usr.lib.libvirt.virt-aa-helper.local',
|
||||
+ 'usr.libexec.libvirt.virt-aa-helper.local',
|
||||
install_dir: apparmor_dir / 'local',
|
||||
- rename: 'usr.lib.libvirt.virt-aa-helper',
|
||||
+ rename: 'usr.libexec.libvirt.virt-aa-helper',
|
||||
)
|
||||
endif
|
||||
diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
deleted file mode 100644
|
||||
index c0990e51d0..0000000000
|
||||
--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-# Site-specific additions and overrides for 'usr.lib.libvirt.virt-aa-helper'
|
||||
diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
similarity index 92%
|
||||
rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
index 26ee20a17d..38fd3bfb88 100644
|
||||
--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
@@ -41,7 +41,7 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
|
||||
deny /dev/mapper/* r,
|
||||
|
||||
@libexecdir@/virt-aa-helper mr,
|
||||
- /{usr/,}sbin/apparmor_parser Ux,
|
||||
+ /{usr/,}{s,}bin/apparmor_parser Ux,
|
||||
|
||||
@sysconfdir@/apparmor.d/libvirt/* r,
|
||||
@sysconfdir@/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
|
||||
@@ -72,9 +72,9 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
|
||||
/**/disk{,.*} r,
|
||||
|
||||
@BEGIN_APPARMOR_3@
|
||||
- include if exists <local/usr.lib.libvirt.virt-aa-helper>
|
||||
+ include if exists <local/usr.libexec.libvirt.virt-aa-helper>
|
||||
@END_APPARMOR_3@
|
||||
@BEGIN_APPARMOR_2@
|
||||
- #include <local/usr.lib.libvirt.virt-aa-helper>
|
||||
+ #include <local/usr.libexec.libvirt.virt-aa-helper>
|
||||
@END_APPARMOR_2@
|
||||
}
|
||||
diff --git a/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
new file mode 100644
|
||||
index 0000000000..974653d797
|
||||
--- /dev/null
|
||||
+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
@@ -0,0 +1 @@
|
||||
+# Site-specific additions and overrides for 'usr.libexec.libvirt.virt-aa-helper'
|
||||
--
|
||||
2.41.0
|
||||
|
@ -0,0 +1,363 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Packages which get releases together:
|
||||
# app-emacs/nxml-libvirt-schemas
|
||||
# dev-python/libvirt-python
|
||||
# dev-perl/Sys-Virt
|
||||
# app-emulation/libvirt
|
||||
# Please bump them together!
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
|
||||
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux test +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
net-libs/rpcsvc-proto
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent.
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.56.0
|
||||
dev-libs/libgcrypt
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.9.1
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-3.2.0:=
|
||||
net-libs/libtirpc:=
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
>=sys-libs/readline-7.0:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( >=sys-block/open-iscsi-1.18.0 )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( >=net-libs/libssh-0.8.1:= )
|
||||
libssh2? ( >=net-libs/libssh2-1.3 )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[lvm]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.8.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-4.2
|
||||
app-crypt/swtpm
|
||||
>=dev-libs/yajl-2.0.3:=
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6(+),script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6(+)]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev:=
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )
|
||||
kernel_linux? ( sys-apps/util-linux )"
|
||||
DEPEND="
|
||||
${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
# The 'circular' dependency on dev-python/libvirt-python is because of
|
||||
# virt-qemu-qmp-proxy.
|
||||
PDEPEND="
|
||||
qemu? ( dev-python/libvirt-python )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-9.4.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-9.4.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
|
||||
# This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
|
||||
if use virt-network ; then
|
||||
if kernel_is -lt 5 2 ; then
|
||||
CONFIG_CHECK+="
|
||||
~IP_NF_TARGET_MASQUERADE"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~NETFILTER_XT_TARGET_MASQUERADE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature libssh2)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature test tests)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
-Dopenwsman=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Dinitconfdir="${EPREFIX}/etc/systemd"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,972 @@
|
||||
# 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=ajak
|
||||
QEMU_DOCS_VERSION="7.2.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
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
|
||||
ui/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
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static 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? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( 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="
|
||||
sys-libs/libcap-ng[static-libs(+)]
|
||||
>=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/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
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(+)] )
|
||||
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 )
|
||||
png? ( media-libs/libpng:0=[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.12.3
|
||||
>=app-emulation/spice-0.12.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
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
)
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${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? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? (
|
||||
sec-policy/selinux-qemu
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.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"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson 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
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# 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)"
|
||||
--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 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-blobs
|
||||
--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="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=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 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 docs/specs/pci-ids.txt
|
||||
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
|
||||
}
|
@ -0,0 +1,970 @@
|
||||
# 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="8.0.0"
|
||||
# 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
|
||||
ui/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
|
||||
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/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
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 )
|
||||
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
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
dev-python/sphinx[${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}-8.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-8.0.0-remove-python-meson-check.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"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson 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
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# 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)"
|
||||
--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 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 docs/specs/pci-ids.txt
|
||||
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
|
||||
}
|
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
DIST check-jsonschema-0.21.0.gh.tar.gz 214872 BLAKE2B 0ee013e379523e5a957e745d550c2014872eab9fc3281aad575f92abfada30b7e0853177bd06147b69a81100bf6b987b485342a087830845c32648efc1c7a9a0 SHA512 dd839a9bb104e1fc68e4a7507077dc991dfc9e840f785c4b7024f2838488eb8b8c6a8f7718f0f821981f5b6b23b1d67745948f48db55a0c589395cf43bfdd2a7
|
||||
DIST check-jsonschema-0.23.3.gh.tar.gz 229537 BLAKE2B a8a40ddc383f38096693a2079b73a8a8fe2ceed5d1e118e539957c205c500807518c0380aa18cae2524efdeda33987f057350ba73b7a699240706ff4e276eafc SHA512 14f9eb6b203e3aec6ca35f75304bd24fd5a09c2b89bcbbf69c22e0c0f44c587972015677498fef1a378683c77f94d9319450daccadddf5fecbe7c738dd16c726
|
||||
EBUILD check-jsonschema-0.21.0-r1.ebuild 1185 BLAKE2B 17cd12999fe1dac82e6b9e1ef55fd74797b511216d7b58b8ee1f1e45748d60498e1f525b744ff72590f7ebb788746aee5d04653a6a8fb4f2f5a351a9da95a128 SHA512 8361afbd0f191ca71dff79e5879711b5d4a330880cf2f8cb865b745f0c083cfb5d5340e7c71bf619a27989b9c9bebf0d911d3e10f53493798c9a0e3b792c9b6a
|
||||
EBUILD check-jsonschema-0.23.3.ebuild 1193 BLAKE2B bf3ab934675582f95f1c44a3d2dab26c1ceb427b613b6b1505b49b3695549f4f808fe42d0f0d420ee267462311d84b9cd5496ca43bd02fc6866ac8522f7703cc SHA512 8e11ed80aeb54256c61176e4b591a8755e67e65796820825632f2a5022fafea4493e2de5d89db85f8186ffc041f867832e7696efc1511c2fb1ee323c939247b9
|
||||
MISC metadata.xml 403 BLAKE2B d0254150920ea63313734ad154391cf5d61176b56f53f26c2c8d8408ee571ce0fb4fb1383a6c63ec9f2542fdd66c35feee6b4d926f5cee3cf50253458305c346 SHA512 37cf237a2d7fdf5fe238e42a91d14d29fc01c807546a313b605cead57b50eff9a3fb2b66ed65c5aa019a727778356be659a0466cba5bc7f1b3a1bff8be8da42e
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} pypy3 )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A CLI and set of pre-commit hooks for jsonschema validation"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/check-jsonschema/
|
||||
https://github.com/python-jsonschema/check-jsonschema
|
||||
"
|
||||
SRC_URI="https://github.com/python-jsonschema/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/ruamel-yaml[${PYTHON_USEDEP}]
|
||||
>=dev-python/jsonschema-4.5.1[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/click[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/responses[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=(
|
||||
README.md
|
||||
CONTRIBUTING.md
|
||||
CHANGELOG.rst
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx docs \
|
||||
dev-python/sphinx-issues \
|
||||
dev-python/furo
|
||||
|
||||
python_prepare_all() {
|
||||
# relax deps in setup.cfg
|
||||
sed -r -e 's:([a-zA-Z.-]+)([<>]|==|[<>]=)+.+:\1: ; /importlib-resources/ d' -i setup.cfg || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
DIST jdupes-1.21.3.tar.gz 155979 BLAKE2B b7d978aa8cc4574ce3a201e283a1cfccf6751689725f5307b78e47a9f1defd360d58be3ba2f558a6f40e7108a1ea4f0dd3c14d2332d14278c4114d303da3eea6 SHA512 22284adb1650dc44dfc74320799ac68e02e8d31685dd376d5f938d10308d117ae8af39273fbfec73f7e5a22e9685be96c92f0e12d9ebc81f11c255ada60abe83
|
||||
DIST jdupes-1.23.0.tar.gz 147647 BLAKE2B 10c09c39d54e78cbfa693f94c4305104cb46ae5f835ba4dfa308fcab5f0c920570d821aa48b1434e4fe63e754b6380e00daacc69ad05c33222a44fd05bff9e7e SHA512 27e3021592180e7573727a98290471693d92d98db72ace2a48b0b075f9762a9089338a65f112b93b07b33ecd9eb16f97f183da847e331e3af10627074875f810
|
||||
DIST jdupes-1.25.2.tar.gz 154491 BLAKE2B 5d155fff6a463078f6baaeff39b560469c053c9f8db1327238cc6a09c9fd8344d1fddf402d794d178c4b96ec34062480184452691b22a63886265f07957d614a SHA512 6436e545842ad9e80917cc3c86afe39df8d536d2994e7a9a8ccc1bdb45ef0c0480b7fff3a8178a91ee47fea0c81b87a33834da322027eac36b1532fddad2960a
|
||||
DIST jdupes-1.26.1.tar.gz 168265 BLAKE2B e6c7a7d69a9a67d7550624ddd707a08a6a1a740c32fe1bc3534d53c20586b249303b6de23c0703033db497c3af85714b3e22fd87813c4700669880efa3cc376c SHA512 17ea87dee25a26aa136e3876031bfa47d55506adb38272b8cf2da8a81276134da0cf0b280815c8a717c0e48b911ce5efa95d1eb8dafe5ce109a1573600ae92bb
|
||||
EBUILD jdupes-1.21.3.ebuild 948 BLAKE2B 1c1402da3abad842005dee333c1c31faa7fa6d5b5693a012539b5763917e9cac6a2bb964b2b6a4cc55d2c47fc39aa17e6e600812378ba87769b957e8a2bfdd2a SHA512 ed03667e9d768d3ffb25c0480a80b73bdd0abba2873530d0056345c1d6fb6f996801a70a2e5c591e1d8b2be6634f079ccd09eceef0b54e8fb9892c479dfd3a19
|
||||
EBUILD jdupes-1.23.0.ebuild 1000 BLAKE2B f4cbb7f2d33208afb043926e51b20de38bf6b3054529a341d1a04b11916dcd1811de874199c41133a2087b81c9d9cbf726706ba540276df241df6c49356e5da7 SHA512 37ff8b82f625f7aac6c8618155753f77111e3044dd35e24d90f8763cd4b39f9666b7e96cfb0a88f87eba0674518c59102d54980e3a74ef87dd173269214a3837
|
||||
EBUILD jdupes-1.25.2.ebuild 958 BLAKE2B 2dddf9902ffbfd28c31e91aa0dad5b6f03ab7880a7e951580a2f5aafa7855f8db2c4c82997a6ea8526865f4d4fc362947e988c129163690080abdb4e0489f02c SHA512 87cffddaac793aca3b8f65ae2a3a2b2802d1ffe86ea8b60cfc827a1b6712bb9ceb08863e9da627319ad9d353448cc76f0278dffca8af8ec8d6dd27c02e202eff
|
||||
EBUILD jdupes-1.26.1.ebuild 958 BLAKE2B 2dddf9902ffbfd28c31e91aa0dad5b6f03ab7880a7e951580a2f5aafa7855f8db2c4c82997a6ea8526865f4d4fc362947e988c129163690080abdb4e0489f02c SHA512 87cffddaac793aca3b8f65ae2a3a2b2802d1ffe86ea8b60cfc827a1b6712bb9ceb08863e9da627319ad9d353448cc76f0278dffca8af8ec8d6dd27c02e202eff
|
||||
EBUILD jdupes-9999.ebuild 1000 BLAKE2B f4cbb7f2d33208afb043926e51b20de38bf6b3054529a341d1a04b11916dcd1811de874199c41133a2087b81c9d9cbf726706ba540276df241df6c49356e5da7 SHA512 37ff8b82f625f7aac6c8618155753f77111e3044dd35e24d90f8763cd4b39f9666b7e96cfb0a88f87eba0674518c59102d54980e3a74ef87dd173269214a3837
|
||||
MISC metadata.xml 747 BLAKE2B 42d38d80659c7cdf04f27776db41e09eb3f03617a4b795a9715f29fb0d982b0d5c0d469126848984e09ab598c7e0420ff70781f66fa40145cac93615aa42e640 SHA512 683dfe19b16f418965ad58f01248347746eca87d392728bcf197ebdb55a2c83a5bc70de50d8dd5f3f396abffd11e19616da4f414a8f0f4289394b244d9c4c139
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright 2021-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Identify duplicate files on the filesystem"
|
||||
HOMEPAGE="https://github.com/jbruchon/jdupes"
|
||||
if [[ "${PV}" == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/jbruchon/jdupes.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/jbruchon/jdupes/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND="dev-libs/libjodycode"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
IUSE="+dedupe hardened"
|
||||
|
||||
# missing test.sh script
|
||||
# https://github.com/jbruchon/jdupes/issues/191
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/PREFIX/s/=/?=/' Makefile || die
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC
|
||||
local myconf=(
|
||||
$(usex dedupe 'ENABLE_DEDUPE=1' '')
|
||||
$(usex hardened 'HARDEN=1' '')
|
||||
)
|
||||
emake ${myconf[@]}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
|
||||
einstalldocs
|
||||
}
|
Binary file not shown.
@ -0,0 +1,655 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
PYTHON_REQ_USE="threads(+),xml(+)"
|
||||
|
||||
MY_PV="${PV/_alpha/.alpha}"
|
||||
MY_PV="${MY_PV/_beta/.beta}"
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
|
||||
https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] && inherit git-r3
|
||||
inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PN}-7.5.2.2-loong-buildsys-fix.patch.xz"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs; Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${MY_PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
# not packaged in Gentoo
|
||||
"${ADDONS_URI}/dragonbox-1.1.3.tar.gz"
|
||||
# not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
|
||||
"${ADDONS_URI}/dtoa-20180411.tgz"
|
||||
# not packaged in Gentoo, https://skia.org/
|
||||
"${ADDONS_URI}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz"
|
||||
"base? (
|
||||
${ADDONS_URI}/commons-logging-1.2-src.tar.gz
|
||||
${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||
${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
||||
${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
|
||||
${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
|
||||
${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
|
||||
${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
||||
${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
|
||||
${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
|
||||
${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
|
||||
${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
||||
${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||
)"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
|
||||
googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test valgrind vulkan
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
base? ( firebird java )
|
||||
bluetooth? ( dbus )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
|
||||
#[[ ${MY_PV} == *9999* ]] || \
|
||||
#KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme:=[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
app-text/libepubgen
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.21
|
||||
>=app-text/libnumbertext-1.0.6
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libqxp
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
dev-cpp/abseil-cpp:=
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.5.2-r2
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=[nls]
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
>=dev-libs/liborcus-0.17.2:0/0.17
|
||||
dev-libs/librevenge
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.35:=[nss]
|
||||
>=games-engines/box2d-2.4.1:0
|
||||
media-gfx/fontforge
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.11.0-r1:2
|
||||
>=media-libs/harfbuzz-5.1.0:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libjpeg-turbo:=
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libwebp:=
|
||||
media-libs/libzmf
|
||||
media-libs/openjpeg:=
|
||||
media-libs/tiff:=
|
||||
media-libs/zxing-cpp:=
|
||||
net-misc/curl
|
||||
sci-mathematics/lpsolve:=
|
||||
sys-libs/zlib
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
accessibility? (
|
||||
$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
)
|
||||
bluetooth? (
|
||||
dev-libs/glib:2
|
||||
net-wireless/bluez
|
||||
)
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( sys-apps/dbus )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
app-accessibility/at-spi2-core:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
media-libs/mesa[egl(+)]
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/pango
|
||||
)
|
||||
kde? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
kde-frameworks/kconfig:5
|
||||
kde-frameworks/kcoreaddons:5
|
||||
kde-frameworks/ki18n:5
|
||||
kde-frameworks/kio:5
|
||||
kde-frameworks/kwindowsystem:5
|
||||
)
|
||||
ldap? ( net-nds/openldap:= )
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( >=dev-java/rhino-1.7.14:1.6 )
|
||||
mariadb? ( dev-db/mariadb-connector-c:= )
|
||||
!mariadb? ( dev-db/mysql-connector-c:= )
|
||||
pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
# tests apparently also need google-carlito-fonts (not packaged)
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3.1
|
||||
dev-util/mdds:1/2.0
|
||||
media-libs/glm
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
java? (
|
||||
dev-java/ant-core
|
||||
>=virtual/jdk-11
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-group/libreoffice
|
||||
acct-user/libreoffice
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
media-fonts/liberation-fonts
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-11 )
|
||||
kde? ( kde-frameworks/breeze-icons:* )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
sys-apps/which
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
clang? (
|
||||
|| (
|
||||
( sys-devel/clang:16
|
||||
sys-devel/llvm:16
|
||||
=sys-devel/lld-16* )
|
||||
( sys-devel/clang:15
|
||||
sys-devel/llvm:15
|
||||
=sys-devel/lld-15* )
|
||||
( sys-devel/clang:14
|
||||
sys-devel/llvm:14
|
||||
=sys-devel/lld-14* )
|
||||
)
|
||||
)
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
"
|
||||
if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
RDEPEND+=" !app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
# "${WORKDIR}"/${PATCHSET/.tar.xz/}
|
||||
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
"${FILESDIR}/${PN}-6.1-nomancompress.patch"
|
||||
"${FILESDIR}/${PN}-7.2.0.4-qt5detect.patch"
|
||||
|
||||
# git master
|
||||
"${WORKDIR}/${PN}-7.5.2.2-loong-buildsys-fix.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
_check_reqs() {
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_$1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
use base ||
|
||||
ewarn "If you plan to use Base application you must enable USE base."
|
||||
use java ||
|
||||
ewarn "Without USE java, several wizards are not going to be available."
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
if [[ ${MY_PV} = *9999* ]]; then
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${MY_PV/.9999}
|
||||
[[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
LOCOREGIT_VERSION=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# sandbox violations on many systems, we don't need it. Bug #646406
|
||||
sed -i \
|
||||
-e "/KF5_CONFIG/s/kf5-config/no/" \
|
||||
configure.ac || die "Failed to disable kf5-config"
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# Show flags set at the beginning
|
||||
einfo "Preset CFLAGS: ${CFLAGS}"
|
||||
einfo "Preset LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
if use clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
AR=llvm-ar
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
NM=llvm-nm
|
||||
RANLIB=llvm-ranlib
|
||||
LDFLAGS+=" -fuse-ld=lld"
|
||||
|
||||
# Not implemented by Clang, bug #903889
|
||||
filter-flags -Wlto-type-mismatch -Werror=lto-type-mismatch
|
||||
else
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
AR=gcc-ar
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
NM=gcc-nm
|
||||
RANLIB=gcc-ranlib
|
||||
|
||||
# Apparently the Clang flags get used even for GCC builds sometimes.
|
||||
# bug #838115
|
||||
sed -i -e "s/-flto=thin/-flto/" solenv/gbuild/platform/com_GCC_defs.mk || die
|
||||
fi
|
||||
|
||||
if use custom-cflags ; then
|
||||
elog "USE=custom-cflags has been selected. You are on your own to make sure that"
|
||||
elog "the build succeeds. Good luck!"
|
||||
else
|
||||
strip-flags
|
||||
fi
|
||||
|
||||
export LO_CLANG_CC=${CC}
|
||||
export LO_CLANG_CXX=${CXX}
|
||||
|
||||
# Show flags set at the end
|
||||
einfo " Used CFLAGS: ${CFLAGS}"
|
||||
einfo " Used LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
# Ensure we use correct toolchain
|
||||
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
use kde && export QT5DIR="$(qt5_get_bindir)/.."
|
||||
|
||||
local gentoo_buildid="Gentoo official package"
|
||||
if [[ -n ${LOCOREGIT_VERSION} ]]; then
|
||||
gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-build-opensymbol
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-bundle-mariadb
|
||||
--disable-ccache
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gtk3-kde5
|
||||
--disable-online-update
|
||||
--disable-openssl
|
||||
--disable-pdfium
|
||||
--disable-qt6
|
||||
--with-extra-buildid="${gentoo_buildid}"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-abseil
|
||||
--with-system-openjpeg
|
||||
--with-tls=nss
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--with-help="html"
|
||||
--without-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-dragonbox
|
||||
--without-system-jfreereport
|
||||
--without-system-libfixmath
|
||||
--without-system-sane
|
||||
$(use_enable base report-builder)
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable cups)
|
||||
$(use_enable dbus)
|
||||
$(use_enable debug)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk gtk3)
|
||||
$(use_enable kde kf5)
|
||||
$(use_enable kde qt5)
|
||||
$(use_enable ldap)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable vulkan skia)
|
||||
$(use_with accessibility lxml)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with odk doxygen)
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
if use eds || use gtk; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home="${JAVA_HOME}"
|
||||
)
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 rhino.jar) )
|
||||
fi
|
||||
|
||||
is-flagq "-flto*" && myeconfargs+=( --enable-lto )
|
||||
|
||||
MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake unitcheck
|
||||
emake slowcheck
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" distro-pack-install -o build -o check
|
||||
|
||||
# bug 593514
|
||||
if use gtk; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# bug 703474
|
||||
insinto /usr/include
|
||||
doins -r include/LibreOfficeKit
|
||||
|
||||
local lodir=/usr/$(get_libdir)/libreoffice
|
||||
# patching this would break tests
|
||||
cat <<-EOF > "${T}"/uno.py
|
||||
import sys, os
|
||||
sys.path.append('${EPREFIX}${lodir}/program')
|
||||
os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
|
||||
EOF
|
||||
sed -e "/^import sys/d" -e "/^import os/d" \
|
||||
-i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
|
||||
cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
|
||||
cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
|
||||
|
||||
# more system pyuno mess
|
||||
sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
|
||||
-i "${D}"${lodir}/program/officehelper.py || die
|
||||
|
||||
python_optimize "${D}"${lodir}/program
|
||||
# link python bridge in site-packages, bug 667802
|
||||
local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
|
||||
for py in uno.py unohelper.py officehelper.py; do
|
||||
dosym -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
|
||||
while IFS="" read -d $'\0' -r pyc; do
|
||||
pyc=${pyc//*\/}
|
||||
dosym -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
|
||||
done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
|
||||
done
|
||||
|
||||
newinitd "${FILESDIR}/libreoffice.initd" libreoffice
|
||||
newconfd "${FILESDIR}/libreoffice.confd" libreoffice
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue