parent
b58b7027e0
commit
0da360c14f
Binary file not shown.
Binary file not shown.
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 multiprocessing
|
||||
|
||||
MY_P=aws-cli-${PV}
|
||||
DESCRIPTION="Universal Command Line Environment for AWS"
|
||||
HOMEPAGE="
|
||||
https://github.com/aws/aws-cli/
|
||||
https://pypi.org/project/awscli/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
# botocore is x.(y+2).z
|
||||
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
|
||||
RDEPEND="
|
||||
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
!app-admin/awscli-bin
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/pytest-forked[${PYTHON_USEDEP}]
|
||||
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
# do not rely on bundled deps in botocore (sic!)
|
||||
find -name '*.py' -exec sed -i \
|
||||
-e 's:from botocore[.]vendored import:import:' \
|
||||
-e 's:from botocore[.]vendored[.]:from :' \
|
||||
{} + || die
|
||||
# strip overzealous upper bounds on requirements
|
||||
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
|
||||
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
|
||||
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
|
||||
)
|
||||
|
||||
# integration tests require AWS credentials and Internet access
|
||||
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
newbashcomp bin/aws_bash_completer aws
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins bin/aws_zsh_completer.sh _aws
|
||||
|
||||
distutils-r1_python_install_all
|
||||
|
||||
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
|
||||
}
|
@ -1,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
|
@ -0,0 +1,286 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit pam libtool tmpfiles toolchain-funcs
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/sudo.ws.asc
|
||||
inherit verify-sig
|
||||
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="
|
||||
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz
|
||||
verify-sig? (
|
||||
https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz.sig
|
||||
)
|
||||
"
|
||||
|
||||
if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-sudo )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
virtual/libcrypt:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1:=
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap:=[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND+="
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
?? ( pam skey )
|
||||
?? ( gcrypt ssl )
|
||||
"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# First extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env; echo "${ROOTPATH}")
|
||||
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*)
|
||||
;;
|
||||
*)
|
||||
SECURE_PATH=$(unset PATH; . "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# Then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# Finally, strip gcc paths, bug #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do
|
||||
[[ ${thisp} == ${e} ]] && continue 2 ;
|
||||
done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
|
||||
set_secure_path
|
||||
|
||||
# bug #767712
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
# - audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# - plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
local myeconfargs=(
|
||||
# We set all of the relevant options by ourselves (patched
|
||||
# into the toolchain) and setting these in the build system
|
||||
# actually causes a downgrade when using e.g. -D_FORTIFY_SOURCE=3
|
||||
# (it'll downgrade to =2). So, this has no functional effect on
|
||||
# the hardening for users. It's safe.
|
||||
--disable-hardening
|
||||
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP.md
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP.md for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins docs/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
if use pam ; then
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
fi
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
# bug #652958
|
||||
fperms 0711 /var/db/sudo
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
# bug #697812
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
# bug #652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the ${ROOT}/etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in ${ROOT}/etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your ${ROOT}/etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo on Prefix, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
@ -1,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,142 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit desktop perl-functions python-single-r1 xdg-utils
|
||||
|
||||
MY_PV_KDE="0.19"
|
||||
MY_PV_NAUTILUS="6.14"
|
||||
MY_PV_NEMO="0.05"
|
||||
MY_PV_THUNAR="0.07"
|
||||
|
||||
DESCRIPTION="A graphical front-end for ClamAV"
|
||||
HOMEPAGE="https://gitlab.com/dave_m/clamtk/wikis/Home"
|
||||
SRC_URI="
|
||||
https://github.com/dave-theunsub/${PN}/releases/download/v${PV}/${P}.tar.xz
|
||||
kde? ( https://github.com/dave-theunsub/${PN}-kde/releases/download/v${MY_PV_KDE}/${PN}-kde-${MY_PV_KDE}.tar.xz )
|
||||
nautilus? ( https://github.com/dave-theunsub/${PN}-gnome/releases/download/v${MY_PV_NAUTILUS}/${PN}-gnome-${MY_PV_NAUTILUS}.tar.xz )
|
||||
nemo? ( https://github.com/dave-theunsub/nemo-sendto-${PN}/releases/download/v${MY_PV_NEMO}/nemo-sendto-${PN}-${MY_PV_NEMO}.tar.xz )
|
||||
thunar? ( https://github.com/dave-theunsub/thunar-sendto-${PN}/releases/download/v${MY_PV_THUNAR}/thunar-sendto-${PN}-${MY_PV_THUNAR}.tar.xz )
|
||||
"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="kde nautilus nemo +nls thunar"
|
||||
REQUIRED_USE="nautilus? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
app-antivirus/clamav
|
||||
dev-perl/File-chdir
|
||||
dev-perl/Gtk3
|
||||
dev-perl/JSON
|
||||
dev-perl/LWP-Protocol-https
|
||||
dev-perl/LWP-UserAgent-Cached
|
||||
dev-perl/Locale-gettext
|
||||
dev-perl/Text-CSV
|
||||
dev-perl/glib-perl
|
||||
dev-perl/libwww-perl
|
||||
virtual/perl-Digest-MD5
|
||||
virtual/perl-Digest-SHA
|
||||
virtual/perl-Encode
|
||||
virtual/perl-MIME-Base64
|
||||
virtual/perl-Time-Piece
|
||||
nautilus? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/nautilus-python[${PYTHON_SINGLE_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="nls? ( sys-devel/gettext )"
|
||||
|
||||
DOCS=( "CHANGES" "credits.md" "DISCLAIMER.md" "README.md" )
|
||||
|
||||
pkg_setup() {
|
||||
use nautilus && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
unpack "${S}"/clamtk.1.gz
|
||||
|
||||
use kde && unpack "${S}"/../clamtk-kde-${MY_PV_KDE}/clamtk-kde.1.gz
|
||||
use nautilus && unpack "${S}"/../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.1.gz
|
||||
use nemo && unpack "${S}"/../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.1.gz
|
||||
use thunar && unpack "${S}"/../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.1.gz
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin clamtk
|
||||
|
||||
perl_set_version
|
||||
insinto "${VENDOR_LIB}"/ClamTk
|
||||
doins lib/*.pm
|
||||
|
||||
use nls && domo po/*.mo
|
||||
|
||||
doicon images/clamtk.png images/clamtk.xpm
|
||||
|
||||
domenu clamtk.desktop
|
||||
|
||||
doman ../clamtk.1
|
||||
|
||||
if use kde; then
|
||||
insinto /usr/share/kservices5/ServiceMenus
|
||||
doins ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.desktop
|
||||
|
||||
doicon ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.png ../clamtk-kde-${MY_PV_KDE}/clamtk-kde.xpm
|
||||
|
||||
doman ../clamtk-kde.1
|
||||
|
||||
docinto dolphin
|
||||
dodoc ../clamtk-kde-${MY_PV_KDE}/CHANGES ../clamtk-kde-${MY_PV_KDE}/README.md
|
||||
fi
|
||||
|
||||
if use nautilus; then
|
||||
insinto /usr/share/nautilus-python/extensions
|
||||
doins ../clamtk-gnome-${MY_PV_NAUTILUS}/clamtk-gnome.py
|
||||
|
||||
doicon ../clamtk-gnome-${MY_PV_NAUTILUS}/images/clamtk-gnome.png
|
||||
|
||||
doman ../clamtk-gnome.1
|
||||
|
||||
docinto nautilus
|
||||
dodoc ../clamtk-gnome-${MY_PV_NAUTILUS}/CHANGES ../clamtk-gnome-${MY_PV_NAUTILUS}/DISCLAIMER ../clamtk-gnome-${MY_PV_NAUTILUS}/README.md
|
||||
fi
|
||||
|
||||
if use nemo; then
|
||||
insinto /usr/share/nemo/actions/
|
||||
doins ../nemo-sendto-clamtk-${MY_PV_NEMO}/nemo-sendto-clamtk.nemo_action
|
||||
|
||||
doman ../nemo-sendto-clamtk.1
|
||||
|
||||
docinto nemo
|
||||
dodoc ../nemo-sendto-clamtk-${MY_PV_NEMO}/CHANGES ../nemo-sendto-clamtk-${MY_PV_NEMO}/DISCLAIMER ../nemo-sendto-clamtk-${MY_PV_NEMO}/README.md
|
||||
fi
|
||||
|
||||
if use thunar; then
|
||||
insinto /usr/share/Thunar/sendto
|
||||
doins ../thunar-sendto-clamtk-${MY_PV_THUNAR}/thunar-sendto-clamtk.desktop
|
||||
|
||||
doman ../thunar-sendto-clamtk.1
|
||||
|
||||
docinto thunar
|
||||
dodoc ../thunar-sendto-clamtk-${MY_PV_THUNAR}/CHANGES ../thunar-sendto-clamtk-${MY_PV_THUNAR}/DISCLAIMER ../thunar-sendto-clamtk-${MY_PV_THUNAR}/README.md
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,106 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_OPTIONAL="1"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..12} pypy3 )
|
||||
|
||||
inherit cmake-multilib distutils-r1 flag-o-matic
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/google/${PN}.git"
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
SRC_URI="
|
||||
https://github.com/google/${PN}/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz
|
||||
test? (
|
||||
https://dev.gentoo.org/~mgorny/dist/${P}.testdata.tar.xz
|
||||
)
|
||||
"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Generic-purpose lossless compression algorithm"
|
||||
HOMEPAGE="https://github.com/google/brotli/"
|
||||
|
||||
LICENSE="MIT python? ( Apache-2.0 )"
|
||||
SLOT="0/$(ver_cut 1)"
|
||||
IUSE="python static-libs test"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
python? (
|
||||
${DISTUTILS_DEPS}
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/unittest-or-fail[${PYTHON_USEDEP}]
|
||||
' 3.{9..11})
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( README.md CONTRIBUTING.md )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PV}-linker.patch" )
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
use python && distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_TESTING="$(usex test)"
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-lfs-flags
|
||||
|
||||
cmake-multilib_src_configure
|
||||
use python && distutils-r1_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-multilib_src_compile
|
||||
use python && distutils-r1_src_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
eunittest -s python -p "*_test.py"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cmake-multilib_src_test
|
||||
use python && distutils-r1_src_test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
cmake_src_install
|
||||
if ! use static-libs; then
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
use python && distutils-r1_src_install
|
||||
|
||||
doman docs/brotli.1
|
||||
|
||||
local page
|
||||
for page in constants decode encode types ; do
|
||||
newman docs/${page}.h.3 ${PN}_${page}.h.3
|
||||
done
|
||||
}
|
Binary file not shown.
@ -1,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."
|
||||
}
|
Binary file not shown.
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="A Cross-Platform Benchmark for Android, iOS, Linux, MacOS and Windows"
|
||||
HOMEPAGE="https://www.geekbench.com/"
|
||||
SRC_URI="
|
||||
amd64? ( https://cdn.geekbench.com/Geekbench-${PV}-Linux.tar.gz )
|
||||
arm64? ( https://cdn.geekbench.com/Geekbench-${PV}-LinuxARMPreview.tar.gz )
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
KEYWORDS="-* amd64 ~arm64"
|
||||
LICENSE="geekbench"
|
||||
SLOT="6"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/geekbench6/geekbench_aarch64
|
||||
opt/geekbench6/geekbench_avx2
|
||||
opt/geekbench6/geekbench_x86_64
|
||||
opt/geekbench6/geekbench6
|
||||
"
|
||||
|
||||
pkg_nofetch() {
|
||||
elog "Please download ${A} from ${HOMEPAGE}/download/linux"
|
||||
elog "and place it in your DISTDIR directory."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MY_S="Geekbench-${PV}-Linux$(usex arm64 'ARMPreview' '')"
|
||||
|
||||
exeinto /opt/geekbench6
|
||||
use amd64 && doexe "${MY_S}"/geekbench_avx2 "${MY_S}"/geekbench_x86_64
|
||||
use arm64 && doexe "${MY_S}"/geekbench_aarch64
|
||||
doexe "${MY_S}"/geekbench6
|
||||
|
||||
insinto /opt/geekbench6
|
||||
doins "${MY_S}"/geekbench.plar "${MY_S}"/geekbench-workload.plar
|
||||
|
||||
dodir /opt/bin
|
||||
dosym ../geekbench6/geekbench6 /opt/bin/geekbench6
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you have purchased a commercial license, you can enter"
|
||||
elog "your email address and your license key with the following command:"
|
||||
elog "geekbench6 -r <email address> <license key>"
|
||||
}
|
@ -1 +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,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,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,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
|
||||
|
Binary file not shown.
Binary file not shown.
@ -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,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
|
||||
|
@ -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"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,97 @@
|
||||
From 4927c28a30fe469b512b49346f321661ca865769 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <4927c28a30fe469b512b49346f321661ca865769.1689058931.git.mprivozn@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Tue, 15 Mar 2022 05:23:29 +0100
|
||||
Subject: [PATCH] libvirt-9.5.0-fix-paths-for-apparmor.patch
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
---
|
||||
src/security/apparmor/libvirt-qemu.in | 1 +
|
||||
src/security/apparmor/meson.build | 6 +++---
|
||||
src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local | 1 -
|
||||
...t-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} | 6 +++---
|
||||
.../apparmor/usr.libexec.libvirt.virt-aa-helper.local | 1 +
|
||||
5 files changed, 8 insertions(+), 7 deletions(-)
|
||||
delete mode 100644 src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} (92%)
|
||||
create mode 100644 src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
|
||||
diff --git a/src/security/apparmor/libvirt-qemu.in b/src/security/apparmor/libvirt-qemu.in
|
||||
index 53f45c3a28..7882e811fc 100644
|
||||
--- a/src/security/apparmor/libvirt-qemu.in
|
||||
+++ b/src/security/apparmor/libvirt-qemu.in
|
||||
@@ -96,6 +96,7 @@
|
||||
/usr/share/sgabios/** r,
|
||||
/usr/share/slof/** r,
|
||||
/usr/share/vgabios/** r,
|
||||
+ /usr/share/seavgabios/** r,
|
||||
|
||||
# pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140)
|
||||
/etc/pki/CA/ r,
|
||||
diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
|
||||
index b9257c816d..c1b79fef27 100644
|
||||
--- a/src/security/apparmor/meson.build
|
||||
+++ b/src/security/apparmor/meson.build
|
||||
@@ -1,5 +1,5 @@
|
||||
apparmor_gen_profiles = [
|
||||
- 'usr.lib.libvirt.virt-aa-helper',
|
||||
+ 'usr.libexec.libvirt.virt-aa-helper',
|
||||
'usr.sbin.libvirtd',
|
||||
'usr.sbin.virtqemud',
|
||||
'usr.sbin.virtxend',
|
||||
@@ -82,8 +82,8 @@ if not conf.has('WITH_APPARMOR_3')
|
||||
# AppArmor 3.x, upstream's preference is to avoid creating these
|
||||
# files in order to limit the amount of filesystem clutter.
|
||||
install_data(
|
||||
- 'usr.lib.libvirt.virt-aa-helper.local',
|
||||
+ 'usr.libexec.libvirt.virt-aa-helper.local',
|
||||
install_dir: apparmor_dir / 'local',
|
||||
- rename: 'usr.lib.libvirt.virt-aa-helper',
|
||||
+ rename: 'usr.libexec.libvirt.virt-aa-helper',
|
||||
)
|
||||
endif
|
||||
diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
deleted file mode 100644
|
||||
index c0990e51d0..0000000000
|
||||
--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-# Site-specific additions and overrides for 'usr.lib.libvirt.virt-aa-helper'
|
||||
diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
similarity index 92%
|
||||
rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
index 26ee20a17d..38fd3bfb88 100644
|
||||
--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in
|
||||
@@ -41,7 +41,7 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
|
||||
deny /dev/mapper/* r,
|
||||
|
||||
@libexecdir@/virt-aa-helper mr,
|
||||
- /{usr/,}sbin/apparmor_parser Ux,
|
||||
+ /{usr/,}{s,}bin/apparmor_parser Ux,
|
||||
|
||||
@sysconfdir@/apparmor.d/libvirt/* r,
|
||||
@sysconfdir@/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw,
|
||||
@@ -72,9 +72,9 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper {
|
||||
/**/disk{,.*} r,
|
||||
|
||||
@BEGIN_APPARMOR_3@
|
||||
- include if exists <local/usr.lib.libvirt.virt-aa-helper>
|
||||
+ include if exists <local/usr.libexec.libvirt.virt-aa-helper>
|
||||
@END_APPARMOR_3@
|
||||
@BEGIN_APPARMOR_2@
|
||||
- #include <local/usr.lib.libvirt.virt-aa-helper>
|
||||
+ #include <local/usr.libexec.libvirt.virt-aa-helper>
|
||||
@END_APPARMOR_2@
|
||||
}
|
||||
diff --git a/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
new file mode 100644
|
||||
index 0000000000..974653d797
|
||||
--- /dev/null
|
||||
+++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local
|
||||
@@ -0,0 +1 @@
|
||||
+# Site-specific additions and overrides for 'usr.libexec.libvirt.virt-aa-helper'
|
||||
--
|
||||
2.41.0
|
||||
|
@ -0,0 +1,363 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Packages which get releases together:
|
||||
# app-emacs/nxml-libvirt-schemas
|
||||
# dev-python/libvirt-python
|
||||
# dev-perl/Sys-Virt
|
||||
# app-emulation/libvirt
|
||||
# Please bump them together!
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libvirt.org.asc
|
||||
inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux test +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
net-libs/rpcsvc-proto
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent.
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.56.0
|
||||
dev-libs/libgcrypt
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.9.1
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-3.2.0:=
|
||||
net-libs/libtirpc:=
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
>=sys-libs/readline-7.0:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( >=sys-block/open-iscsi-1.18.0 )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( >=net-libs/libssh-0.8.1:= )
|
||||
libssh2? ( >=net-libs/libssh2-1.3 )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[lvm]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.8.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-4.2
|
||||
app-crypt/swtpm
|
||||
>=dev-libs/yajl-2.0.3:=
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( >=dev-libs/cyrus-sasl-2.1.26 )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6(+),script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6(+)]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev:=
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )
|
||||
kernel_linux? ( sys-apps/util-linux )"
|
||||
DEPEND="
|
||||
${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
# The 'circular' dependency on dev-python/libvirt-python is because of
|
||||
# virt-qemu-qmp-proxy.
|
||||
PDEPEND="
|
||||
qemu? ( dev-python/libvirt-python )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-9.4.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-9.4.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
|
||||
# This was renamed in kernel commit v5.2-rc1~133^2~174^2~6
|
||||
if use virt-network ; then
|
||||
if kernel_is -lt 5 2 ; then
|
||||
CONFIG_CHECK+="
|
||||
~IP_NF_TARGET_MASQUERADE"
|
||||
else
|
||||
CONFIG_CHECK+="
|
||||
~NETFILTER_XT_TARGET_MASQUERADE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature libssh2)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature test tests)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
-Dopenwsman=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Dinitconfdir="${EPREFIX}/etc/systemd"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,972 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=ajak
|
||||
QEMU_DOCS_VERSION="7.2.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{9,10,11} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.0"
|
||||
|
||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||
pax-utils xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
QEMU_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
||||
EGIT_SUBMODULES=(
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_rc/-rc}"
|
||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
||||
|
||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
rx
|
||||
tricore
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( seccomp ) "
|
||||
done
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
dev-libs/glib:2[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
sys-libs/libcap-ng[static-libs(+)]
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bpf? ( dev-libs/libbpf:= )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
capstone? ( dev-libs/capstone:=[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
multipath? ( sys-fs/multipath-tools )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
sys-libs/ncurses:=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl(+),gbm(+)]
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202202"
|
||||
SEABIOS_VERSION="1.16.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
)
|
||||
sys-firmware/ipxe[qemu]
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
dev-util/meson
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
)
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? (
|
||||
sec-policy/selinux-qemu
|
||||
sys-libs/libselinux
|
||||
)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/hppa-firmware.img
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32
|
||||
"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/configs/targets/ >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
default
|
||||
|
||||
# Use correct toolchain to fix cross-compiling
|
||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
||||
export WINDRES=${CHOST}-windres
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson roms/*/ || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}" || die
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser fuse)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_malloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
@ -0,0 +1,970 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1}
|
||||
QEMU_DOCS_PREBUILT_DEV=sam
|
||||
QEMU_DOCS_VERSION="8.0.0"
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# bug #830088
|
||||
QEMU_DOC_USEFLAG="+doc"
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="7.2.0"
|
||||
|
||||
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||
pax-utils xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
QEMU_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
|
||||
EGIT_SUBMODULES=(
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_rc/-rc}"
|
||||
SRC_URI="https://download.qemu.org/${MY_P}.tar.xz"
|
||||
|
||||
if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
[[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc"
|
||||
|
||||
IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG}
|
||||
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg
|
||||
lzo multipath
|
||||
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen
|
||||
zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
loongarch64
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
rx
|
||||
tricore
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
qemu_softmmu_targets_x86_64? ( fdt )
|
||||
sdl-image? ( sdl )
|
||||
static-user? ( !plugins )
|
||||
virgl? ( opengl )
|
||||
virtfs? ( xattr )
|
||||
vnc? ( gnutls )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static-user )
|
||||
"
|
||||
for smname in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )"
|
||||
done
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
dev-libs/glib:2[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )
|
||||
"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bpf? ( dev-libs/libbpf:= )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
capstone? ( dev-libs/capstone:=[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] )
|
||||
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? ( sys-cluster/rdma-core[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] )
|
||||
kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
multipath? ( sys-fs/multipath-tools )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
sys-libs/ncurses:=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl(+),gbm(+)]
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.14.0
|
||||
>=app-emulation/spice-0.14.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev:= )
|
||||
usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
EDK2_OVMF_VERSION="202202"
|
||||
SEABIOS_VERSION="1.16.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||
>=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION}
|
||||
)
|
||||
sys-firmware/ipxe[qemu]
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
sys-firmware/sgabios
|
||||
)
|
||||
"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
|| (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
>=sys-firmware/seabios-bin-${SEABIOS_VERSION}
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
dev-util/meson
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
|
||||
)
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static-user? ( ${ALL_DEPEND} )
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? (
|
||||
sec-policy/selinux-qemu
|
||||
sys-libs/libselinux
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-8.0.0-make.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
|
||||
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
|
||||
"${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch
|
||||
"${FILESDIR}"/${PN}-8.0.0-remove-python-meson-check.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/hppa-firmware.img
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="
|
||||
usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32
|
||||
"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/configs/targets/ >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
default
|
||||
|
||||
# Use correct toolchain to fix cross-compiling
|
||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
||||
export WINDRES=${CHOST}-windres
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
|
||||
# this setting (-U then -D..=2) will prevent us from trying out 3, so
|
||||
# drop it. No change to level of protection b/c we patch our toolchain.
|
||||
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
|
||||
|
||||
# Remove bundled modules
|
||||
rm -r dtc meson roms/*/ || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}" || die
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--with-git-submodules=ignore
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
|
||||
$(use_enable alsa)
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable jack)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable oss)
|
||||
$(use_enable plugins)
|
||||
$(use_enable pulseaudio pa)
|
||||
$(use_enable selinux)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Special case for the malloc flag, because the --disable flag does
|
||||
# not exist and trying like above will break configuring.
|
||||
conf_malloc() {
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
usex "${1}" "--enable-malloc=${1}" ""
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_softmmu bpf)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser curl)
|
||||
$(conf_tools doc docs)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser fuse)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_malloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser pam auth-pam)
|
||||
$(conf_notuser png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(IFS=,; echo "${audio_opts[*]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-tools
|
||||
--disable-cap-ng
|
||||
--disable-seccomp
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
--enable-cap-ng
|
||||
--enable-seccomp
|
||||
)
|
||||
local static_flag="none"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--enable-tools
|
||||
--enable-cap-ng
|
||||
)
|
||||
local static_flag="none"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backends="dtrace" )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if [[ ${static_flag} != "none" ]] && use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build" || die
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build" || die
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8]
|
||||
fi
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null || die
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null || die
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}" || die
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
ewarn " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
|
||||
if has_version 'sys-firmware/edk2-ovmf-bin'; then
|
||||
echo " $(best_version sys-firmware/edk2-ovmf-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
fi
|
||||
|
||||
if has_version 'sys-firmware/seabios-bin'; then
|
||||
echo " $(best_version sys-firmware/seabios-bin)"
|
||||
else
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
fi
|
||||
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
Binary file not shown.
@ -1 +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
|
||||
}
|
@ -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
|
||||
}
|
Binary file not shown.
@ -0,0 +1,655 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
PYTHON_REQ_USE="threads(+),xml(+)"
|
||||
|
||||
MY_PV="${PV/_alpha/.alpha}"
|
||||
MY_PV="${MY_PV/_beta/.beta}"
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${MY_PV:0:5}/
|
||||
https://downloadarchive.documentfoundation.org/libreoffice/old/${MY_PV}/src
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${MY_PV} == *9999* ]] && inherit git-r3
|
||||
inherit autotools bash-completion-r1 check-reqs flag-o-matic java-pkg-opt-2 multiprocessing python-single-r1 qmake-utils toolchain-funcs xdg-utils
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PN}-7.5.2.2-loong-buildsys-fix.patch.xz"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs; Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${MY_PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${PN}-${MY_PV}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${MY_PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
# not packaged in Gentoo
|
||||
"${ADDONS_URI}/dragonbox-1.1.3.tar.gz"
|
||||
# not packaged in Gentoo, https://www.netlib.org/fp/dtoa.c
|
||||
"${ADDONS_URI}/dtoa-20180411.tgz"
|
||||
# not packaged in Gentoo, https://skia.org/
|
||||
"${ADDONS_URI}/skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz"
|
||||
"base? (
|
||||
${ADDONS_URI}/commons-logging-1.2-src.tar.gz
|
||||
${ADDONS_URI}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
|
||||
${ADDONS_URI}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
|
||||
${ADDONS_URI}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
|
||||
${ADDONS_URI}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
|
||||
${ADDONS_URI}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
|
||||
${ADDONS_URI}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
|
||||
${ADDONS_URI}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
|
||||
${ADDONS_URI}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
|
||||
${ADDONS_URI}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
|
||||
${ADDONS_URI}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
|
||||
${ADDONS_URI}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
|
||||
)"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="accessibility base bluetooth +branding clang coinmp +cups custom-cflags +dbus debug eds firebird
|
||||
googledrive gstreamer +gtk kde ldap +mariadb odk pdfimport postgres test valgrind vulkan
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
base? ( firebird java )
|
||||
bluetooth? ( dbus )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
|
||||
#[[ ${MY_PV} == *9999* ]] || \
|
||||
#KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme:=[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
app-text/libepubgen
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.21
|
||||
>=app-text/libnumbertext-1.0.6
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libqxp
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
dev-cpp/abseil-cpp:=
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.5.2-r2
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=[nls]
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
>=dev-libs/liborcus-0.17.2:0/0.17
|
||||
dev-libs/librevenge
|
||||
dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.35:=[nss]
|
||||
>=games-engines/box2d-2.4.1:0
|
||||
media-gfx/fontforge
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
>=media-libs/freetype-2.11.0-r1:2
|
||||
>=media-libs/harfbuzz-5.1.0:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libjpeg-turbo:=
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libwebp:=
|
||||
media-libs/libzmf
|
||||
media-libs/openjpeg:=
|
||||
media-libs/tiff:=
|
||||
media-libs/zxing-cpp:=
|
||||
net-misc/curl
|
||||
sci-mathematics/lpsolve:=
|
||||
sys-libs/zlib
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
accessibility? (
|
||||
$(python_gen_cond_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
|
||||
)
|
||||
bluetooth? (
|
||||
dev-libs/glib:2
|
||||
net-wireless/bluez
|
||||
)
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( sys-apps/dbus )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1[server] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
app-accessibility/at-spi2-core:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
media-libs/mesa[egl(+)]
|
||||
x11-libs/gtk+:3[X]
|
||||
x11-libs/pango
|
||||
)
|
||||
kde? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
kde-frameworks/kconfig:5
|
||||
kde-frameworks/kcoreaddons:5
|
||||
kde-frameworks/ki18n:5
|
||||
kde-frameworks/kio:5
|
||||
kde-frameworks/kwindowsystem:5
|
||||
)
|
||||
ldap? ( net-nds/openldap:= )
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( >=dev-java/rhino-1.7.14:1.6 )
|
||||
mariadb? ( dev-db/mariadb-connector-c:= )
|
||||
!mariadb? ( dev-db/mysql-connector-c:= )
|
||||
pdfimport? ( >=app-text/poppler-22.06:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
# tests apparently also need google-carlito-fonts (not packaged)
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3.1
|
||||
dev-util/mdds:1/2.0
|
||||
media-libs/glm
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
java? (
|
||||
dev-java/ant-core
|
||||
>=virtual/jdk-11
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
)
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-group/libreoffice
|
||||
acct-user/libreoffice
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
media-fonts/liberation-fonts
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-11 )
|
||||
kde? ( kde-frameworks/breeze-icons:* )
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
sys-apps/which
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
clang? (
|
||||
|| (
|
||||
( sys-devel/clang:16
|
||||
sys-devel/llvm:16
|
||||
=sys-devel/lld-16* )
|
||||
( sys-devel/clang:15
|
||||
sys-devel/llvm:15
|
||||
=sys-devel/lld-15* )
|
||||
( sys-devel/clang:14
|
||||
sys-devel/llvm:14
|
||||
=sys-devel/lld-14* )
|
||||
)
|
||||
)
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
"
|
||||
if [[ ${MY_PV} != *9999* ]] && [[ ${PV} != *_* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(ver_cut 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
RDEPEND+=" !app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
# "${WORKDIR}"/${PATCHSET/.tar.xz/}
|
||||
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
"${FILESDIR}/${PN}-6.1-nomancompress.patch"
|
||||
"${FILESDIR}/${PN}-7.2.0.4-qt5detect.patch"
|
||||
|
||||
# git master
|
||||
"${WORKDIR}/${PN}-7.5.2.2-loong-buildsys-fix.patch"
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
_check_reqs() {
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_$1
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
use base ||
|
||||
ewarn "If you plan to use Base application you must enable USE base."
|
||||
use java ||
|
||||
ewarn "Without USE java, several wizards are not going to be available."
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_pretend
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && _check_reqs pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
|
||||
if [[ ${MY_PV} = *9999* ]]; then
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${MY_PV/.9999}
|
||||
[[ ${mypv} != ${MY_PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
LOCOREGIT_VERSION=${EGIT_VERSION}
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# sandbox violations on many systems, we don't need it. Bug #646406
|
||||
sed -i \
|
||||
-e "/KF5_CONFIG/s/kf5-config/no/" \
|
||||
configure.ac || die "Failed to disable kf5-config"
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "icon-themes/colibre/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# Show flags set at the beginning
|
||||
einfo "Preset CFLAGS: ${CFLAGS}"
|
||||
einfo "Preset LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
if use clang ; then
|
||||
# Force clang
|
||||
einfo "Enforcing the use of clang due to USE=clang ..."
|
||||
AR=llvm-ar
|
||||
CC=${CHOST}-clang
|
||||
CXX=${CHOST}-clang++
|
||||
NM=llvm-nm
|
||||
RANLIB=llvm-ranlib
|
||||
LDFLAGS+=" -fuse-ld=lld"
|
||||
|
||||
# Not implemented by Clang, bug #903889
|
||||
filter-flags -Wlto-type-mismatch -Werror=lto-type-mismatch
|
||||
else
|
||||
# Force gcc
|
||||
einfo "Enforcing the use of gcc due to USE=-clang ..."
|
||||
AR=gcc-ar
|
||||
CC=${CHOST}-gcc
|
||||
CXX=${CHOST}-g++
|
||||
NM=gcc-nm
|
||||
RANLIB=gcc-ranlib
|
||||
|
||||
# Apparently the Clang flags get used even for GCC builds sometimes.
|
||||
# bug #838115
|
||||
sed -i -e "s/-flto=thin/-flto/" solenv/gbuild/platform/com_GCC_defs.mk || die
|
||||
fi
|
||||
|
||||
if use custom-cflags ; then
|
||||
elog "USE=custom-cflags has been selected. You are on your own to make sure that"
|
||||
elog "the build succeeds. Good luck!"
|
||||
else
|
||||
strip-flags
|
||||
fi
|
||||
|
||||
export LO_CLANG_CC=${CC}
|
||||
export LO_CLANG_CXX=${CXX}
|
||||
|
||||
# Show flags set at the end
|
||||
einfo " Used CFLAGS: ${CFLAGS}"
|
||||
einfo " Used LDFLAGS: ${LDFLAGS}"
|
||||
|
||||
# Ensure we use correct toolchain
|
||||
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
use kde && export QT5DIR="$(qt5_get_bindir)/.."
|
||||
|
||||
local gentoo_buildid="Gentoo official package"
|
||||
if [[ -n ${LOCOREGIT_VERSION} ]]; then
|
||||
gentoo_buildid+=" (from git: ${LOCOREGIT_VERSION})"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-build-opensymbol
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-bundle-mariadb
|
||||
--disable-ccache
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gtk3-kde5
|
||||
--disable-online-update
|
||||
--disable-openssl
|
||||
--disable-pdfium
|
||||
--disable-qt6
|
||||
--with-extra-buildid="${gentoo_buildid}"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-abseil
|
||||
--with-system-openjpeg
|
||||
--with-tls=nss
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--with-help="html"
|
||||
--without-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-dragonbox
|
||||
--without-system-jfreereport
|
||||
--without-system-libfixmath
|
||||
--without-system-sane
|
||||
$(use_enable base report-builder)
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable cups)
|
||||
$(use_enable dbus)
|
||||
$(use_enable debug)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk gtk3)
|
||||
$(use_enable kde kf5)
|
||||
$(use_enable kde qt5)
|
||||
$(use_enable ldap)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable vulkan skia)
|
||||
$(use_with accessibility lxml)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with odk doxygen)
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
if use eds || use gtk; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home="${JAVA_HOME}"
|
||||
)
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 rhino.jar) )
|
||||
fi
|
||||
|
||||
is-flagq "-flto*" && myeconfargs+=( --enable-lto )
|
||||
|
||||
MARIADBCONFIG="$(type -p $(usex mariadb mariadb mysql)_config)" \
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake unitcheck
|
||||
emake slowcheck
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" distro-pack-install -o build -o check
|
||||
|
||||
# bug 593514
|
||||
if use gtk; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"/etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# bug 703474
|
||||
insinto /usr/include
|
||||
doins -r include/LibreOfficeKit
|
||||
|
||||
local lodir=/usr/$(get_libdir)/libreoffice
|
||||
# patching this would break tests
|
||||
cat <<-EOF > "${T}"/uno.py
|
||||
import sys, os
|
||||
sys.path.append('${EPREFIX}${lodir}/program')
|
||||
os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:${EPREFIX}${lodir}/program/fundamentalrc')
|
||||
EOF
|
||||
sed -e "/^import sys/d" -e "/^import os/d" \
|
||||
-i "${D}"${lodir}/program/uno.py || die "cleanup dupl imports failed"
|
||||
cat "${D}"${lodir}/program/uno.py >> "${T}"/uno.py || die
|
||||
cp "${T}"/uno.py "${D}"${lodir}/program/uno.py || die
|
||||
|
||||
# more system pyuno mess
|
||||
sed -e "/sOffice = \"\" # lets hope for the best/s:\"\":\"${EPREFIX}${lodir}/program\":" \
|
||||
-i "${D}"${lodir}/program/officehelper.py || die
|
||||
|
||||
python_optimize "${D}"${lodir}/program
|
||||
# link python bridge in site-packages, bug 667802
|
||||
local py pyc loprogdir=/usr/$(get_libdir)/libreoffice/program
|
||||
for py in uno.py unohelper.py officehelper.py; do
|
||||
dosym -r ${loprogdir}/${py} $(python_get_sitedir)/${py}
|
||||
while IFS="" read -d $'\0' -r pyc; do
|
||||
pyc=${pyc//*\/}
|
||||
dosym -r ${loprogdir}/__pycache__/${pyc} $(python_get_sitedir)/__pycache__/${pyc}
|
||||
done < <(find "${D}"${lodir}/program -type f -name ${py/.py/*.pyc} -print0)
|
||||
done
|
||||
|
||||
newinitd "${FILESDIR}/libreoffice.initd" libreoffice
|
||||
newconfd "${FILESDIR}/libreoffice.confd" libreoffice
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
}
|
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}"
|
@ -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
|
||||
}
|
@ -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…
Reference in new issue