Sync with portage [Thu Jul 13 15:55:20 MSK 2023].

master 2450
root 10 months ago
parent b58b7027e0
commit 0da360c14f

Binary file not shown.

Binary file not shown.

@ -8,3 +8,4 @@ DIST aws-cli-1.28.0.gh.tar.gz 2445988 BLAKE2B 5c56f908d72cdc10c3e256dd1cc279a202
DIST aws-cli-1.28.1.gh.tar.gz 2446244 BLAKE2B b3642736467a629e810bab4998f797e12845427344689ca8bbe8e2e5e362debc71d2496dfb9ad9e0de1d0e018744e9e13268b6f203040475ef97b77fb99fbf1b SHA512 ab668d09979e5bb1ddec9862227d08c607ddfcac417fe298ac214caf492bcee678291132117925e0e229d10bf4b820c2acc3c335e5b0b9474151ad3233117668
DIST aws-cli-1.29.0.gh.tar.gz 2449423 BLAKE2B 52948b35f391266c38a197d4fa20926c428def190a5821a64b33fe9939b5a30a252fd546a3f1f54056901ed9fe75e7d030d65ca40508658581a4246ad6ec1635 SHA512 5c1b31d2b5c9721b2b27ef21fbd58c74c70fce35122e1de4b1483b8bd6766f2b2b27c288aa1a3d91f1d37decdaa937823b4149f9b1d49acd4404477ee8f9dfd6
DIST aws-cli-1.29.1.gh.tar.gz 2449948 BLAKE2B 5765a91501be6d789610be4d46373c909f4335159fd0063acc95e5082825684f0e1a83db3ef228ee67342844e81c2ccd2de2651763304a14c0166775839d8f08 SHA512 00a500497ffc0ff22a0f83878aef3a00b6873ad949db2fe9d6a339a7aa8e8465f5aaf996a422a9810731930b0548e1fe771d964001d10657b69398fd0fe9aef1
DIST aws-cli-1.29.2.gh.tar.gz 2449985 BLAKE2B a5a5ce673930971c9c03f9869e3b3d49a13cfb74cb1499e1ae3a6fccad65d8f996138bbde81f633d29ffeaec51902059255e6315ac5407c4c6c19845e71454c5 SHA512 b68e81778a62abd38c70d7b9d1039e47f3ae979e62a55919d989e7ccdb6ea370a58caa3584df34a2d96d601436bd3cf5261f491031b211305b1e9d5aee1a4923

@ -0,0 +1,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
# botocore is x.(y+2).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# TODO
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

@ -1,2 +1 @@
DIST clustershell-1.9.1.gh.tar.gz 383917 BLAKE2B 90d8c8390453a2c843bbb909a741d24d5f8e4b8eb03631bbe81b98973fce95d96dd3e68d0b951bc23d067057222c858e5041a3bafde200e0e2d14a0be995689f SHA512 32ee8b43d92e7ada8c81facc6a0609c39beee9189fa6fb9c2237387a58134f99fb2e6ab6e5de35c8e6fc8d3cef57f74f4c08b14968484546859071dff2594eb1
DIST clustershell-1.9.gh.tar.gz 382574 BLAKE2B 031eb9683db330f3b90ac06fa9a0409ea72c1be3d83c8d0519e0080ead715386043c925a6dbaeafdb38351c54f1508c050279603cd81bc2de60ba2df5733f636 SHA512 9eb4e9663a6381fa27311d1d70002ba64066ee6e2e08aaf772974d8097c6ca2d020563fc8478064e76bc6e56d37ed7eefc2919db99a2f5b26bd878fa7b764a15

@ -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,2 +1,3 @@
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

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

@ -17,7 +17,7 @@ if [[ ${PV} == "9999" ]]; then
inherit git-r3
else
KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc x86"
SRC_URI="
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz

@ -2,3 +2,5 @@ DIST sudo-1.9.13p3.tar.gz 5100355 BLAKE2B 46218ecf4cf06d2280ccf4c257b12a6f697eda
DIST sudo-1.9.13p3.tar.gz.sig 566 BLAKE2B 5b59c7178bf157b67500d972fe1b373bc86ab09345f59733cffa85700221ceec0d5be10bce4838f16e9238154c90a972570a7a933f48dbd56bc64b38dbc0043f SHA512 eebf36e86ebd03daca05838bc56d9b1fb7ea8584a83a9f0e03c5ff07e612d36472b23797c628eff1cf4301832d139de0de62ddc8b17e20f1498f769a4db1249a
DIST sudo-1.9.14.tar.gz 5229170 BLAKE2B 5731eda1cabb23dd3b77851ce1fcde8e1b7efc1b4fa27fe65522c7b8e23c0330003eb2d4ebb47d63416fb3a52db478b2f60ca22da6a2d66cb27c52ea5264749e SHA512 33d3bc3d66b1c5412b7d579b703d44f246386d2915c1c63be851869569c7bc627211a8897d0bc718d6ebb2bdd938b093c0901f0b7912c8475f8e6fcbbc559a99
DIST sudo-1.9.14.tar.gz.sig 566 BLAKE2B a7081ee89bf5f12b1b605133ee2f37156779377aec010a12a67933fd21d7e3c0fce9987803bfeea28a7f3ed10784cba6b22b0fee2ff89bac8d1aeec5604bfd6d SHA512 e81d5321386ddddfc58fa884f627cf60478360ab723e1ba97a7138f4b234df2b03fc5a1db5b1b9ed117b2c8ffc2ae529569e0e7364178b1c4d3eaec9c90f86b7
DIST sudo-1.9.14p1.tar.gz 5230440 BLAKE2B fc5f0d7093f572b8ce56161f3e40b75ba9edf0863f44cdc2af6313f68d20a0c9c59536d1d6be5fddcffcc9caecd737109b5a389ee3748c65f3435b65b167d6e2 SHA512 db13b68a58aaf0eb6fd4ec2f23bae95376f1c789d2a2ba2fc01bfbd2fa34aa3e45cac1f33685fc43c0bd15f5eefad43fc0c6f59662640bc981bbd41669f3bdd5
DIST sudo-1.9.14p1.tar.gz.sig 566 BLAKE2B 3f646d036e2e11713a309bbc1579a39b8152ba8a8374da5c74786ee4b3cd4832053489f223dcacf2723ad9aa121357110501689f34108403c671a6b56aac0a4b SHA512 2d28bbf64520487b1b54a4a7c6962e8902032d2bed1d1706e24d60265149c93860e82798ce188cb62b16c22cd1823995c8e190a701c290c672e881bf92c112c6

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

@ -11,7 +11,7 @@ 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"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="dcron debug nls lm-sensors lto selinux systemd"
BDEPEND="

@ -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,4 +1,3 @@
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

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

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

Binary file not shown.

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

@ -8,7 +8,7 @@ DISTUTILS_OPTIONAL="1"
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit cmake-multilib distutils-r1
inherit cmake-multilib distutils-r1 flag-o-matic
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/google/${PN}.git"
@ -67,6 +67,8 @@ multilib_src_configure() {
}
src_configure() {
append-lfs-flags
cmake-multilib_src_configure
use python && distutils-r1_src_configure
}

Binary file not shown.

@ -1,4 +1,3 @@
DIST borgmatic-1.7.11.tar.gz 365247 BLAKE2B a06737c48722fdf24efca76d40f6b413f39635b4137685d6279bf7a7dd002fadef28dab35a503fabf872c732a0f32fbff8c791fa9b4602299937aeae568d6137 SHA512 cedca889cd409e92484c15240fd8da91c655f81e38c6672d25e44feedc4adf6594281d92f7072fd11edc5c9f8589098226a3520e71e3441ee7a7acf97e1b2daa
DIST borgmatic-1.7.13.tar.gz 378163 BLAKE2B c20b384853c0ddf52a095250a05d9ebe813a23ee6ef00bd5748dacf05adcff9e4d324eb2e785ebbf139d34cadab3e58d3b8305d50ec5ff20681630040433e5ae SHA512 5109c093ad3096269e27abe761e6e87ebc31b78a56bfe16e540c686ea1cd935249d063aa7c350b60a3c509990065f3a50f9e4516d40d4a1bde68c43617de18b4
DIST borgmatic-1.7.14.tar.gz 380875 BLAKE2B c30939392df03ce03feed4c5132ef99eaf9c676f51f7ad6b8bd536f45a7e76eff1871fc5bf0d7fd0025835b51325e961f538a661f2f6a78e0ce026550a9ecd84 SHA512 15f774b994d13ab224bcbcb0335145b5cf9a2fca04b098c15bf790c20fc5033073fe341a76d4e9dc8ad85e5fb898a0447c73fc5bc74d0ac9ec6900c333e6660b
DIST borgmatic-1.7.15.tar.gz 390819 BLAKE2B dc9086a0363afb8acbe943776cd6f388ba85a18e50554b5187c86e7054e7ff748ea878623d9b46c19564198faf5c566b137e54681812086115311970bc517455 SHA512 cf1f6da782a5ad547a76b9e4cb00cbd4ca4232cfb5dcd027c6fee9f1a3b97fda894f27c512007b449b8e11e939249060f63c3cdde29aee3aa86710200cf8d2db
DIST borgmatic-1.7.8.tar.gz 350233 BLAKE2B 3fcd392983f73ec5e97f0dc6b96e211d7f1e1d1a4ce95c635c675cf043e796925df53c30c1e4f8eb1a095d9ec5ff81e90edee5ff2576f4683053d3108004afd9 SHA512 bcc65fdb7ea1171fb61deda9b1f69a00596e1e10a99508d336977b694bd8f93d74837aad9211bf1065b785220aaf1460a3ea403bf23fa4873d1bf4c6b4016525

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

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_USE_PEP517=setuptools
@ -33,8 +33,8 @@ BDEPEND="
)"
PATCHES=(
"${FILESDIR}"/${PN}-1.7.3-systemd_service_bin_path.patch
"${FILESDIR}"/${PN}-1.7.13-no_test_coverage.patch
"${FILESDIR}"/${PN}-1.7.14-systemd_service_bin_path.patch
)
# A fragile test whose only purpose is to make sure the NEWS file
@ -54,7 +54,7 @@ src_install() {
pkg_postinst() {
if [[ -z "${REPLACING_VERSIONS}" ]]; then
elog "To generate a sample configuration file, run:"
elog " generate-borgmatic-config"
elog " ${PN} config generate"
else
local oldver
for oldver in ${REPLACING_VERSIONS}; do
@ -69,5 +69,5 @@ pkg_postinst() {
done
fi
elog
elog "Systemd users wishing to periodically run borgmatic can use the provided timer and service units."
elog "Systemd users wishing to periodically run ${PN} can use the provided timer and service units."
}

Binary file not shown.

@ -4,7 +4,5 @@ DIST Geekbench-3.4.4-Linux.tar.gz 9998564 BLAKE2B feb3b2c9b2c57c1a71bb5148110752
DIST Geekbench-4.4.4-Linux.tar.gz 71089467 BLAKE2B 257f79644e20189950fb7c9121e32337526e0c9bf5b0f0f66568c107e2a15c65459eecd332bea4fcbc2d9bb1287bab0e4f37b2100f419ffa52c5396828d86c38 SHA512 c43e1d658d361347efb012824ff0b81975ace35c866a1c2a227adeb86167292b639f19e8fe190d2f0de395f19280a99cb20342325177222f634c9e71c9226e78
DIST Geekbench-5.5.1-Linux.tar.gz 93199992 BLAKE2B e2ff24da19134778dd1b3036ac3fb8b2d99746dbe41b1959cb74522613a7b9a8a0e3796d22351af877a9ea7a734c6b101a0ffadfd3bbc2e29fb9b12e59106848 SHA512 0fd90d55eaaf178e4c981ef6ef54808d1ff86edc92c907a5d8e2a3a379c2289e614d917db330a3d748c818bcedb2dc69cad250b1b98ba80287c6d9a66382bcc4
DIST Geekbench-5.5.1-LinuxARMPreview.tar.gz 111581640 BLAKE2B be413e306a77c0612be380d0ec0d589067365ac1c4091b55a08b722d469180c9cf9126cc0597e3f3c8a75acf77d2a0423bc43b753f30a219924b1a7df640243d SHA512 1d76b9a7928f89f1fdfa0e3cc9859c305e109cbbe72b013b4c249b03722273c985ad1e5d818341a6e399e9e7b3c61136856df87c9f5e61bcc9e7e0455f80e61b
DIST Geekbench-6.0.3-Linux.tar.gz 258057506 BLAKE2B 6e54642fbdf23c0b75b05c9587b837a3aab08289cc6347841b2fe5efb877696779b53b916db2d0ae01cfc698ac6e9290f744e721914fc117721f365cb40930ef SHA512 b336d5e446cd9684edaed2114111ca66d9dc73094481ca42fe336895631aed55bdd747eaf54d5ebd39a920eb348bb2209718e1f69acf19b92ce9b052c19c3f0e
DIST Geekbench-6.0.3-LinuxARMPreview.tar.gz 222270329 BLAKE2B 04206422533afa3f2cb9e06ca34f1ace58fd5944e22c981bfd009762f7247ac13b23b9ecebfc457e60b80441f784d11f904ae05c2dc52444d45f5849f3df7165 SHA512 327ff1022952386ff0984ea337ab19f309988af2264e28f281533b4914b176871210120baaaf407749f0a67567518f68a6d5df4ffec44814bed700769f563a68
DIST Geekbench-6.1.0-Linux.tar.gz 227951888 BLAKE2B f741eac75043bbe9468597bd791d9a5b69fbab7c085a037b846bbaf985a30066748439fd6dbab11e86a01eab1dfe587767bfd211ea3f8a7d1b70de24d4a45656 SHA512 0d98ced1d7ad259cdd957231a6690d5eaedd345ed5550573d9503c56caef5a6724c3290207305e79dafc6660b209a4748801b52a9baf5fdeda0b81fdec80bcf6
DIST Geekbench-6.1.0-LinuxARMPreview.tar.gz 191699484 BLAKE2B 0702d7e52a06b1e01d87aac1fba1739be0584ca7afb59f17b5eafdcc290a20ed631a15e28c027b1f5df57ce7882dea4c4cc18b02b7a0a133b00cf403bcbea18a SHA512 82047365bfce6dd45d926628435f1a8b85297aac05a358f35254a2d827981f080f1582a4e4ca6b943ac4c527164fa9b50c8f612907de66e5d5751994ee5e5ee0

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

@ -11,7 +11,7 @@ SRC_URI="
"
S="${WORKDIR}"
KEYWORDS="-* ~amd64 ~arm64"
KEYWORDS="-* amd64 ~arm64"
LICENSE="geekbench"
SLOT="6"

@ -1 +1 @@
DIST stress-ng-0.16.00.tar.gz 3893899 BLAKE2B 530a7daa1f345f324d9be3ce6c0392f7b87001c25cdbe90e4e08d8c06d2186add6c3694c96136758088f4467fa5a376be93f86c9358e8c17d8250ce617de9bb2 SHA512 b5d6bdc9e527ed2370245905cd8ed01123ba2306b6c0b9bb6b2123ebde7f4d53a80f44a162e739fe2670502b2feddc46883b2dbc3ebbd7e1394b41c00bb7e639
DIST stress-ng-0.16.01.tar.gz 3896657 BLAKE2B 1444f75d07024d0013bd8a85ca93760b40e20e9b3d4fe69ad6f2528e5bff31e895f52fd233e25254fb72f08b25ee8e0527ea3ef4bed6ff3dd0b3a12e0e33634f SHA512 7508a0fe1decceb9cc5f454345e0518b3b7be49b793c18bdbdda4f85e1d18f9a06b788e6d4aad98e4d8a54a35e3272d92853991d48a815bb55b7ed0e235301ba

Binary file not shown.

@ -1,2 +1 @@
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

@ -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,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -14,7 +14,7 @@ S="${WORKDIR}/age-${PV}"
LICENSE="BSD"
#RESTRICT+=" test"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
BDEPEND="dev-go/gox"
@ -23,7 +23,7 @@ src_compile() {
}
src_test() {
go test -race filippo.io/age/cmd/... || die
go test filippo.io/age/cmd/... || die
}
src_install() {

@ -1,2 +1 @@
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

@ -1,50 +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="${PN%-apache}"
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
"
# Only for amd64, arm64 and x86 because of dev-python/python-augeas
KEYWORDS="amd64 ~arm64 x86"
fi
DESCRIPTION="Apache plugin for Certbot (Lets Encrypt client)"
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}] )
"
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
dev-python/python-augeas[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest

@ -1,2 +1 @@
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

@ -1,52 +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="${PN%-nginx}"
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="Nginx plugin for Certbot (Lets Encrypt client)"
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}] )
"
# The requirement is really 17.5.0 but easier to require latest stable >= 23.1.1
# to avoid broken 23.1.0.
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-23.1.1[${PYTHON_USEDEP}]
>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest

@ -1,2 +1 @@
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

@ -1,62 +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
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/certbot/certbot.git"
EGIT_SUBMODULES=()
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
else
SRC_URI="
https://github.com/certbot/certbot/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
fi
DESCRIPTION="Lets Encrypt client to automate deployment of X.509 certificates"
HOMEPAGE="
https://github.com/certbot/certbot
https://letsencrypt.org/
"
LICENSE="Apache-2.0"
SLOT="0"
IUSE="selinux"
S="${WORKDIR}/${P}/${PN}"
BDEPEND="
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
)
"
# See certbot/setup.py for acme >= dep
RDEPEND="
>=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
>=dev-python/ConfigArgParse-0.9.3[${PYTHON_USEDEP}]
>=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.5.0[${PYTHON_USEDEP}]
>=dev-python/distro-1.0.1[${PYTHON_USEDEP}]
>=dev-python/josepy-1.13.0[${PYTHON_USEDEP}]
>=dev-python/parsedatetime-2.4[${PYTHON_USEDEP}]
dev-python/pyrfc3339[${PYTHON_USEDEP}]
>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
selinux? ( sec-policy/selinux-certbot )
"
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
distutils_enable_tests pytest

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -15,7 +15,7 @@ S="${WORKDIR}/WordNet-3.0"
LICENSE="Princeton"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
KEYWORDS="amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
# In contrast to what the configure script seems to imply, Tcl/Tk is NOT
# optional. cf. bug 163478 for details. (Yes, it's about 2.1 but it's

Binary file not shown.

@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/doublep/eldev/"
SRC_URI="https://github.com/doublep/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
KEYWORDS="amd64 ~arm ~ppc64 ~x86"
KEYWORDS="amd64 ~arm ~ppc64 ~riscv ~x86"
SLOT="0"
DOCS=( README.adoc )

@ -1,2 +1 @@
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

@ -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,5 +1,3 @@
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
DIST helm-3.9.1.tar.gz 2370645 BLAKE2B 819f0bf8cbd3728a78e90da6955f799a8ad2320323a9a16eb72a4fcfe21c04995f0fd0072a7a8bf6fcf593dedc4c3b224f0310ec317b9e39f326b4c147343b1b SHA512 7cd5d93493a08ec173b6786ec4e0cbaf3a90473f7ef8f7564232cedc438ed01466faeb8aced07419aedadd1469c8c43fe6072ee725643e133ceb3004675dc3b7

@ -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 @@
# Copyright 2019-2022 Gentoo Authors
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -6,18 +6,22 @@ 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"
HOMEPAGE="https://emacs-helm.github.io/helm/
https://github.com/emacs-helm/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"
KEYWORDS="~amd64 ~x86"
RDEPEND="app-emacs/async
app-emacs/popup"
RDEPEND="
app-emacs/async
app-emacs/popup
"
BDEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}"/${PN}-3.8.0-no-autoload-check.patch )
PATCHES=( "${FILESDIR}"/${PN}-3.8.8-no-autoload-check.patch )
SITEFILE="50${PN}-gentoo.el"
src_compile() {
@ -27,5 +31,7 @@ src_compile() {
src_install() {
elisp_src_install
dobin emacs-helm.sh
exeinto /usr/bin/
doexe emacs-helm.sh
}

@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="GPL-2+ GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc64 x86"
KEYWORDS="amd64 ~arm ~ppc64 ~riscv x86"
# The tests seem to be written specifically for the libegit2 git repository.
RESTRICT="test"

@ -11,7 +11,7 @@ SRC_URI="https://github.com/magit/magit/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc64 x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 ~arm ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${P}/lisp"
SITEFILE="50${PN}-gentoo.el"

@ -1,2 +1,2 @@
DIST plz-0.5.4.tar.gz 101382 BLAKE2B cba7089ed3f6c6d616d6d8b506e9779c1fdc56b8c048010cb2e61f03d83669aa3475314936c9fc4b02d473484268a303495605e785840644bc3b9b92f50be090 SHA512 3a64a49efcf32191099abcd5dd5955b02ce3afa98ec3ecd79d4bfaadf52bc4a5602fda3aca4482e77e465e5d071400ae8200cf900e4f0ed931e93e1458303fa1
DIST plz-0.6.tar.gz 102322 BLAKE2B 61bda1b01262f74a6aac0c452b0f06fc2559a287e41ff64b809c6512cc960802084af792fd26a2ac7e82918724b5b9840609cabc5fadc1e637a4e0048b89f171 SHA512 8e281e750d3536ec7bac1235925d1aca559d0f0e1778721b284e05c6a0a53d4b85342eb39476d4eeaaf40ce0c99578108655ad1761619c07d8b131458595d185
DIST plz-0.7.tar.gz 105630 BLAKE2B 882e5141d6e069da3c7b32706e459e5bcc71abb1277be39162310cde413784202d21bae4bbf8b61f2b72c0edf71ef7b4615685246be17905bbabc9626a2035d6 SHA512 f3300843d30e4b219e4c3f9e898f99f1f3987c73195fdd40a9022c0ac7e09ac25f217adf619b61fb36e2a4d0ea494f5546226e2d1dd85514d1b111f769b7f5ef

@ -20,8 +20,7 @@ fi
LICENSE="GPL-3+"
SLOT="0"
# Tests require network access.
PROPERTIES="test_network"
PROPERTIES="test_network" # Tests require network access.
RESTRICT="test"
RDEPEND="net-misc/curl"
@ -34,5 +33,5 @@ elisp-enable-tests ert tests -l tests/test-plz.el
src_install() {
elisp_src_install
doinfo plz.info
doinfo ${PN}.info
}

@ -1 +1,2 @@
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

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

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

Binary file not shown.

@ -2,3 +2,5 @@ DIST libvirt-9.3.0.tar.xz 9246292 BLAKE2B 6e47a70ec247b37c1958e324d5bf7ebcbff6ac
DIST libvirt-9.3.0.tar.xz.asc 833 BLAKE2B 25810919210bd489ecfd85f172c472d52e911e90d651fac2c7fa4f73220890bd2448317448f0469e8abfe8ad5ea6f3eb6b321e6d989e64f6ad4b676a5a38312c SHA512 0b51a621cef616ac55ac40c9bf9da56d3e1d59b5e87bcd04deaac7f775faab8f30861e53112be2242d9c8c6be41f1ed1c29d345d96e39be0ac33ef0b01494c45
DIST libvirt-9.4.0.tar.xz 9250724 BLAKE2B 837a6eef509a43a0cd25a2ecaac9de95f21e903b553d5e56b404a689495e66bb0053866c9aea672cbe69130286d5a2ff2eb38ff447c77100e92bcb56cd244ee3 SHA512 8a8e3983c47c5ed5f4b50d90cb04e435717afddd27e16112ceeddda458d45c693daf65575f5d50274cfffcd1c83cbdd290819d8ece63f3bf9441b6bdaa309852
DIST libvirt-9.4.0.tar.xz.asc 833 BLAKE2B 3a31f4097d8684a3a5e4b696c9bb49316a07c611a0cf1703e18653536af93d018ec44cbe5d0ce031e6f2c23a7c72691ded4c219faafa4bc770ad0dd7b616d0ce SHA512 710861b6b1c866be452e2da18a631076ad3ca3fbeb1728e561de08b34d16d2b49a0c390e7fa36eb35d0dc58fa35d5866ea6c573c84e9312b02880cdb969f7342
DIST libvirt-9.5.0.tar.xz 9261176 BLAKE2B 9c270f782bb74194f209251d6397537182949e97877238bd96b36256b14000998d7b8ad2d4bccad5b44c54a69a21b0be6f60665b3f3bab5cd129e4cfce39a264 SHA512 d8c40281856a60ba2a22a7a64721c4baee1803235227a973a22465aacfb26f674dc65045b87d0dcd183be324cb65408f253b4d72c2ed494fb809e98772eea2e3
DIST libvirt-9.5.0.tar.xz.asc 833 BLAKE2B 48e935f3509b05403a742119657983f4708a26637af1ec6b622ff82ae5d2507ff935cdf113ade37b643b2bca49ad56bfd1eba7809349a17634e4779d25edbd96 SHA512 794e7be683e61da963b96ac6185e4abb65a44578e00fa14073a0d6c7d98973c4fa5038a0a905f822a6d2f8fd1b201145714b0137adf936c6d56df79523a08b9e

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

@ -107,6 +107,7 @@ RDEPEND="
)
qemu? (
>=app-emulation/qemu-4.2
app-crypt/swtpm
>=dev-libs/yajl-2.0.3:=
)
rbd? ( sys-cluster/ceph )
@ -144,7 +145,7 @@ PDEPEND="
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.5.0-fix-paths-for-apparmor.patch
"${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch
)
pkg_setup() {

@ -2,6 +2,8 @@ DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce
DIST qemu-7.2.0.tar.xz 122408576 BLAKE2B 415ff621356c59f88b29cfe3ef5db1e282b26bbafbee3d535477c6125ccb060ec9762d9e3ab9f70ce5478804dca0a46a59bcf12c112a2462029a93e578e61530 SHA512 f3cfa00da739ba819a218d7e6e95c77fb79a8e0f487b024ddd281602e785249b81144595e3f8c746c32a4f5c4d1a88c6aebae3c162603edfbb50ae3722d7ed13
DIST qemu-7.2.1.tar.xz 122400592 BLAKE2B bae1df5d332beaca313c4bac88f06dd5992988d7c1b6fdc6ced4043d858f437339cd7d0009ae667f9e66705117697bee7ee44ec4e911cc203d34eecc3d8f139b SHA512 e286dc66c923a5df77eb02d69235d048e80a7cced638fae52fbed385b4c3cd736cfea66bb3c9843bebf0a33e81ea141fc015e0bd82108df304f148ce59d9ae8a
DIST qemu-7.2.3.tar.xz 122395692 BLAKE2B 4e65cac7505a56da85c1d98dc6029d516dd4f07f0211ea5213724d231d448d9b49cc91a3058a2a89908608078854d97da480e6f0bc7ce47d9555c2bb1177fbdc SHA512 09523d456175da47d58d8d56fe9a95416ee3e6fd8aa7766383033396a1e5bd10f7758832f7f2b8662068ef94b21ab6a3a351c9158fb6bde0e1d7d5fb393bf6c7
DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b
DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054
DIST qemu-8.0.0.tar.xz 127835148 BLAKE2B 9b54aae10fe09691a26e68374723ded5fdda6409673b4de9461a25ee060cfd03968a16ddeadc21d48b9262e53aa6d4e5eb645376969f97c65807fad19607b04f SHA512 1f31d1e653dec2d35f1b7a5468ee3f471553b48eca8c8afafffcf9243c6b2260e78a5b73da3fe567f9b85d4133573eebd397747b3aec501fb24076263eb07b27
DIST qemu-8.0.2.tar.xz 126707132 BLAKE2B f2b1a63e10c42aabfe39722c7732d0f04818ad367b769b3deb29c5bf9adcabc3aca1706f3c40fafeeb57ac1f7a61ded5066de32134c483e2fd27bc65b4b7d30a SHA512 4e915d33a662bf55b09247fb85150be376c92270d3764e3d6470c452cb70cc558f54e84de5610dd60a9eb3ea02d5d4277b1ec75c9804967d278fa8361c7f9b9a
DIST qemu-8.0.3.tar.xz 126710536 BLAKE2B 071cc1a35209a02e8c5dd4f43cb112f110b4655adb0f870a04fdf9a6e2c761699574e8c9426f70f60787a99acf252d7a64d94a8e837cdfeda93d89428d7866f3 SHA512 18b2ccb65f7ec2ae92f0e04406539620c881e2b75f63816588c86043a07464bb99d16a83e792ed9508de393f4b694c46d52f4d07edf52741e85224c8b8d5d5c3

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

@ -154,7 +154,8 @@ ALL_DEPEND="
sys-libs/zlib[static-libs(+)]
python? ( ${PYTHON_DEPS} )
systemtap? ( dev-util/systemtap )
xattr? ( sys-apps/attr[static-libs(+)] )"
xattr? ( sys-apps/attr[static-libs(+)] )
"
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
# softmmu targets (qemu-system-*).
@ -253,7 +254,8 @@ X86_FIRMWARE_DEPEND="
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
)
sys-firmware/sgabios
)"
)
"
PPC_FIRMWARE_DEPEND="
pin-upstream-blobs? (
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
@ -290,15 +292,19 @@ CDEPEND="
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
"
DEPEND="${CDEPEND}
DEPEND="
${CDEPEND}
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
static-user? ( ${ALL_DEPEND} )"
RDEPEND="${CDEPEND}
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
@ -319,7 +325,8 @@ QA_PREBUILT="
usr/share/qemu/u-boot.e500
"
QA_WX_LOAD="usr/bin/qemu-i386
QA_WX_LOAD="
usr/bin/qemu-i386
usr/bin/qemu-x86_64
usr/bin/qemu-alpha
usr/bin/qemu-arm

@ -554,7 +554,7 @@ LICENSE+="
Unicode-DFS-2016 ZLIB" # crates
LICENSE+=" curl" # non-automated extra
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
# dlopen: libX* (see winit+x11-dl crates)
RDEPEND="

@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
DEPEND="~app-emulation/spice-protocol-9999"
else
SRC_URI="https://www.spice-space.org/download/releases/spice-server/${P}.tar.bz2"
KEYWORDS="~amd64 arm64 ~loong ppc64 ~riscv x86"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
fi
LICENSE="LGPL-2.1"

@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.1
WINE_MONO=8.0.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
@ -213,6 +213,8 @@ src_configure() {
$(use_with v4l v4l2)
$(use_with xcomposite)
$(use_with xinerama)
--without-vosk # unpackaged, file a bug if you need this
)
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)

Binary file not shown.

@ -1 +1,2 @@
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

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

@ -3,13 +3,10 @@
EAPI=8
DISTUTILS_SINGLE_IMPL=1
# Sadly, PEP-517 mode breaks both the test suite and the installation of some of the data files
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1 xdg-utils
inherit python-single-r1 xdg-utils
DESCRIPTION="Community genealogy program aiming to be both intuitive and feature-complete"
HOMEPAGE="https://gramps-project.org/"
@ -21,10 +18,12 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="exif geo postscript +rcs +reports spell test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# Some of the tests fail unless the deprecated BerkeleyDB back-end is enabled.
RESTRICT="test"
RDEPEND="
RDEPEND="${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/pycairo[${PYTHON_USEDEP}]
>=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
@ -41,6 +40,7 @@ RDEPEND="
reports? ( media-gfx/graphviz[postscript?] )
"
BDEPEND="test? (
${RDEPEND}
$(python_gen_cond_dep '
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
@ -51,44 +51,27 @@ PATCHES=(
"${FILESDIR}"/${PN}-5.1.3-test_locale.patch
)
distutils_enable_tests setup.py
python_prepare_all() {
src_prepare() {
# Install documentation to the proper location. This can't be done
# easily with a patch because we substitute in the ${PF} variable,
# and that changes with every revision.
sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
distutils-r1_python_prepare_all
}
python_configure_all() {
DISTUTILS_ARGS=(
--resourcepath=/usr/share
--no-compress-manpages
)
default
}
python_test() {
# Gramps builds just fine out of tree but it confuses its test suite.
# The following at least lets the tests run properly in legacy mode.
rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \
die "Failed to symlink build directory to source directory"
# Set a sane default locale for the tests which do not explicitly set one.
local -x LC_ALL=C.UTF-8
src_compile() {
${PYTHON} setup.py --verbose build || die
}
esetup.py test || die
src_test() {
LC_ALL=C.UTF-8 ${PYTHON} setup.py --verbose test || die
}
# Ugly hack to work around Bug #717922
python_install() {
local DISTUTILS_ARGS=(
--resourcepath=/usr/share
--no-compress-manpages
build
)
distutils-r1_python_install
echo -n "${EPREFIX}/usr/share" > "${D}$(python_get_sitedir)/gramps/gen/utils/resource-path" || die
src_install() {
${PYTHON} setup.py --verbose install --root="${ED}" --resourcepath=/usr/share --no-compress-manpages || die
einstalldocs
python_optimize
}
pkg_postinst() {

@ -1,3 +1,4 @@
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

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

@ -125,7 +125,7 @@ CRATES="
# tree-sitter grammar. Patching the .so to need the system's
# libtree-sitter-cpp seems to work, but it is not correct because the
# weggli grammar has some minor modifications.
inherit cargo flag-o-matic
inherit cargo
DESCRIPTION="a fast and robust semantic search tool for C and C++ codebases"
HOMEPAGE="https://github.com/googleprojectzero/weggli"
@ -139,10 +139,3 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64"
QA_FLAGS_IGNORED="usr/bin/${PN}"
src_prepare() {
default
# 854741
filter-lto
}

Binary file not shown.

@ -20,7 +20,9 @@ DIST f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip 211919 BLAKE2B 2c7
DIST libreoffice-7.5.2.2-loong-buildsys-fix.patch.xz 5172 BLAKE2B bd9b84b770b23f9ad8f09bfeb1948fd3679f0dfd32424e1c997e25340d29e55b403dde995510da76c824a169e594ae37310d2c51ad4c3c9df76ec5707676588b SHA512 13eb46209755b7098183c60cdd2fedff75c50af4496a2d8dedd34de379dbeccbdac435531aa930e212638a685f2054e143dc4015a5ba3be9a3736d9073188d43
DIST libreoffice-7.5.3.2.tar.xz 269840284 BLAKE2B 4decdaf2410b3e1bd1d349b00766fbd7c458d895ecfda8e1565a905d1dbc515c7ead5d5416a74c7ce5854a86c3ad39b0e1f658317bfeb99d079da12d847bb6c6 SHA512 ea3b05fe7ac42a23766759712fbab9ab0bcf0cbf3177cd7f0f680140d52661ae626caf89c7c4cce0e557c309ac1980875abfb520ad09d885c32bd1c6e9eec61e
DIST libreoffice-7.5.4.2.tar.xz 270237076 BLAKE2B d9903c46c899c129749b32b720788f2c56583524117624b161a84be356b08e3ed80cd1e34d5825ccbc2f627e7e37fc50407edbbd994d20071b9c3a10684b98c4 SHA512 582aa92a5cac3970a1fef96d6fbc4bd398c9f5705b5d9a05c83f374932a8050e7c3a20abe45d13db87eadc93334d9f3e6fb11075a86d7ad49c2f7768baedb6b3
DIST libreoffice-7.5.5.2.tar.xz 270545744 BLAKE2B 5e957447905dec28ae5165b438f7df8bebc55f2ea9402068459a376109cc43bb12087a22854bd90cd6a0b9fcf3f72f49d906369dc937a06c9a51fdcb41a9dc52 SHA512 22b905507c3c5e97eb41673fdd21254f254992bfd5f6abf95b49603372027bbb2e329ec43a52ac56d42116fb1821b5c87e53e96105fe194df0ccbfabc7104358
DIST libreoffice-branding-gentoo-0.8.tar.xz 151568 BLAKE2B f03c7ddeb53c5ca3fd23401679601fcf2c4037ba17be4eb7b784c7ce7ebb71a24b8ab4aac8b7da8c6b1f14dd23bc1294ba85ff4f70ad271fb4ee3c5372e10883 SHA512 785031a699b1d1895ce4b50ffc3ddf645f3a0ef9acdf37facfd18cf75db9484cb8f53a50abb63d6006ead76a80b6ff5aa99661063245ebb84bd64013d713de7f
DIST libreoffice-help-7.5.3.2.tar.xz 166237184 BLAKE2B 50f8482fe8a91117de2ddd4eacae8373e900066c783b95ff8a7c725009210e72e5eb891499f358f90ec18ecab8fd9ada5c1be246667e7c2c871b61573c837e82 SHA512 8a8f7915de4eafbfafc81c66de70410b1ca827ec8dc40db55ad2275dc1544da471b2de5aacb42ad31b03a676f5133df78a70332810588895d950083f3b8724f4
DIST libreoffice-help-7.5.4.2.tar.xz 166236736 BLAKE2B 2e1a2e6c77ae9aa7198f889623b5022176e424c95d57d1d45a5206c0c56526ed8aed0bcafa92ac57b7a852aba8bed5a12c0524c227d66626883ae05239243fd6 SHA512 cea4222d05c2d5ce661758f080e26bf4bab3d158936b85482ec885241a5cb2abb38be108b1c5ed909b2d1ea762c550211330400377b89c483f4e9e3c8af16f3a
DIST libreoffice-help-7.5.5.2.tar.xz 166236984 BLAKE2B 2880fb61532c31a52e99f8dd150967b1206f2861085b0ca433e96dea4b95c18896e8837aca6d72e278c57d73e4ae51f6da273ad586ab50835964192f1f5780e4 SHA512 1747bd1c4df7341074d4e805b8fa4165d1f311d7113b7f73b94449496a8c37c0cd02c4bf1faa5187a14ea43fc531028347cca2dd0a3db9e8a9b9abe72fe7f07f
DIST skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz 11079112 BLAKE2B d3eb44a64187ddd3097bc7473eaa6b631b4043b9679861426ae83956de7907a03b51cc472cbb9169c52e92cbc4ebe681181c675ae938324c6d3a10eff9a7084a SHA512 1234ff6e787947fb6442b7279c7ef07d48d7036b15591782ea197c827c60fba77bbe83029bf7d8dfa7dc126535a9a780f6b927fbf7339f0825061616a9c53436

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

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="threads(+),xml(+)"
MY_PV="${PV/_alpha/.alpha}"
@ -294,7 +294,7 @@ PATCHES=(
"${FILESDIR}/${PN}-7.2.0.4-qt5detect.patch"
# git master
"${WORKDIR}"/${PN}-7.5.2.2-loong-buildsys-fix.patch
"${WORKDIR}/${PN}-7.5.2.2-loong-buildsys-fix.patch"
)
S="${WORKDIR}/${PN}-${MY_PV}"

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="threads(+),xml(+)"
MY_PV="${PV/_alpha/.alpha}"

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -5,6 +5,14 @@
<email>zmedico@gentoo.org</email>
<name>Zac Medico</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>freijon@pm.me</email>
<name>Jonas Frei</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/nushell/nushell/issues</bugs-to>
<changelog>https://github.com/nushell/nushell/commits/main</changelog>
@ -13,5 +21,6 @@
</upstream>
<use>
<flag name="dataframe">Dataframe feature for nushell</flag>
<flag name="extra">Enable less stable or less common commands</flag>
</use>
</pkgmetadata>

@ -1,637 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
Inflector-0.11.4
adler-1.0.2
ahash-0.7.6
ahash-0.8.1
aho-corasick-0.7.19
alloc-no-stdlib-2.0.4
alloc-stdlib-0.2.2
alphanumeric-sort-1.4.4
android_system_properties-0.1.5
anes-0.1.6
ansi-str-0.5.0
ansi-str-0.7.2
ansitok-0.2.0
anyhow-1.0.66
array-init-cursor-0.2.0
arrayvec-0.5.2
arrayvec-0.7.2
arrow-format-0.7.0
arrow2-0.14.2
assert_cmd-2.0.4
async-stream-0.3.3
async-stream-impl-0.3.3
async-trait-0.1.57
atomic-polyfill-0.1.10
atty-0.2.14
autocfg-1.1.0
bare-metal-0.2.5
bare-metal-1.0.0
base64-0.13.0
bincode-1.3.3
bindgen-0.59.2
bit-set-0.5.3
bit-vec-0.6.3
bit_field-0.10.1
bitfield-0.13.2
bitflags-1.3.2
block-buffer-0.10.3
brotli-3.3.4
brotli-decompressor-2.3.2
brownstone-3.0.0
bstr-0.2.17
bumpalo-3.11.0
byte-unit-4.0.14
bytecount-0.6.3
bytemuck-1.12.1
bytemuck_derive-1.2.1
byteorder-1.4.3
bytes-1.2.1
bytesize-1.1.0
calamine-0.19.1
cassowary-0.3.0
cast-0.3.0
cc-1.0.73
cexpr-0.6.0
cfg-if-0.1.10
cfg-if-1.0.0
chrono-0.4.23
chrono-humanize-0.2.2
chrono-tz-0.6.3
chrono-tz-build-0.0.3
ciborium-0.2.0
ciborium-io-0.2.0
ciborium-ll-0.2.0
clang-sys-1.4.0
clap-3.2.23
clap_lex-0.2.4
codepage-0.1.1
comfy-table-6.1.2
console-0.15.2
const_format-0.2.26
const_format_proc_macros-0.2.22
convert_case-0.4.0
core-foundation-0.9.3
core-foundation-sys-0.8.3
cortex-m-0.7.6
cpufeatures-0.2.5
crc32fast-1.3.2
criterion-0.4.0
criterion-plot-0.5.0
critical-section-0.2.7
crossbeam-channel-0.5.6
crossbeam-deque-0.8.2
crossbeam-epoch-0.9.11
crossbeam-utils-0.8.12
crossterm-0.24.0
crossterm-0.25.0
crossterm_winapi-0.9.0
crypto-common-0.1.6
cssparser-0.27.2
cssparser-macros-0.6.0
cstr_core-0.2.6
csv-1.1.6
csv-core-0.1.10
ctor-0.1.23
ctrlc-3.2.3
cty-0.2.2
derive_more-0.99.17
dialoguer-0.9.0
diff-0.1.13
difflib-0.4.0
digest-0.10.5
dirs-4.0.0
dirs-next-2.0.0
dirs-sys-0.3.7
dirs-sys-next-0.1.2
doc-comment-0.3.3
dtoa-0.4.8
dtoa-short-0.3.3
dtparse-1.3.0
dyn-clone-1.0.9
ego-tree-0.6.2
either-1.8.0
embedded-hal-0.2.7
eml-parser-0.1.3
encode_unicode-0.3.6
encoding_rs-0.8.31
enum_dispatch-0.3.8
env_logger-0.8.4
erased-serde-0.3.23
errno-0.2.8
errno-dragonfly-0.1.2
ethnum-1.3.0
fallible-iterator-0.2.0
fallible-streaming-iterator-0.1.9
fancy-regex-0.10.0
fastrand-1.8.0
fd-lock-3.0.6
filesize-0.2.0
filetime-0.2.17
flate2-1.0.24
float-cmp-0.9.0
fnv-1.0.7
foreign-types-0.3.2
foreign-types-shared-0.1.1
foreign_vec-0.1.0
form_urlencoded-1.1.0
fs_extra-1.2.0
fsevent-0.4.0
fsevent-sys-2.0.1
fuchsia-zircon-0.3.3
fuchsia-zircon-sys-0.3.3
futf-0.1.5
futures-0.3.24
futures-channel-0.3.24
futures-core-0.3.24
futures-executor-0.3.24
futures-io-0.3.24
futures-macro-0.3.24
futures-sink-0.3.24
futures-task-0.3.24
futures-util-0.3.24
fuzzy-matcher-0.3.7
fxhash-0.2.1
generic-array-0.14.6
getrandom-0.1.16
getrandom-0.2.7
getset-0.1.2
ghost-0.1.6
git2-0.15.0
gjson-0.8.1
glob-0.3.0
h2-0.3.14
half-1.8.2
halfbrown-0.1.15
hamcrest2-0.3.0
hash32-0.2.1
hash_hasher-2.0.3
hashbrown-0.12.3
hashlink-0.8.1
heapless-0.7.16
heck-0.4.0
hermit-abi-0.1.19
hex-0.4.3
html5ever-0.26.0
htmlescape-0.3.1
http-0.2.8
http-body-0.4.5
httparse-1.8.0
httpdate-1.0.2
hyper-0.14.20
hyper-tls-0.5.0
iana-time-zone-0.1.50
ical-0.7.0
idna-0.3.0
indent_write-2.2.0
indexmap-1.9.1
inotify-0.7.1
inotify-sys-0.1.5
instant-0.1.12
inventory-0.2.3
io-lifetimes-0.7.3
iovec-0.1.4
ipnet-2.5.0
is-root-0.1.2
is_ci-1.1.1
is_debug-1.0.1
is_executable-1.0.1
itertools-0.10.5
itoa-0.4.8
itoa-1.0.4
jobserver-0.1.25
joinery-2.1.0
js-sys-0.3.60
json-deserializer-0.4.2
json_to_table-0.3.1
kernel32-sys-0.2.2
lazy_static-1.4.0
lazycell-1.3.0
lexical-6.1.1
lexical-core-0.8.5
lexical-parse-float-0.8.5
lexical-parse-integer-0.8.6
lexical-util-0.8.5
lexical-write-float-0.8.5
lexical-write-integer-0.8.5
libc-0.2.135
libgit2-sys-0.14.0+1.5.0
libloading-0.7.3
libm-0.2.5
libproc-0.12.0
libsqlite3-sys-0.25.1
libssh2-sys-0.2.23
libz-sys-1.1.8
linked-hash-map-0.5.6
linux-raw-sys-0.0.46
lock_api-0.4.9
log-0.4.17
lru-0.8.1
lscolors-0.12.0
lz4-1.24.0
lz4-sys-1.9.4
mac-0.1.1
mach2-0.4.1
malloc_buf-0.0.6
markup5ever-0.11.0
matches-0.1.9
md-5-0.10.5
memchr-2.5.0
memmap2-0.5.7
memoffset-0.6.5
miette-5.3.0
miette-derive-5.3.0
mime-0.3.16
mime_guess-2.0.4
minimal-lexical-0.2.1
miniz_oxide-0.5.4
mio-0.6.23
mio-0.8.4
mio-extras-2.0.6
miow-0.2.2
multiversion-0.6.1
multiversion-macros-0.6.1
native-tls-0.2.10
nb-0.1.3
nb-1.0.0
net2-0.2.37
new_debug_unreachable-1.0.4
nix-0.25.0
nodrop-0.1.14
nom-7.1.1
nom-supreme-0.8.0
notify-4.0.17
ntapi-0.4.0
nu-ansi-term-0.46.0
num-0.2.1
num-0.4.0
num-bigint-0.2.6
num-bigint-0.4.3
num-complex-0.2.4
num-complex-0.4.2
num-format-0.4.3
num-integer-0.1.45
num-iter-0.1.43
num-rational-0.2.4
num-rational-0.4.1
num-traits-0.2.15
num_cpus-1.13.1
num_threads-0.1.6
objc-0.2.7
omnipath-0.1.1
once_cell-1.16.0
oorandom-11.1.3
open-3.2.0
openssl-0.10.42
openssl-macros-0.1.0
openssl-probe-0.1.5
openssl-src-111.22.0+1.1.1q
openssl-sys-0.9.76
os_str_bytes-6.4.1
output_vt100-0.1.3
overload-0.1.1
owo-colors-3.5.0
papergrid-0.7.1
parking_lot-0.12.1
parking_lot_core-0.9.3
parquet-format-safe-0.2.4
parquet2-0.16.3
parse-zoneinfo-0.3.0
paste-1.0.9
pathdiff-0.2.1
peeking_take_while-0.1.2
percent-encoding-2.2.0
peresil-0.3.0
pest-2.3.1
phf-0.8.0
phf-0.10.1
phf-0.11.1
phf_codegen-0.8.0
phf_codegen-0.10.0
phf_codegen-0.11.1
phf_generator-0.8.0
phf_generator-0.10.0
phf_generator-0.11.1
phf_macros-0.8.0
phf_shared-0.8.0
phf_shared-0.10.0
phf_shared-0.11.1
pin-project-lite-0.2.9
pin-utils-0.1.0
pkg-config-0.3.25
planus-0.3.1
plotters-0.3.4
plotters-backend-0.3.4
plotters-svg-0.3.3
polars-0.25.1
polars-arrow-0.25.1
polars-core-0.25.1
polars-io-0.25.1
polars-lazy-0.25.1
polars-ops-0.25.1
polars-pipe-0.25.1
polars-plan-0.25.1
polars-time-0.25.1
polars-utils-0.25.1
pori-0.0.0
powierza-coefficient-1.0.2
ppv-lite86-0.2.16
precomputed-hash-0.1.1
predicates-2.1.1
predicates-core-1.0.3
predicates-tree-1.0.5
pretty_assertions-1.3.0
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro-hack-0.5.19
proc-macro2-1.0.46
procfs-0.14.1
proptest-1.0.0
pure-rust-locales-0.5.6
pwd-1.4.0
quick-error-1.2.3
quick-error-2.0.1
quick-xml-0.25.0
quickcheck-1.0.3
quickcheck_macros-1.0.0
quote-1.0.21
rand-0.7.3
rand-0.8.5
rand_chacha-0.2.2
rand_chacha-0.3.1
rand_core-0.5.1
rand_core-0.6.4
rand_distr-0.4.3
rand_hc-0.2.0
rand_pcg-0.2.1
rand_xorshift-0.3.0
rayon-1.5.3
rayon-core-1.9.3
redox_syscall-0.2.16
redox_users-0.4.3
reedline-0.14.0
regex-1.6.0
regex-automata-0.1.10
regex-syntax-0.6.27
remove_dir_all-0.5.3
reqwest-0.11.12
result-1.0.0
riscv-0.7.0
riscv-target-0.1.2
rmp-0.8.11
rmp-serde-1.1.1
roxmltree-0.16.0
rstest-0.15.0
rstest_macros-0.14.0
rusqlite-0.28.0
rust-embed-6.4.1
rust-embed-impl-6.3.0
rust-embed-utils-7.3.0
rust_decimal-1.26.1
rustc-hash-1.1.0
rustc_version-0.2.3
rustc_version-0.4.0
rustix-0.35.11
rustversion-1.0.9
rusty-fork-0.3.0
ryu-1.0.11
same-file-1.0.6
schannel-0.1.20
scopeguard-1.1.0
scraper-0.13.0
security-framework-2.7.0
security-framework-sys-2.6.1
selectors-0.22.0
semver-0.9.0
semver-0.11.0
semver-1.0.14
semver-parser-0.7.0
semver-parser-0.10.2
seq-macro-0.3.1
serde-1.0.145
serde_derive-1.0.145
serde_ini-0.2.0
serde_json-1.0.85
serde_urlencoded-0.7.1
serde_yaml-0.9.13
serial_test-0.8.0
serial_test_derive-0.8.0
servo_arc-0.1.1
sha2-0.10.6
shadow-rs-0.16.3
shlex-1.1.0
signal-hook-0.3.14
signal-hook-mio-0.2.3
signal-hook-registry-1.4.0
simd-json-0.6.0
simdutf8-0.1.4
simplelog-0.12.0
siphasher-0.3.10
slab-0.4.7
smallvec-1.9.0
smartstring-1.0.1
smawk-0.3.1
snap-1.0.5
socket2-0.4.7
spin-0.9.4
sqlparser-0.23.0
stable_deref_trait-1.2.0
static_assertions-1.1.0
streaming-decompression-0.1.2
streaming-iterator-0.1.7
strength_reduce-0.2.3
string_cache-0.8.4
string_cache_codegen-0.5.2
strip-ansi-escapes-0.1.1
strum-0.24.1
strum_macros-0.24.3
supports-color-1.3.0
supports-hyperlinks-1.2.0
supports-unicode-1.0.2
sxd-document-0.3.2
sxd-xpath-0.4.2
syn-1.0.101
sys-locale-0.2.1
sysinfo-0.26.4
tabled-0.10.0
tabled_derive-0.5.0
tempfile-3.3.0
tendril-0.4.3
termcolor-1.1.3
terminal_size-0.1.17
terminal_size-0.2.1
termtree-0.2.4
textwrap-0.15.1
textwrap-0.16.0
thin-slice-0.1.1
thiserror-1.0.37
thiserror-impl-1.0.37
thread_local-1.1.4
time-0.1.44
time-0.3.14
time-macros-0.2.4
tinytemplate-1.2.1
tinyvec-1.6.0
tinyvec_macros-0.1.0
titlecase-2.2.0
tokio-1.24.1
tokio-native-tls-0.3.0
tokio-util-0.7.4
toml-0.5.9
tower-service-0.3.2
tracing-0.1.36
tracing-core-0.1.29
trash-3.0.0
try-lock-0.2.3
tui-0.19.0
typed-arena-1.7.0
typenum-1.15.0
typetag-0.1.8
typetag-impl-0.1.8
ucd-trie-0.1.5
umask-2.0.0
uncased-0.9.7
unicase-2.6.0
unicode-bidi-0.3.8
unicode-ident-1.0.4
unicode-linebreak-0.1.4
unicode-normalization-0.1.22
unicode-segmentation-1.10.0
unicode-width-0.1.10
unicode-xid-0.2.4
unsafe-libyaml-0.2.4
url-2.3.1
users-0.10.0
users-0.11.0
utf-8-0.7.6
utf8-width-0.1.6
utf8parse-0.2.0
uuid-1.1.2
value-trait-0.4.0
vcell-0.1.3
vcpkg-0.2.15
version_check-0.9.4
void-1.0.2
volatile-register-0.2.1
vte-0.10.1
vte_generate_state_changes-0.1.1
wait-timeout-0.2.0
walkdir-2.3.2
want-0.3.0
wasi-0.9.0+wasi-snapshot-preview1
wasi-0.10.0+wasi-snapshot-preview1
wasi-0.11.0+wasi-snapshot-preview1
wasm-bindgen-0.2.83
wasm-bindgen-backend-0.2.83
wasm-bindgen-futures-0.4.33
wasm-bindgen-macro-0.2.83
wasm-bindgen-macro-support-0.2.83
wasm-bindgen-shared-0.2.83
wax-0.5.0
web-sys-0.3.60
which-4.3.0
winapi-0.2.8
winapi-0.3.9
winapi-build-0.1.1
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
windows-0.43.0
windows-sys-0.36.1
windows-sys-0.42.0
windows_aarch64_gnullvm-0.42.0
windows_aarch64_msvc-0.36.1
windows_aarch64_msvc-0.42.0
windows_i686_gnu-0.36.1
windows_i686_gnu-0.42.0
windows_i686_msvc-0.36.1
windows_i686_msvc-0.42.0
windows_x86_64_gnu-0.36.1
windows_x86_64_gnu-0.42.0
windows_x86_64_gnullvm-0.42.0
windows_x86_64_msvc-0.36.1
windows_x86_64_msvc-0.42.0
winreg-0.10.1
winres-0.1.12
ws2_32-sys-0.2.1
xmlparser-0.13.5
yansi-0.5.1
zip-0.6.3
zstd-0.11.2+zstd.1.5.2
zstd-safe-5.0.2+zstd.1.5.2
zstd-sys-2.0.1+zstd.1.5.2
"
inherit cargo
DESCRIPTION="A new type of shell, written in Rust"
HOMEPAGE="https://www.nushell.sh/"
SRC_URI="https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris)"
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unlicense ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
IUSE="dataframe"
DEPEND="
>=dev-libs/libgit2-0.99:=
dev-libs/oniguruma:=
dev-libs/openssl:0=
net-libs/libssh2:=
net-libs/nghttp2:=
net-misc/curl
dev-db/sqlite:3=
x11-libs/libX11
x11-libs/libxcb
"
RDEPEND="${DEPEND}"
BDEPEND="
>=virtual/rust-1.60
virtual/pkgconfig
"
RESTRICT+=" test"
QA_FLAGS_IGNORED="usr/bin/nu.*"
src_prepare() {
default
}
src_configure() {
# high magic to allow system-libs
export OPENSSL_NO_VENDOR=true
export RUSTONIG_SYSTEM_LIBONIG=1
export LIBGIT2_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export PKG_CONFIG_ALLOW_CROSS=1
local myfeatures=(
stable
$(usev dataframe)
)
cargo_src_configure
}
src_compile() {
cargo_src_compile --workspace
}
src_test() {
cargo_src_test
}
src_install() {
cargo_src_install
local DOCS=( README.md docs/. )
einstalldocs
}

@ -0,0 +1,664 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.4
EAPI=8
CRATES="
Inflector-0.11.4
adler-1.0.2
ahash-0.7.6
ahash-0.8.3
aho-corasick-1.0.1
alloc-no-stdlib-2.0.4
alloc-stdlib-0.2.2
alphanumeric-sort-1.5.1
android_system_properties-0.1.5
anes-0.1.6
ansi-str-0.7.2
ansi-str-0.8.0
ansitok-0.2.0
anstyle-1.0.0
argminmax-0.6.1
array-init-cursor-0.2.0
arrayvec-0.5.2
arrayvec-0.7.2
arrow-format-0.8.1
arrow2-0.17.2
assert-json-diff-2.0.2
assert_cmd-2.0.11
async-stream-0.3.5
async-stream-impl-0.3.5
async-trait-0.1.68
atoi-2.0.0
atomic-polyfill-0.1.11
atty-0.2.14
autocfg-1.1.0
base64-0.13.1
base64-0.21.2
bincode-1.3.3
bindgen-0.64.0
bit-set-0.5.3
bit-vec-0.6.3
bitflags-1.3.2
bitflags-2.3.1
block-buffer-0.10.4
brotli-3.3.4
brotli-decompressor-2.3.4
brownstone-3.0.0
bstr-0.2.17
bstr-1.5.0
bumpalo-3.13.0
byte-unit-4.0.19
bytecount-0.6.3
bytemuck-1.13.1
bytemuck_derive-1.4.1
byteorder-1.4.3
bytes-1.4.0
bytesize-1.2.0
calamine-0.19.1
cassowary-0.3.0
cast-0.3.0
cc-1.0.79
cexpr-0.6.0
cfg-if-0.1.10
cfg-if-1.0.0
chrono-0.4.24
chrono-humanize-0.2.2
chrono-tz-0.8.2
chrono-tz-build-0.1.0
ciborium-0.2.1
ciborium-io-0.2.1
ciborium-ll-0.2.1
clang-sys-1.6.1
clap-4.3.2
clap_builder-4.3.1
clap_lex-0.5.0
codepage-0.1.1
colored-2.0.0
comfy-table-6.1.4
console-0.15.7
const-random-0.1.15
const-random-macro-0.1.15
const_format-0.2.30
const_format_proc_macros-0.2.29
convert_case-0.4.0
core-foundation-0.9.3
core-foundation-sys-0.8.4
cpufeatures-0.2.7
crc32fast-1.3.2
criterion-0.5.1
criterion-plot-0.5.0
critical-section-1.1.1
crossbeam-channel-0.5.8
crossbeam-deque-0.8.3
crossbeam-epoch-0.9.14
crossbeam-utils-0.8.15
crossterm-0.25.0
crossterm-0.26.1
crossterm_winapi-0.9.0
crunchy-0.2.2
crypto-common-0.1.6
cssparser-0.29.6
cssparser-macros-0.6.0
csv-1.2.1
csv-core-0.1.10
ctor-0.1.26
ctrlc-3.4.0
dashmap-5.4.0
derive_more-0.99.17
dialoguer-0.10.4
diff-0.1.13
difflib-0.4.0
digest-0.10.7
dirs-next-2.0.0
dirs-sys-next-0.1.2
dlv-list-0.5.0
doc-comment-0.3.3
dtoa-0.4.8
dtoa-short-0.3.3
dtparse-1.5.0
dyn-clone-1.0.11
ego-tree-0.6.2
either-1.8.1
eml-parser-0.1.3
encode_unicode-0.3.6
encoding_rs-0.8.32
enum_dispatch-0.3.11
env_logger-0.8.4
erased-serde-0.3.25
errno-0.2.8
errno-0.3.1
errno-dragonfly-0.1.2
ethnum-1.3.2
fallible-iterator-0.2.0
fallible-streaming-iterator-0.1.9
fancy-regex-0.11.0
fast-float-0.2.0
fastrand-1.9.0
fd-lock-3.0.12
filesize-0.2.0
filetime-0.2.21
flate2-1.0.26
float-cmp-0.9.0
fnv-1.0.7
foreign-types-0.3.2
foreign-types-shared-0.1.1
foreign_vec-0.1.0
form_urlencoded-1.1.0
fs_extra-1.3.0
fsevent-0.4.0
fsevent-sys-2.0.1
fuchsia-zircon-0.3.3
fuchsia-zircon-sys-0.3.3
futf-0.1.5
futures-0.3.28
futures-channel-0.3.28
futures-core-0.3.28
futures-executor-0.3.28
futures-io-0.3.28
futures-macro-0.3.28
futures-sink-0.3.28
futures-task-0.3.28
futures-util-0.3.28
fuzzy-matcher-0.3.7
fxhash-0.2.1
generic-array-0.14.7
getrandom-0.1.16
getrandom-0.2.9
getset-0.1.2
ghost-0.1.9
git2-0.17.1
gjson-0.8.1
glob-0.3.1
h2-0.3.19
half-1.8.2
halfbrown-0.2.2
hamcrest2-0.3.0
hash32-0.2.1
hash_hasher-2.0.3
hashbrown-0.12.3
hashbrown-0.13.2
hashlink-0.8.2
heapless-0.7.16
heck-0.4.1
hermit-abi-0.1.19
hermit-abi-0.2.6
hermit-abi-0.3.1
hex-0.4.3
home-0.5.5
html5ever-0.26.0
htmlescape-0.3.1
http-0.2.9
http-body-0.4.5
httparse-1.8.0
httpdate-1.0.2
hyper-0.14.26
iana-time-zone-0.1.56
iana-time-zone-haiku-0.1.2
ical-0.8.0
idna-0.3.0
indent_write-2.2.0
indexmap-1.9.3
indicatif-0.17.3
inotify-0.7.1
inotify-sys-0.1.5
instant-0.1.12
inventory-0.3.6
io-lifetimes-1.0.11
iovec-0.1.4
is-docker-0.2.0
is-root-0.1.2
is-terminal-0.4.7
is-wsl-0.4.0
is_ci-1.1.1
is_debug-1.0.1
is_executable-1.0.1
itertools-0.10.5
itoa-1.0.6
jobserver-0.1.26
joinery-2.1.0
js-sys-0.3.63
kernel32-sys-0.2.2
lazy_static-1.4.0
lazycell-1.3.0
lexical-6.1.1
lexical-core-0.8.5
lexical-parse-float-0.8.5
lexical-parse-integer-0.8.6
lexical-util-0.8.5
lexical-write-float-0.8.5
lexical-write-integer-0.8.5
libc-0.2.144
libgit2-sys-0.15.1+1.6.4
libloading-0.7.4
libm-0.2.7
libmimalloc-sys-0.1.33
libproc-0.13.0
libsqlite3-sys-0.26.0
libssh2-sys-0.3.0
libz-sys-1.1.9
linked-hash-map-0.5.6
linux-raw-sys-0.1.4
linux-raw-sys-0.3.8
lock_api-0.4.9
log-0.4.17
lru-0.10.0
lscolors-0.14.0
lz4-1.24.0
lz4-sys-1.9.4
mac-0.1.1
mach2-0.4.1
malloc_buf-0.0.6
markup5ever-0.11.0
matches-0.1.10
md-5-0.10.5
memchr-2.5.0
memmap2-0.5.10
memoffset-0.8.0
miette-5.9.0
miette-derive-5.9.0
mimalloc-0.1.37
mime-0.3.17
mime_guess-2.0.4
minimal-lexical-0.2.1
miniz_oxide-0.7.1
mio-0.6.23
mio-0.8.6
mio-extras-2.0.6
miow-0.2.2
mockito-1.1.0
multiversion-0.7.2
multiversion-macros-0.7.2
native-tls-0.2.11
net2-0.2.38
new_debug_unreachable-1.0.4
nix-0.26.2
nodrop-0.1.14
nom-7.1.3
nom-supreme-0.8.0
notify-4.0.17
now-0.1.3
ntapi-0.4.1
nu-ansi-term-0.47.0
num-0.2.1
num-0.4.0
num-bigint-0.2.6
num-bigint-0.4.3
num-complex-0.2.4
num-complex-0.4.3
num-format-0.4.4
num-integer-0.1.45
num-iter-0.1.43
num-rational-0.2.4
num-rational-0.4.1
num-traits-0.2.15
num_cpus-1.15.0
num_threads-0.1.6
number_prefix-0.4.0
objc-0.2.7
omnipath-0.1.6
once_cell-1.18.0
oorandom-11.1.3
open-4.1.0
openssl-0.10.55
openssl-macros-0.1.1
openssl-probe-0.1.5
openssl-src-111.25.3+1.1.1t
openssl-sys-0.9.90
ordered-multimap-0.6.0
os_pipe-1.1.4
output_vt100-0.1.3
owo-colors-3.5.0
papergrid-0.9.0
parking_lot-0.11.2
parking_lot-0.12.1
parking_lot_core-0.8.6
parking_lot_core-0.9.7
parquet-format-safe-0.2.4
parquet2-0.17.2
parse-zoneinfo-0.3.0
paste-1.0.12
pathdiff-0.2.1
peeking_take_while-0.1.2
percent-encoding-2.3.0
peresil-0.3.0
phf-0.8.0
phf-0.10.1
phf-0.11.1
phf_codegen-0.8.0
phf_codegen-0.10.0
phf_codegen-0.11.1
phf_generator-0.8.0
phf_generator-0.10.0
phf_generator-0.11.1
phf_macros-0.10.0
phf_shared-0.8.0
phf_shared-0.10.0
phf_shared-0.11.1
pin-project-lite-0.2.9
pin-utils-0.1.0
pkg-config-0.3.27
planus-0.3.1
plotters-0.3.4
plotters-backend-0.3.4
plotters-svg-0.3.3
polars-0.30.0
polars-arrow-0.30.0
polars-core-0.30.0
polars-error-0.30.0
polars-io-0.30.0
polars-json-0.30.0
polars-lazy-0.30.0
polars-ops-0.30.0
polars-pipe-0.30.0
polars-plan-0.30.0
polars-row-0.30.0
polars-sql-0.30.0
polars-time-0.30.0
polars-utils-0.30.0
pori-0.0.0
portable-atomic-0.3.20
portable-atomic-1.3.2
powierza-coefficient-1.0.2
ppv-lite86-0.2.17
precomputed-hash-0.1.1
predicates-3.0.3
predicates-core-1.0.6
predicates-tree-1.0.9
pretty_assertions-1.3.0
print-positions-0.6.1
proc-macro-error-1.0.4
proc-macro-error-attr-1.0.4
proc-macro-hack-0.5.20+deprecated
proc-macro2-1.0.59
procfs-0.15.1
pure-rust-locales-0.5.6
pwd-1.4.0
quick-error-1.2.3
quick-xml-0.25.0
quick-xml-0.29.0
quickcheck-1.0.3
quickcheck_macros-1.0.0
quote-1.0.28
rand-0.7.3
rand-0.8.5
rand_chacha-0.2.2
rand_chacha-0.3.1
rand_core-0.5.1
rand_core-0.6.4
rand_distr-0.4.3
rand_hc-0.2.0
rand_pcg-0.2.1
ratatui-0.20.1
rayon-1.7.0
rayon-core-1.11.0
redox_syscall-0.2.16
redox_syscall-0.3.5
redox_users-0.4.3
reedline-0.21.0
regex-1.8.3
regex-automata-0.1.10
regex-syntax-0.6.29
regex-syntax-0.7.2
rmp-0.8.11
rmp-serde-1.1.1
roxmltree-0.18.0
rstest-0.17.0
rstest_macros-0.17.0
rusqlite-0.29.0
rust-embed-6.6.1
rust-embed-impl-6.5.0
rust-embed-utils-7.5.0
rust-ini-0.19.0
rust_decimal-1.29.1
rustc-hash-1.1.0
rustc_version-0.4.0
rustix-0.36.14
rustix-0.37.19
rustversion-1.0.12
ryu-1.0.13
same-file-1.0.6
schannel-0.1.21
scopeguard-1.1.0
scraper-0.16.0
security-framework-2.9.1
security-framework-sys-2.9.0
selectors-0.24.0
semver-1.0.17
seq-macro-0.3.3
serde-1.0.163
serde_derive-1.0.163
serde_json-1.0.96
serde_spanned-0.6.2
serde_urlencoded-0.7.1
serde_yaml-0.9.21
serial_test-2.0.0
serial_test_derive-2.0.0
servo_arc-0.2.0
sha2-0.10.6
shadow-rs-0.23.0
shell-words-1.1.0
shlex-1.1.0
signal-hook-0.3.15
signal-hook-mio-0.2.3
signal-hook-registry-1.4.1
simd-json-0.10.3
simdutf8-0.1.4
similar-2.2.1
simplelog-0.12.1
siphasher-0.3.10
slab-0.4.8
smallvec-1.10.0
smartstring-1.0.1
smawk-0.3.1
snap-1.1.0
socket2-0.4.9
spin-0.9.8
sqlparser-0.33.0
sqlparser-0.34.0
stable_deref_trait-1.2.0
static_assertions-1.1.0
streaming-decompression-0.1.2
streaming-iterator-0.1.9
strength_reduce-0.2.4
string_cache-0.8.7
string_cache_codegen-0.5.2
strip-ansi-escapes-0.1.1
strum-0.24.1
strum_macros-0.24.3
supports-color-2.0.0
supports-hyperlinks-2.1.0
supports-unicode-2.0.0
sxd-document-0.3.2
sxd-xpath-0.4.2
syn-1.0.109
syn-2.0.17
sys-locale-0.3.0
sysinfo-0.29.0
tabled-0.12.2
target-features-0.1.4
tempfile-3.5.0
tendril-0.4.3
termcolor-1.1.3
terminal_size-0.1.17
terminal_size-0.2.6
termtree-0.4.1
textwrap-0.15.2
thiserror-1.0.40
thiserror-impl-1.0.40
thread_local-1.1.7
time-0.1.45
time-0.3.21
time-core-0.1.1
time-macros-0.2.9
tiny-keccak-2.0.2
tinytemplate-1.2.1
tinyvec-1.6.0
tinyvec_macros-0.1.1
titlecase-2.2.1
tokio-1.28.1
tokio-macros-2.1.0
tokio-util-0.7.8
toml-0.7.4
toml_datetime-0.6.2
toml_edit-0.19.10
tower-service-0.3.2
tracing-0.1.37
tracing-core-0.1.31
trash-3.0.2
try-lock-0.2.4
typed-arena-1.7.0
typenum-1.16.0
typetag-0.2.8
typetag-impl-0.2.8
umask-2.1.0
unicase-2.6.0
unicode-bidi-0.3.13
unicode-ident-1.0.9
unicode-linebreak-0.1.4
unicode-normalization-0.1.22
unicode-segmentation-1.10.1
unicode-width-0.1.10
unicode-xid-0.2.4
unsafe-libyaml-0.2.8
ureq-2.6.2
url-2.3.1
users-0.10.0
users-0.11.0
utf-8-0.7.6
utf8-width-0.1.6
utf8parse-0.2.1
uuid-1.3.3
value-trait-0.6.1
vcpkg-0.2.15
version_check-0.9.4
vte-0.10.1
vte_generate_state_changes-0.1.1
wait-timeout-0.2.0
walkdir-2.3.3
want-0.3.0
wasi-0.9.0+wasi-snapshot-preview1
wasi-0.10.0+wasi-snapshot-preview1
wasi-0.11.0+wasi-snapshot-preview1
wasm-bindgen-0.2.86
wasm-bindgen-backend-0.2.86
wasm-bindgen-futures-0.4.36
wasm-bindgen-macro-0.2.86
wasm-bindgen-macro-support-0.2.86
wasm-bindgen-shared-0.2.86
wasm-timer-0.2.5
wax-0.5.0
web-sys-0.3.63
which-4.4.0
winapi-0.2.8
winapi-0.3.9
winapi-build-0.1.1
winapi-i686-pc-windows-gnu-0.4.0
winapi-util-0.1.5
winapi-x86_64-pc-windows-gnu-0.4.0
windows-0.44.0
windows-0.48.0
windows-sys-0.42.0
windows-sys-0.45.0
windows-sys-0.48.0
windows-targets-0.42.2
windows-targets-0.48.0
windows_aarch64_gnullvm-0.42.2
windows_aarch64_gnullvm-0.48.0
windows_aarch64_msvc-0.42.2
windows_aarch64_msvc-0.48.0
windows_i686_gnu-0.42.2
windows_i686_gnu-0.48.0
windows_i686_msvc-0.42.2
windows_i686_msvc-0.48.0
windows_x86_64_gnu-0.42.2
windows_x86_64_gnu-0.48.0
windows_x86_64_gnullvm-0.42.2
windows_x86_64_gnullvm-0.48.0
windows_x86_64_msvc-0.42.2
windows_x86_64_msvc-0.48.0
winnow-0.4.6
winreg-0.50.0
winresource-0.1.15
ws2_32-sys-0.2.1
xmlparser-0.13.5
xxhash-rust-0.8.6
yansi-0.5.1
zip-0.6.6
zstd-0.12.3+zstd.1.5.2
zstd-safe-6.0.5+zstd.1.5.4
zstd-sys-2.0.8+zstd.1.5.5
"
inherit cargo
DESCRIPTION="A new type of shell, written in Rust"
HOMEPAGE="https://www.nushell.sh"
SRC_URI="
https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris)
"
LICENSE="MIT"
# Dependent crate licenses
LICENSE+="
Apache-2.0 BSD-2 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0
Unicode-DFS-2016 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
IUSE="dataframe extra"
DEPEND="
>=dev-libs/libgit2-0.99:=
dev-libs/oniguruma:=
dev-libs/openssl:0=
net-libs/libssh2:=
net-libs/nghttp2:=
net-misc/curl
dev-db/sqlite:3=
x11-libs/libX11
x11-libs/libxcb
"
RDEPEND="${DEPEND}"
BDEPEND="
>=virtual/rust-1.60
virtual/pkgconfig
"
RESTRICT+=" test"
QA_FLAGS_IGNORED="usr/bin/nu.*"
src_prepare() {
default
}
src_configure() {
# high magic to allow system-libs
export OPENSSL_NO_VENDOR=true
export RUSTONIG_SYSTEM_LIBONIG=1
export LIBGIT2_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export PKG_CONFIG_ALLOW_CROSS=1
local myfeatures=(
stable
$(usev dataframe)
$(usev extra)
)
cargo_src_configure
}
src_compile() {
cargo_src_compile --workspace
}
src_install() {
cargo_src_install
local DOCS=( README.md )
einstalldocs
}

@ -380,7 +380,7 @@ CRATES="
zvariant_derive-3.10.0
"
inherit cargo flag-o-matic
inherit cargo
DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell"
HOMEPAGE="https://starship.rs/"
@ -404,9 +404,6 @@ PATCHES=(
QA_FLAGS_IGNORED="usr/bin/starship"
src_configure() {
# See https://bugs.gentoo.org/869758
filter-lto
export PKG_CONFIG_ALLOW_CROSS=1
export OPENSSL_NO_VENDOR=true

@ -382,7 +382,7 @@ CRATES="
zvariant_utils-1.0.0
"
inherit cargo flag-o-matic
inherit cargo
DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell"
HOMEPAGE="https://starship.rs/"
@ -407,9 +407,6 @@ PATCHES=(
QA_FLAGS_IGNORED="usr/bin/starship"
src_configure() {
# See https://bugs.gentoo.org/869758
filter-lto
export PKG_CONFIG_ALLOW_CROSS=1
export OPENSSL_NO_VENDOR=true

Binary file not shown.

@ -0,0 +1,25 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
MY_PV=$(ver_rs 2 '-')
DESCRIPTION="A python3 CLI utility to interface with cpy.pt paste service"
HOMEPAGE="https://github.com/lbatalha/capyt
https://pypi.org/project/capyt/"
SRC_URI="https://github.com/lbatalha/capyt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="dev-python/requests[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]"
S="${WORKDIR}/${PN}-${MY_PV}"

@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Evince"
LICENSE="GPL-2+ CC-BY-SA-3.0"
# subslot = evd3.(suffix of libevdocument3)-evv3.(suffix of libevview3)
SLOT="0/evd3.4-evv3.3"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
IUSE="cups djvu dvi gstreamer gnome keyring gtk-doc +introspection nautilus postscript spell tiff xps"
REQUIRED_USE="gtk-doc? ( introspection )"

@ -0,0 +1,58 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="libe-book-${PV}"
inherit autotools
DESCRIPTION="Library parsing various ebook formats"
HOMEPAGE="https://sourceforge.net/projects/libebook/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
S="${WORKDIR}/${MY_P}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="doc test tools"
RESTRICT="!test? ( test )"
RDEPEND="
app-text/liblangtag
dev-libs/icu:=
dev-libs/librevenge
dev-libs/libxml2
sys-libs/zlib
"
DEPEND="${RDEPEND}
dev-libs/boost
dev-util/gperf
"
BDEPEND="
virtual/pkgconfig
doc? ( app-doc/doxygen )
test? ( dev-util/cppunit )
"
PATCHES=( "${FILESDIR}/${P}-icu-68.patch" )
src_prepare() {
default
eautoreconf
}
src_configure() {
local myeconfargs=(
--disable-werror
$(use_with doc docs)
$(use_enable test tests)
$(use_with tools)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${D}" -name '*.la' -type f -delete || die
}

@ -6,3 +6,5 @@ DIST qpdf-11.3.0-doc.zip 6781831 BLAKE2B 0b494ff62e197a60d82a170a27816676dc465d1
DIST qpdf-11.3.0.tar.gz 18732977 BLAKE2B 80dd2a96f3b82b9e530f26c72cd24cd3b111e2e1cbe821b12af13807e8d54fbc7f5632130f5cbd03df1b7c70de3c94a7e889d4ea4f1a3670a28f726364564b16 SHA512 1c8a0b62d50efb4c09885f36244048797dea44f28917aefe0266e2b158858ea19d477bbc445abbd3b7180a3de56d6a819ff44275cdc0979827effba9739b53d2
DIST qpdf-11.4.0-doc.zip 6854262 BLAKE2B 58b55287fbef37beae452803db409e163f3fcf4fb32e2b154cd815452192550217e63771a5be39a43e6425f558a1064bc2257c24c90b842029eb373dfd865223 SHA512 25aab31b8481034bba876411eab2034375a9ffed97666c221b211400b1a7e60cfc11b5237406733058fbbbd2412baad7aa6029ad4303d0ddd879f6d7aff3b2b0
DIST qpdf-11.4.0.tar.gz 18643945 BLAKE2B cde1c4db4c51733fe71a7e46fc271817825b5a56ce81053edf0f886eabdf13bce55308dd36ebf9b5067dcf173f371135bbc651253a7df214b9863c2b62cdde8f SHA512 6f31a37a9a52752c89d319e0d29d8e6c1e4885ca494de47a65f9374cdb5672497ab93f754481300c8e6c68fc2874860997b778dc05386b6f3e6a5a70a3f9f754
DIST qpdf-11.5.0-doc.zip 6858454 BLAKE2B bd1e7f974eb2b0e22395216a1e3d55b18b1140c2210b230e5382934e5465314f8c73db5e24b8daf2478b89d94eba6214452be5f9f1ec4eb06fe6f5b254742caf SHA512 263fa79a9a1d14086787adf8ce2cfb1e951f504cb214a9c4b44e261a72e715a33e03dc3084a8aaa76e0b068ac0fe5905c6a1ec99e52e962c1589f1f4d0e6f678
DIST qpdf-11.5.0.tar.gz 18638138 BLAKE2B 54545665a31cf0cbfc50faa18f1dc64f036cd5bfd2b274ff443718e704e26f3a8cf83600f9dd7d8039cf4bdcaf42e1c14f03db775226b56c8ba53be33e0ca522 SHA512 3c8504de11c34e7d623b829c0c987ba5555c2bdcfdd5d4408d29f321fd79154ec2d6fa76f45556046dfc931b51bd75e3062973c36c8020383acacbe56c90e04c

@ -0,0 +1,75 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake bash-completion-r1
DESCRIPTION="Command-line tool for structural, content-preserving transformation of PDF files"
HOMEPAGE="https://qpdf.sourceforge.net/"
# TODO: verify-sig
SRC_URI="https://github.com/qpdf/qpdf/releases/download/v${PV}/${P}.tar.gz"
SRC_URI+=" doc? ( https://github.com/qpdf/qpdf/releases/download/v${PV}/${P}-doc.zip )"
LICENSE="|| ( Apache-2.0 Artistic-2 )"
# Subslot for libqpdf soname version (just represent via major version)
SLOT="0/$(ver_cut 1)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples gnutls ssl test"
RESTRICT="!test? ( test )"
RDEPEND="
media-libs/libjpeg-turbo:=
sys-libs/zlib
ssl? (
gnutls? ( net-libs/gnutls:= )
!gnutls? ( dev-libs/openssl:= )
)
"
DEPEND="
${RDEPEND}
test? (
app-text/ghostscript-gpl[tiff(+)]
media-libs/tiff
sys-apps/diffutils
)
"
BDEPEND="
dev-lang/perl
doc? ( app-arch/unzip )
"
src_configure() {
# Keep an eye on https://qpdf.readthedocs.io/en/stable/packaging.html.
local mycmakeargs=(
-DINSTALL_EXAMPLES=$(usex examples)
# Breaks install with USE=-doc in 11.0.0?
#-DINSTALL_MANUAL=ON
)
if use ssl ; then
local crypto_provider=$(usex gnutls GNUTLS OPENSSL)
local crypto_provider_lowercase=${crypto_provider,,}
mycmakeargs+=(
-DDEFAULT_CRYPTO=${crypto_provider_lowercase}
-DREQUIRE_CRYPTO_${crypto_provider}=ON
)
fi
cmake_src_configure
}
src_install() {
if use doc ; then
mv "${WORKDIR}"/${P}-doc "${BUILD_DIR}"/manual/doc-dist || die
fi
cmake_src_install
# Completions
dobashcomp completions/bash/qpdf
insinto /usr/share/zsh/site-functions
doins completions/zsh/_qpdf
}

Binary file not shown.

@ -1,2 +1,3 @@
DIST benchmark-1.7.1.tar.gz 196575 BLAKE2B 05a0ae69c0eee231b5d3c06d474c89680e4a2dfaae2ac0ffa1777cf011907cce6230648bfdb631008c2aa10f01b55652f58949849714d6333c5a0351ef42e567 SHA512 396af1c1d3eaa2b78c6d23b1472f6088db85a294056ae1c2366dc5c0becdc8f141ba8fc3a235033324ab0a41c2298f5d242ef09b9b6f69d9877de6bcb2062efd
DIST benchmark-1.8.0.tar.gz 204701 BLAKE2B d4a2b673152c784efef118b7c5e2971a7f7749b2bbb3b5eb09d1567261853a3e85983e82bbb3a470be72204581a2d031b194cb92d4386e120ffaab71c8a58f6b SHA512 ae8df163ca1319752a03497a259800dc33c71164e7def2feeadcf18d018c64eaf846ea2a562183e3d3cde0af58291de0b091ec6d9c025076f469c403b2ab0d51
DIST benchmark-1.8.2.tar.gz 205926 BLAKE2B b39ee0c983e1b7417c54878507e692d9bc04d83da91c8059ae08373fc59286f28b8910d1d5ea425b0c512502de0aee51b10b1b191bac3ec29ec5f9ffc9056d64 SHA512 532f2cee66cf527ef4452a060cfdedba6417e5d8f72225d6bf50adf6422d9a769b0f54f48982b438fa9ced975ac47bcc5e62c3c23ce871b5cfdbcf9cc0d2b829

@ -0,0 +1,36 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic
DESCRIPTION="A microbenchmark support library"
HOMEPAGE="https://github.com/google/benchmark"
SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="debug doc lto test"
RESTRICT="!test? ( test )"
BDEPEND="doc? ( app-doc/doxygen )
test? ( >=dev-cpp/gtest-1.11.0 )"
src_configure() {
local mycmakeargs=(
-DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF
-DBENCHMARK_ENABLE_DOXYGEN=$(usex doc)
-DBENCHMARK_ENABLE_GTEST_TESTS=$(usex test)
-DBENCHMARK_ENABLE_LTO=$(usex lto)
-DBENCHMARK_ENABLE_TESTING=$(usex test)
-DBENCHMARK_ENABLE_WERROR=OFF
-DBENCHMARK_USE_BUNDLED_GTEST=OFF
)
use debug || append-cppflags -DNDEBUG
cmake_src_configure
}

@ -1,3 +1,4 @@
DIST cpp-httplib-0.12.3.tar.gz 639107 BLAKE2B 15db0056069cbda5359c6279ebc84520039e809f32cd8314c180dd761324a76fccaae0e80f39d0b69563903bd667799425c7e85708962b2763416a3c8bbd09bb SHA512 3465e5c843ad4087bababadf8fe9f3e6961213301540053bb47f242f958280f43c85b03b8cf6f955a6b91bf9511a81669feeb9989344caf2a1e42ff587b3a460
DIST cpp-httplib-0.12.6.tar.gz 641145 BLAKE2B 56a1a9c2d048a608664cce1ea3737d8633d6dbc124b4a5b2b5a33f81d678efdd2b8b0c79fb88c23dd861f1c6264eddba32349740142e3765d61f811dd50d9909 SHA512 63f0172bb7f4b02f3640634f25801bc1e34d85f53c9915e6402d825891793de26faa7551dff88a44c23af39e3592b7863454d9c070b5bd0e546cb987bca14885
DIST cpp-httplib-0.13.0.tar.gz 644021 BLAKE2B 9ed1d49819662dbb6af04c4ab8b1d1cfa68db07d5b147f64c8c20a6a61f61490f518d9c8e405f867a130f0b455e530582ec9685deaadfd4b9f34790becf6495f SHA512 8d91fe1f2780d2330112ebb3f3d3c6ac6526e8cb04902e15edefe6121d588495519551007c3c134e0d16f71460cba1680860e229b2318f8725ce651027a68a9a
DIST cpp-httplib-0.13.1.tar.gz 644015 BLAKE2B 99a9f58885c6313f18a459987c64ab2cdcca33238997117299016bb5a86e83383e24d01519ede831730fdad6ed8bec0fe0196cac5b53f680721e77883952aefa SHA512 4a70ebafd0920116a78ea18982606f0bec396e5cdcea9ba583c1da4fd77fa45c5bf30a6ac14eeee9424f3e445a882a560345d731a7113ab4e7dff88f4ef0a436

@ -0,0 +1,50 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib python-any-r1 toolchain-funcs
DESCRIPTION="C++ HTTP/HTTPS server and client library"
HOMEPAGE="https://github.com/yhirose/cpp-httplib/"
SRC_URI="https://github.com/yhirose/cpp-httplib/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)" # soversion
KEYWORDS="~amd64 ~loong ~x86"
IUSE="brotli ssl test zlib"
REQUIRED_USE="test? ( brotli ssl zlib )"
RESTRICT="!test? ( test )"
RDEPEND="
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
ssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
BDEPEND="${PYTHON_DEPS}"
src_configure() {
local -a mycmakeargs=(
-DHTTPLIB_COMPILE=yes
-DBUILD_SHARED_LIBS=yes
-DHTTPLIB_USE_BROTLI_IF_AVAILABLE=no
-DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=no
-DHTTPLIB_USE_ZLIB_IF_AVAILABLE=no
-DHTTPLIB_REQUIRE_BROTLI=$(usex brotli)
-DHTTPLIB_REQUIRE_OPENSSL=$(usex ssl)
-DHTTPLIB_REQUIRE_ZLIB=$(usex zlib)
-DPython3_EXECUTABLE="${PYTHON}"
)
cmake-multilib_src_configure
}
multilib_src_test() {
cp -p -R --reflink=auto "${S}/test" ./test || die
GTEST_FILTER='-*.*_Online' emake -C test "CXX=$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -I."
}

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

Loading…
Cancel
Save